All functions:
  Elements:
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Print
      Src: /src/cJSON/test.c:53,1
    - Dst: strlen
      Src: /src/cJSON/test.c:57,1
    - Dst: malloc
      Src: /src/cJSON/test.c:58,1
    - Dst: printf
      Src: /src/cJSON/test.c:61,1
    - Dst: exit
      Src: /src/cJSON/test.c:62,1
    - Dst: strlen
      Src: /src/cJSON/test.c:66,1
    - Dst: malloc
      Src: /src/cJSON/test.c:67,1
    - Dst: printf
      Src: /src/cJSON/test.c:70,1
    - Dst: exit
      Src: /src/cJSON/test.c:71,1
    - Dst: cJSON_PrintPreallocated
      Src: /src/cJSON/test.c:75,1
    - Dst: printf
      Src: /src/cJSON/test.c:76,1
    - Dst: strcmp
      Src: /src/cJSON/test.c:77,1
    - Dst: printf
      Src: /src/cJSON/test.c:78,1
    - Dst: printf
      Src: /src/cJSON/test.c:79,1
    - Dst: printf
      Src: /src/cJSON/test.c:80,1
    - Dst: free
      Src: /src/cJSON/test.c:82,1
    - Dst: free
      Src: /src/cJSON/test.c:83,1
    - Dst: free
      Src: /src/cJSON/test.c:84,1
    - Dst: printf
      Src: /src/cJSON/test.c:89,1
    - Dst: cJSON_PrintPreallocated
      Src: /src/cJSON/test.c:92,1
    - Dst: printf
      Src: /src/cJSON/test.c:93,1
    - Dst: printf
      Src: /src/cJSON/test.c:94,1
    - Dst: printf
      Src: /src/cJSON/test.c:95,1
    - Dst: free
      Src: /src/cJSON/test.c:96,1
    - Dst: free
      Src: /src/cJSON/test.c:97,1
    - Dst: free
      Src: /src/cJSON/test.c:98,1
    - Dst: free
      Src: /src/cJSON/test.c:102,1
    - Dst: free
      Src: /src/cJSON/test.c:103,1
    - Dst: free
      Src: /src/cJSON/test.c:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 1
    argNames:
    - root
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 106
    functionName: print_preallocated
    functionSourceFile: /src/cJSON/test.c
    functionUses: 0
    functionsReached:
    - cJSON_PrintPreallocated
    - cJSON_Print
    - malloc
    - exit
    - strlen
    - printf
    - strcmp
    - free
    linkageType: ''
    returnType: int
    signature: int print_preallocated(cJSON *root)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/test.c:168,1
    - Dst: cJSON_AddItemToObject
      Src: /src/cJSON/test.c:169,1
    - Dst: cJSON_CreateString
      Src: /src/cJSON/test.c:169,1
    - Dst: cJSON_AddItemToObject
      Src: /src/cJSON/test.c:170,1
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/test.c:170,1
    - Dst: cJSON_AddStringToObject
      Src: /src/cJSON/test.c:171,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/cJSON/test.c:172,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/cJSON/test.c:173,1
    - Dst: cJSON_AddFalseToObject
      Src: /src/cJSON/test.c:174,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/cJSON/test.c:175,1
    - Dst: print_preallocated
      Src: /src/cJSON/test.c:178,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/test.c:179,1
    - Dst: exit
      Src: /src/cJSON/test.c:180,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/test.c:182,1
    - Dst: cJSON_CreateStringArray
      Src: /src/cJSON/test.c:185,1
    - Dst: print_preallocated
      Src: /src/cJSON/test.c:187,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/test.c:188,1
    - Dst: exit
      Src: /src/cJSON/test.c:189,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/test.c:191,1
    - Dst: cJSON_CreateArray
      Src: /src/cJSON/test.c:194,1
    - Dst: cJSON_AddItemToArray
      Src: /src/cJSON/test.c:197,1
    - Dst: cJSON_CreateIntArray
      Src: /src/cJSON/test.c:197,1
    - Dst: print_preallocated
      Src: /src/cJSON/test.c:202,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/test.c:203,1
    - Dst: exit
      Src: /src/cJSON/test.c:204,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/test.c:206,1
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/test.c:209,1
    - Dst: cJSON_AddItemToObject
      Src: /src/cJSON/test.c:210,1
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/test.c:210,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/cJSON/test.c:211,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/cJSON/test.c:212,1
    - Dst: cJSON_AddStringToObject
      Src: /src/cJSON/test.c:213,1
    - Dst: cJSON_AddItemToObject
      Src: /src/cJSON/test.c:214,1
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/test.c:214,1
    - Dst: cJSON_AddStringToObject
      Src: /src/cJSON/test.c:215,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/cJSON/test.c:216,1
    - Dst: cJSON_AddStringToObject
      Src: /src/cJSON/test.c:217,1
    - Dst: cJSON_AddItemToObject
      Src: /src/cJSON/test.c:218,1
    - Dst: cJSON_CreateIntArray
      Src: /src/cJSON/test.c:218,1
    - Dst: print_preallocated
      Src: /src/cJSON/test.c:220,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/test.c:221,1
    - Dst: exit
      Src: /src/cJSON/test.c:222,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/test.c:224,1
    - Dst: cJSON_CreateArray
      Src: /src/cJSON/test.c:227,1
    - Dst: cJSON_AddItemToArray
      Src: /src/cJSON/test.c:230,1
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/test.c:230,1
    - Dst: cJSON_AddStringToObject
      Src: /src/cJSON/test.c:231,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/cJSON/test.c:232,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/cJSON/test.c:233,1
    - Dst: cJSON_AddStringToObject
      Src: /src/cJSON/test.c:234,1
    - Dst: cJSON_AddStringToObject
      Src: /src/cJSON/test.c:235,1
    - Dst: cJSON_AddStringToObject
      Src: /src/cJSON/test.c:236,1
    - Dst: cJSON_AddStringToObject
      Src: /src/cJSON/test.c:237,1
    - Dst: cJSON_AddStringToObject
      Src: /src/cJSON/test.c:238,1
    - Dst: print_preallocated
      Src: /src/cJSON/test.c:243,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/test.c:244,1
    - Dst: exit
      Src: /src/cJSON/test.c:245,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/test.c:247,1
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/test.c:249,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/cJSON/test.c:250,1
    - Dst: print_preallocated
      Src: /src/cJSON/test.c:252,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/test.c:253,1
    - Dst: exit
      Src: /src/cJSON/test.c:254,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/test.c:256,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 257
    functionName: create_objects
    functionSourceFile: /src/cJSON/test.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_AddNumberToObject
    - print_preallocated
    - cJSON_AddItemToArray
    - exit
    - cJSON_CreateString
    - cJSON_CreateArray
    - cJSON_CreateIntArray
    - cJSON_CreateStringArray
    - cJSON_AddFalseToObject
    - cJSON_AddItemToObject
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: void
    signature: void create_objects(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cJSON/test.c:262,1
    - Dst: cJSON_Version
      Src: /src/cJSON/test.c:262,1
    - Dst: create_objects
      Src: /src/cJSON/test.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 268
    functionName: CJSON_CDECL::main
    functionSourceFile: /src/cJSON/test.c
    functionUses: 0
    functionsReached:
    - printf
    - create_objects
    - cJSON_Version
    linkageType: ''
    returnType: int
    signature: int CJSON_CDECL main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: isinf
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isinf(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: isnan
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isnan(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: cJSON_GetErrorPtr
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_GetErrorPtr(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsString
      Src: /src/cJSON/cJSON.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: cJSON_GetStringValue
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_IsString
    linkageType: ''
    returnType: void
    signature: void cJSON_GetStringValue(const cJSON * const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsNumber
      Src: /src/cJSON/cJSON.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: cJSON_GetNumberValue
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_IsNumber
    linkageType: ''
    returnType: void
    signature: void cJSON_GetNumberValue(const cJSON * const item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/cJSON/cJSON.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: cJSON_Version
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 1
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: void
    signature: void cJSON_Version(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/cJSON/cJSON.c:145,1
    - Dst: tolower
      Src: /src/cJSON/cJSON.c:145,1
    - Dst: tolower
      Src: /src/cJSON/cJSON.c:153,1
    - Dst: tolower
      Src: /src/cJSON/cJSON.c:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - string1
    - string2
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 154
    functionName: case_insensitive_strcmp
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - tolower
    linkageType: ''
    returnType: int
    signature: int case_insensitive_strcmp(const unsigned char *string1, const unsigned
      char *string2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cJSON/cJSON.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: CJSON_CDECL::internal_malloc
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void * CJSON_CDECL internal_malloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cJSON/cJSON.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pointer
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: CJSON_CDECL::internal_free
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void CJSON_CDECL internal_free(void *pointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/cJSON/cJSON.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pointer
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: CJSON_CDECL::internal_realloc
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: void * CJSON_CDECL internal_realloc(void *pointer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - string_literal
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: static_strlen
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: static_strlen(string_literal)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cJSON/cJSON.c:198,1
    - Dst: internal_hooks*::allocate
      Src: /src/cJSON/cJSON.c:199,1
    - Dst: memcpy
      Src: /src/cJSON/cJSON.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - string
    - hooks
    argTypes:
    - unsigned char*
    - internal_hooks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 207
    functionName: cJSON_strdup
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    - internal_hooks*::allocate
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * cJSON_strdup(const unsigned char* string, const internal_hooks
      * const hooks)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - hooks
    argTypes:
    - cJSON_Hooks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 238
    functionName: cJSON_InitHooks
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_InitHooks(cJSON_Hooks* hooks)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: internal_hooks*::allocate
      Src: /src/cJSON/cJSON.c:243,1
    - Dst: memset
      Src: /src/cJSON/cJSON.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hooks
    argTypes:
    - internal_hooks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 250
    functionName: cJSON_New_Item
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - internal_hooks*::allocate
    - memset
    linkageType: ''
    returnType: cJSON
    signature: cJSON *cJSON_New_Item(const internal_hooks * const hooks)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON.c:261,1
    - Dst: deallocate
      Src: /src/cJSON/cJSON.c:265,1
    - Dst: deallocate
      Src: /src/cJSON/cJSON.c:269,1
    - Dst: deallocate
      Src: /src/cJSON/cJSON.c:271,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 274
    functionName: cJSON_Delete
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 2
    functionsReached:
    - deallocate
    - cJSON_Delete
    linkageType: ''
    returnType: void
    signature: void cJSON_Delete(cJSON *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: localeconv
      Src: /src/cJSON/cJSON.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 285
    functionName: get_decimal_point
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - localeconv
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char get_decimal_point(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buffer
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 298
    functionName: can_read
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: can_read(buffer, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buffer
    - ','
    - index
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 300
    functionName: can_access_at_index
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: can_access_at_index(buffer, index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buffer
    - ','
    - index
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: cannot_access_at_index
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cannot_access_at_index(buffer, index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buffer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 303
    functionName: buffer_at_offset
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: buffer_at_offset(buffer)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: get_decimal_point
      Src: /src/cJSON/cJSON.c:310,1
    - Dst: can_access_at_index
      Src: /src/cJSON/cJSON.c:321,1
    - Dst: buffer_at_offset
      Src: /src/cJSON/cJSON.c:323,1
    - Dst: buffer_at_offset
      Src: /src/cJSON/cJSON.c:339,1
    - Dst: strtod
      Src: /src/cJSON/cJSON.c:353,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 2
    argNames:
    - item
    - input_buffer
    argTypes:
    - cJSON*
    - parse_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 379
    functionName: parse_number
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - can_access_at_index
    - strtod
    - buffer_at_offset
    - get_decimal_point
    linkageType: ''
    returnType: cJSON_bool
    signature: cJSON_bool parse_number(cJSON * const item, parse_buffer * const input_buffer)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - object
    - number
    argTypes:
    - cJSON*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 398
    functionName: cJSON_SetNumberHelper
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_SetNumberHelper(cJSON *object, double number)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cJSON/cJSON.c:413,1
    - Dst: strlen
      Src: /src/cJSON/cJSON.c:413,1
    - Dst: strcpy
      Src: /src/cJSON/cJSON.c:415,1
    - Dst: cJSON_strdup
      Src: /src/cJSON/cJSON.c:418,1
    - Dst: cJSON_free
      Src: /src/cJSON/cJSON.c:425,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - object
    - valuestring
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 430
    functionName: cJSON_SetValuestring
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_strdup
    - strlen
    - cJSON_free
    - strcpy
    linkageType: ''
    returnType: void
    signature: void cJSON_SetValuestring(cJSON *object, const char *valuestring)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: printbuffer*::hooks::reallocate
      Src: /src/cJSON/cJSON.c:497,1
    - Dst: printbuffer*::hooks::deallocate
      Src: /src/cJSON/cJSON.c:500,1
    - Dst: printbuffer*::hooks::allocate
      Src: /src/cJSON/cJSON.c:510,1
    - Dst: printbuffer*::hooks::deallocate
      Src: /src/cJSON/cJSON.c:513,1
    - Dst: memcpy
      Src: /src/cJSON/cJSON.c:520,1
    - Dst: printbuffer*::hooks::deallocate
      Src: /src/cJSON/cJSON.c:521,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 2
    argNames:
    - p
    - needed
    argTypes:
    - printbuffer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 527
    functionName: ensure
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - printbuffer*::hooks::allocate
    - memcpy
    - printbuffer*::hooks::reallocate
    - printbuffer*::hooks::deallocate
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * ensure(printbuffer * const p, size_t needed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cJSON/cJSON.c:539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - printbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 540
    functionName: update_offset
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void update_offset(printbuffer * const buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/cJSON/cJSON.c:545,1
    - Dst: fabs
      Src: /src/cJSON/cJSON.c:545,1
    - Dst: fabs
      Src: /src/cJSON/cJSON.c:545,1
    - Dst: fabs
      Src: /src/cJSON/cJSON.c:545,1
    - Dst: fabs
      Src: /src/cJSON/cJSON.c:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 547
    functionName: compare_double
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - fabs
    linkageType: ''
    returnType: cJSON_bool
    signature: cJSON_bool compare_double(double a, double b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_decimal_point
      Src: /src/cJSON/cJSON.c:557,1
    - Dst: isnan
      Src: /src/cJSON/cJSON.c:566,1
    - Dst: isinf
      Src: /src/cJSON/cJSON.c:566,1
    - Dst: sprintf
      Src: /src/cJSON/cJSON.c:568,1
    - Dst: sprintf
      Src: /src/cJSON/cJSON.c:572,1
    - Dst: sprintf
      Src: /src/cJSON/cJSON.c:577,1
    - Dst: sscanf
      Src: /src/cJSON/cJSON.c:580,1
    - Dst: compare_double
      Src: /src/cJSON/cJSON.c:580,1
    - Dst: sprintf
      Src: /src/cJSON/cJSON.c:583,1
    - Dst: ensure
      Src: /src/cJSON/cJSON.c:594,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - item
    - output_buffer
    argTypes:
    - cJSON*
    - printbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 617
    functionName: print_number
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - compare_double
    - isnan
    - sprintf
    - ensure
    - sscanf
    - isinf
    - get_decimal_point
    linkageType: ''
    returnType: cJSON_bool
    signature: cJSON_bool print_number(const cJSON * const item, printbuffer * const
      output_buffer)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - input
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 653
    functionName: parse_hex4
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned parse_hex4(const unsigned char * const input)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: parse_hex4
      Src: /src/cJSON/cJSON.c:674,1
    - Dst: parse_hex4
      Src: /src/cJSON/cJSON.c:702,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 62
    argCount: 3
    argNames:
    - input_pointer
    - input_end
    - output_pointer
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 775
    functionName: utf16_literal_to_utf8
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - parse_hex4
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char utf16_literal_to_utf8(const unsigned char * const input_pointer,
      const unsigned char * const input_end, unsigned char **output_pointer)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: buffer_at_offset
      Src: /src/cJSON/cJSON.c:780,1
    - Dst: buffer_at_offset
      Src: /src/cJSON/cJSON.c:781,1
    - Dst: buffer_at_offset
      Src: /src/cJSON/cJSON.c:786,1
    - Dst: buffer_at_offset
      Src: /src/cJSON/cJSON.c:816,1
    - Dst: parse_buffer*::hooks::allocate
      Src: /src/cJSON/cJSON.c:817,1
    - Dst: memset
      Src: /src/cJSON/cJSON.c:825,1
    - Dst: utf16_literal_to_utf8
      Src: /src/cJSON/cJSON.c:870,1
    - Dst: parse_buffer*::hooks::deallocate
      Src: /src/cJSON/cJSON.c:899,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 87
    argCount: 2
    argNames:
    - item
    - input_buffer
    argTypes:
    - cJSON*
    - parse_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 778
    functionDepth: 2
    functionLinenumber: 778
    functionLinenumberEnd: 908
    functionName: parse_string
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - buffer_at_offset
    - utf16_literal_to_utf8
    - parse_buffer*::hooks::deallocate
    - memset
    - parse_buffer*::hooks::allocate
    linkageType: ''
    returnType: cJSON_bool
    signature: cJSON_bool parse_string(cJSON * const item, parse_buffer * const input_buffer)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/cJSON/cJSON.c:928,1
    - Dst: strcpy
      Src: /src/cJSON/cJSON.c:933,1
    - Dst: ensure
      Src: /src/cJSON/cJSON.c:964,1
    - Dst: memcpy
      Src: /src/cJSON/cJSON.c:974,1
    - Dst: sprintf
      Src: /src/cJSON/cJSON.c:1020,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 81
    argCount: 2
    argNames:
    - input
    - output_buffer
    argTypes:
    - unsigned char*
    - printbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 911
    functionDepth: 1
    functionLinenumber: 911
    functionLinenumberEnd: 1030
    functionName: print_string_ptr
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ensure
    - sprintf
    - strcpy
    linkageType: ''
    returnType: cJSON_bool
    signature: cJSON_bool print_string_ptr(const unsigned char * const input, printbuffer
      * const output_buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_string_ptr
      Src: /src/cJSON/cJSON.c:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - item
    - p
    argTypes:
    - cJSON*
    - printbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1033
    functionDepth: 2
    functionLinenumber: 1033
    functionLinenumberEnd: 1036
    functionName: print_string
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - print_string_ptr
    linkageType: ''
    returnType: cJSON_bool
    signature: cJSON_bool print_string(const cJSON * const item, printbuffer * const
      p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cannot_access_at_index
      Src: /src/cJSON/cJSON.c:1054,1
    - Dst: can_access_at_index
      Src: /src/cJSON/cJSON.c:1059,1
    - Dst: buffer_at_offset
      Src: /src/cJSON/cJSON.c:1059,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - parse_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1070
    functionName: buffer_skip_whitespace
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - can_access_at_index
    - cannot_access_at_index
    - buffer_at_offset
    linkageType: ''
    returnType: parse_buffer
    signature: parse_buffer *buffer_skip_whitespace(parse_buffer * const buffer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: can_access_at_index
      Src: /src/cJSON/cJSON.c:1080,1
    - Dst: strncmp
      Src: /src/cJSON/cJSON.c:1080,1
    - Dst: buffer_at_offset
      Src: /src/cJSON/cJSON.c:1080,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - parse_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1073
    functionDepth: 1
    functionLinenumber: 1073
    functionLinenumberEnd: 1086
    functionName: skip_utf8_bom
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - can_access_at_index
    - buffer_at_offset
    - strncmp
    linkageType: ''
    returnType: parse_buffer
    signature: parse_buffer *skip_utf8_bom(parse_buffer * const buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cJSON/cJSON.c:1098,1
    - Dst: cJSON_ParseWithLengthOpts
      Src: /src/cJSON/cJSON.c:1100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - value
    - return_parse_end
    - require_null_terminated
    argTypes:
    - char*
    - char**
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1101
    functionName: cJSON_ParseWithOpts
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - strlen
    - cJSON_ParseWithLengthOpts
    linkageType: ''
    returnType: void
    signature: void cJSON_ParseWithOpts(const char *value, const char **return_parse_end,
      cJSON_bool require_null_terminated)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_New_Item
      Src: /src/cJSON/cJSON.c:1123,1
    - Dst: parse_value
      Src: /src/cJSON/cJSON.c:1129,1
    - Dst: buffer_skip_whitespace
      Src: /src/cJSON/cJSON.c:1129,1
    - Dst: skip_utf8_bom
      Src: /src/cJSON/cJSON.c:1129,1
    - Dst: buffer_skip_whitespace
      Src: /src/cJSON/cJSON.c:1138,1
    - Dst: buffer_at_offset
      Src: /src/cJSON/cJSON.c:1139,1
    - Dst: buffer_at_offset
      Src: /src/cJSON/cJSON.c:1146,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON.c:1154,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 4
    argNames:
    - value
    - buffer_length
    - return_parse_end
    - require_null_terminated
    argTypes:
    - char*
    - size_t
    - char**
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1104
    functionDepth: 2
    functionLinenumber: 1104
    functionLinenumberEnd: 1181
    functionName: cJSON_ParseWithLengthOpts
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 1
    functionsReached:
    - cJSON_Delete
    - buffer_skip_whitespace
    - buffer_at_offset
    - parse_value
    - skip_utf8_bom
    - cJSON_New_Item
    linkageType: ''
    returnType: void
    signature: void cJSON_ParseWithLengthOpts(const char *value, size_t buffer_length,
      const char **return_parse_end, cJSON_bool require_null_terminated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_ParseWithOpts
      Src: /src/cJSON/cJSON.c:1186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1184
    functionDepth: 2
    functionLinenumber: 1184
    functionLinenumberEnd: 1187
    functionName: cJSON_Parse
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_ParseWithOpts
    linkageType: ''
    returnType: void
    signature: void cJSON_Parse(const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_ParseWithLengthOpts
      Src: /src/cJSON/cJSON.c:1191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - buffer_length
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1189
    functionDepth: 3
    functionLinenumber: 1189
    functionLinenumberEnd: 1192
    functionName: cJSON_ParseWithLength
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_ParseWithLengthOpts
    linkageType: ''
    returnType: void
    signature: void cJSON_ParseWithLength(const char *value, size_t buffer_length)
  - 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: 1195
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1195
    functionName: cjson_min
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cjson_min(a, b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cJSON/cJSON.c:1202,1
    - Dst: internal_hooks*::allocate
      Src: /src/cJSON/cJSON.c:1205,1
    - Dst: print_value
      Src: /src/cJSON/cJSON.c:1215,1
    - Dst: update_offset
      Src: /src/cJSON/cJSON.c:1219,1
    - Dst: internal_hooks*::reallocate
      Src: /src/cJSON/cJSON.c:1224,1
    - Dst: internal_hooks*::allocate
      Src: /src/cJSON/cJSON.c:1232,1
    - Dst: memcpy
      Src: /src/cJSON/cJSON.c:1237,1
    - Dst: cjson_min
      Src: /src/cJSON/cJSON.c:1237,1
    - Dst: internal_hooks*::deallocate
      Src: /src/cJSON/cJSON.c:1241,1
    - Dst: internal_hooks*::deallocate
      Src: /src/cJSON/cJSON.c:1249,1
    - Dst: internal_hooks*::deallocate
      Src: /src/cJSON/cJSON.c:1254,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 3
    argNames:
    - item
    - format
    - hooks
    argTypes:
    - cJSON*
    - cJSON_bool
    - internal_hooks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1196
    functionDepth: 1
    functionLinenumber: 1196
    functionLinenumberEnd: 1258
    functionName: print
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - print_value
    - internal_hooks*::reallocate
    - cjson_min
    - internal_hooks*::deallocate
    - memset
    - update_offset
    - memcpy
    - internal_hooks*::allocate
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *print(const cJSON * const item, cJSON_bool format, const
      internal_hooks * const hooks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print
      Src: /src/cJSON/cJSON.c:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1261
    functionDepth: 2
    functionLinenumber: 1261
    functionLinenumberEnd: 1264
    functionName: cJSON_Print
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 1
    functionsReached:
    - print
    linkageType: ''
    returnType: void
    signature: void cJSON_Print(const cJSON *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print
      Src: /src/cJSON/cJSON.c:1268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1266
    functionDepth: 2
    functionLinenumber: 1266
    functionLinenumberEnd: 1269
    functionName: cJSON_PrintUnformatted
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - print
    linkageType: ''
    returnType: void
    signature: void cJSON_PrintUnformatted(const cJSON *item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: allocate
      Src: /src/cJSON/cJSON.c:1280,1
    - Dst: print_value
      Src: /src/cJSON/cJSON.c:1292,1
    - Dst: deallocate
      Src: /src/cJSON/cJSON.c:1294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - item
    - prebuffer
    - fmt
    argTypes:
    - cJSON*
    - int
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1271
    functionDepth: 1
    functionLinenumber: 1271
    functionLinenumberEnd: 1299
    functionName: cJSON_PrintBuffered
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - deallocate
    - print_value
    - allocate
    linkageType: ''
    returnType: void
    signature: void cJSON_PrintBuffered(const cJSON *item, int prebuffer, cJSON_bool
      fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_value
      Src: /src/cJSON/cJSON.c:1317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - item
    - buffer
    - length
    - format
    argTypes:
    - cJSON*
    - char*
    - int
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1318
    functionName: cJSON_PrintPreallocated
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 1
    functionsReached:
    - print_value
    linkageType: ''
    returnType: void
    signature: void cJSON_PrintPreallocated(cJSON *item, char *buffer, const int length,
      const cJSON_bool format)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: can_read
      Src: /src/cJSON/cJSON.c:1330,1
    - Dst: strncmp
      Src: /src/cJSON/cJSON.c:1330,1
    - Dst: buffer_at_offset
      Src: /src/cJSON/cJSON.c:1330,1
    - Dst: can_read
      Src: /src/cJSON/cJSON.c:1337,1
    - Dst: strncmp
      Src: /src/cJSON/cJSON.c:1337,1
    - Dst: buffer_at_offset
      Src: /src/cJSON/cJSON.c:1337,1
    - Dst: can_read
      Src: /src/cJSON/cJSON.c:1344,1
    - Dst: strncmp
      Src: /src/cJSON/cJSON.c:1344,1
    - Dst: buffer_at_offset
      Src: /src/cJSON/cJSON.c:1344,1
    - Dst: can_access_at_index
      Src: /src/cJSON/cJSON.c:1352,1
    - Dst: buffer_at_offset
      Src: /src/cJSON/cJSON.c:1352,1
    - Dst: parse_string
      Src: /src/cJSON/cJSON.c:1354,1
    - Dst: can_access_at_index
      Src: /src/cJSON/cJSON.c:1357,1
    - Dst: buffer_at_offset
      Src: /src/cJSON/cJSON.c:1357,1
    - Dst: buffer_at_offset
      Src: /src/cJSON/cJSON.c:1357,1
    - Dst: buffer_at_offset
      Src: /src/cJSON/cJSON.c:1357,1
    - Dst: parse_number
      Src: /src/cJSON/cJSON.c:1359,1
    - Dst: can_access_at_index
      Src: /src/cJSON/cJSON.c:1362,1
    - Dst: buffer_at_offset
      Src: /src/cJSON/cJSON.c:1362,1
    - Dst: parse_array
      Src: /src/cJSON/cJSON.c:1364,1
    - Dst: can_access_at_index
      Src: /src/cJSON/cJSON.c:1367,1
    - Dst: buffer_at_offset
      Src: /src/cJSON/cJSON.c:1367,1
    - Dst: parse_object
      Src: /src/cJSON/cJSON.c:1369,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 2
    argNames:
    - item
    - input_buffer
    argTypes:
    - cJSON*
    - parse_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1321
    functionDepth: 3
    functionLinenumber: 1321
    functionLinenumberEnd: 1373
    functionName: parse_value
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 1
    functionsReached:
    - strncmp
    - parse_number
    - buffer_at_offset
    - can_access_at_index
    - parse_array
    - parse_string
    - can_read
    - parse_object
    linkageType: ''
    returnType: cJSON_bool
    signature: cJSON_bool parse_value(cJSON * const item, parse_buffer * const input_buffer)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/cJSON/cJSON.c:1388,1
    - Dst: strcpy
      Src: /src/cJSON/cJSON.c:1393,1
    - Dst: ensure
      Src: /src/cJSON/cJSON.c:1397,1
    - Dst: strcpy
      Src: /src/cJSON/cJSON.c:1402,1
    - Dst: ensure
      Src: /src/cJSON/cJSON.c:1406,1
    - Dst: strcpy
      Src: /src/cJSON/cJSON.c:1411,1
    - Dst: print_number
      Src: /src/cJSON/cJSON.c:1415,1
    - Dst: strlen
      Src: /src/cJSON/cJSON.c:1425,1
    - Dst: ensure
      Src: /src/cJSON/cJSON.c:1426,1
    - Dst: memcpy
      Src: /src/cJSON/cJSON.c:1431,1
    - Dst: print_string
      Src: /src/cJSON/cJSON.c:1436,1
    - Dst: print_array
      Src: /src/cJSON/cJSON.c:1439,1
    - Dst: print_object
      Src: /src/cJSON/cJSON.c:1442,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 49
    argCount: 2
    argNames:
    - item
    - output_buffer
    argTypes:
    - cJSON*
    - printbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1376
    functionDepth: 3
    functionLinenumber: 1376
    functionLinenumberEnd: 1447
    functionName: print_value
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 3
    functionsReached:
    - print_string
    - print_number
    - strcpy
    - print_object
    - strlen
    - print_array
    - memcpy
    - ensure
    linkageType: ''
    returnType: cJSON_bool
    signature: cJSON_bool print_value(const cJSON * const item, printbuffer * const
      output_buffer)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: buffer_at_offset
      Src: /src/cJSON/cJSON.c:1461,1
    - Dst: buffer_skip_whitespace
      Src: /src/cJSON/cJSON.c:1468,1
    - Dst: can_access_at_index
      Src: /src/cJSON/cJSON.c:1469,1
    - Dst: buffer_at_offset
      Src: /src/cJSON/cJSON.c:1469,1
    - Dst: cannot_access_at_index
      Src: /src/cJSON/cJSON.c:1476,1
    - Dst: cJSON_New_Item
      Src: /src/cJSON/cJSON.c:1488,1
    - Dst: buffer_skip_whitespace
      Src: /src/cJSON/cJSON.c:1510,1
    - Dst: parse_value
      Src: /src/cJSON/cJSON.c:1511,1
    - Dst: buffer_skip_whitespace
      Src: /src/cJSON/cJSON.c:1515,1
    - Dst: can_access_at_index
      Src: /src/cJSON/cJSON.c:1517,1
    - Dst: buffer_at_offset
      Src: /src/cJSON/cJSON.c:1517,1
    - Dst: cannot_access_at_index
      Src: /src/cJSON/cJSON.c:1519,1
    - Dst: buffer_at_offset
      Src: /src/cJSON/cJSON.c:1519,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON.c:1541,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 2
    argNames:
    - item
    - input_buffer
    argTypes:
    - cJSON*
    - parse_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1450
    functionDepth: 4
    functionLinenumber: 1450
    functionLinenumberEnd: 1545
    functionName: parse_array
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 1
    functionsReached:
    - cannot_access_at_index
    - cJSON_Delete
    - buffer_skip_whitespace
    - buffer_at_offset
    - parse_value
    - can_access_at_index
    - cJSON_New_Item
    linkageType: ''
    returnType: cJSON_bool
    signature: cJSON_bool parse_array(cJSON * const item, parse_buffer * const input_buffer)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/cJSON/cJSON.c:1561,1
    - Dst: print_value
      Src: /src/cJSON/cJSON.c:1573,1
    - Dst: update_offset
      Src: /src/cJSON/cJSON.c:1577,1
    - Dst: ensure
      Src: /src/cJSON/cJSON.c:1581,1
    - Dst: ensure
      Src: /src/cJSON/cJSON.c:1597,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 2
    argNames:
    - item
    - output_buffer
    argTypes:
    - cJSON*
    - printbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1548
    functionDepth: 4
    functionLinenumber: 1548
    functionLinenumberEnd: 1607
    functionName: print_array
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 1
    functionsReached:
    - print_value
    - ensure
    - update_offset
    linkageType: ''
    returnType: cJSON_bool
    signature: cJSON_bool print_array(const cJSON * const item, printbuffer * const
      output_buffer)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: cannot_access_at_index
      Src: /src/cJSON/cJSON.c:1621,1
    - Dst: buffer_at_offset
      Src: /src/cJSON/cJSON.c:1621,1
    - Dst: buffer_skip_whitespace
      Src: /src/cJSON/cJSON.c:1627,1
    - Dst: can_access_at_index
      Src: /src/cJSON/cJSON.c:1628,1
    - Dst: buffer_at_offset
      Src: /src/cJSON/cJSON.c:1628,1
    - Dst: cannot_access_at_index
      Src: /src/cJSON/cJSON.c:1634,1
    - Dst: cJSON_New_Item
      Src: /src/cJSON/cJSON.c:1646,1
    - Dst: buffer_skip_whitespace
      Src: /src/cJSON/cJSON.c:1668,1
    - Dst: parse_string
      Src: /src/cJSON/cJSON.c:1669,1
    - Dst: buffer_skip_whitespace
      Src: /src/cJSON/cJSON.c:1673,1
    - Dst: cannot_access_at_index
      Src: /src/cJSON/cJSON.c:1679,1
    - Dst: buffer_at_offset
      Src: /src/cJSON/cJSON.c:1679,1
    - Dst: buffer_skip_whitespace
      Src: /src/cJSON/cJSON.c:1686,1
    - Dst: parse_value
      Src: /src/cJSON/cJSON.c:1687,1
    - Dst: buffer_skip_whitespace
      Src: /src/cJSON/cJSON.c:1691,1
    - Dst: can_access_at_index
      Src: /src/cJSON/cJSON.c:1693,1
    - Dst: buffer_at_offset
      Src: /src/cJSON/cJSON.c:1693,1
    - Dst: cannot_access_at_index
      Src: /src/cJSON/cJSON.c:1695,1
    - Dst: buffer_at_offset
      Src: /src/cJSON/cJSON.c:1695,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON.c:1716,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 74
    argCount: 2
    argNames:
    - item
    - input_buffer
    argTypes:
    - cJSON*
    - parse_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1720
      start: 1610
    functionDepth: 4
    functionLinenumber: 1610
    functionLinenumberEnd: 1720
    functionName: parse_object
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 1
    functionsReached:
    - cannot_access_at_index
    - cJSON_Delete
    - buffer_skip_whitespace
    - buffer_at_offset
    - parse_value
    - can_access_at_index
    - cJSON_New_Item
    - parse_string
    linkageType: ''
    returnType: cJSON_bool
    signature: cJSON_bool parse_object(cJSON * const item, parse_buffer * const input_buffer)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/cJSON/cJSON.c:1736,1
    - Dst: ensure
      Src: /src/cJSON/cJSON.c:1755,1
    - Dst: print_string_ptr
      Src: /src/cJSON/cJSON.c:1768,1
    - Dst: update_offset
      Src: /src/cJSON/cJSON.c:1772,1
    - Dst: ensure
      Src: /src/cJSON/cJSON.c:1775,1
    - Dst: print_value
      Src: /src/cJSON/cJSON.c:1788,1
    - Dst: update_offset
      Src: /src/cJSON/cJSON.c:1792,1
    - Dst: ensure
      Src: /src/cJSON/cJSON.c:1796,1
    - Dst: ensure
      Src: /src/cJSON/cJSON.c:1816,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 72
    argCount: 2
    argNames:
    - item
    - output_buffer
    argTypes:
    - cJSON*
    - printbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1723
    functionDepth: 4
    functionLinenumber: 1723
    functionLinenumberEnd: 1834
    functionName: print_object
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 1
    functionsReached:
    - print_string_ptr
    - print_value
    - ensure
    - update_offset
    linkageType: ''
    returnType: cJSON_bool
    signature: cJSON_bool print_object(const cJSON * const item, printbuffer * const
      output_buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - array
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1858
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1858
    functionName: cJSON_GetArraySize
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_GetArraySize(const cJSON *array)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - array
    - index
    argTypes:
    - cJSON*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1877
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1877
    functionName: get_array_item
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cJSON
    signature: cJSON * get_array_item(const cJSON *array, size_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_array_item
      Src: /src/cJSON/cJSON.c:1886,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - array
    - index
    argTypes:
    - cJSON*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1887
      start: 1879
    functionDepth: 0
    functionLinenumber: 1879
    functionLinenumberEnd: 1887
    functionName: cJSON_GetArrayItem
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - get_array_item
    linkageType: ''
    returnType: void
    signature: void cJSON_GetArrayItem(const cJSON *array, int index)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cJSON/cJSON.c:1901,1
    - Dst: case_insensitive_strcmp
      Src: /src/cJSON/cJSON.c:1908,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - object
    - name
    - case_sensitive
    argTypes:
    - cJSON*
    - char*
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1889
    functionDepth: 1
    functionLinenumber: 1889
    functionLinenumberEnd: 1919
    functionName: get_object_item
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - case_insensitive_strcmp
    - strcmp
    linkageType: ''
    returnType: cJSON
    signature: cJSON *get_object_item(const cJSON * const object, const char * const
      name, const cJSON_bool case_sensitive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_object_item
      Src: /src/cJSON/cJSON.c:1923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - string
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1924
      start: 1921
    functionDepth: 0
    functionLinenumber: 1921
    functionLinenumberEnd: 1924
    functionName: cJSON_GetObjectItem
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - get_object_item
    linkageType: ''
    returnType: void
    signature: void cJSON_GetObjectItem(const cJSON * const object, const char * const
      string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_object_item
      Src: /src/cJSON/cJSON.c:1928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - string
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1929
      start: 1926
    functionDepth: 0
    functionLinenumber: 1926
    functionLinenumberEnd: 1929
    functionName: cJSON_GetObjectItemCaseSensitive
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - get_object_item
    linkageType: ''
    returnType: void
    signature: void cJSON_GetObjectItemCaseSensitive(const cJSON * const object, const
      char * const string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/cJSON/cJSON.c:1933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - string
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1934
      start: 1931
    functionDepth: 1
    functionLinenumber: 1931
    functionLinenumberEnd: 1934
    functionName: cJSON_HasObjectItem
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_GetObjectItem
    linkageType: ''
    returnType: void
    signature: void cJSON_HasObjectItem(const cJSON *object, const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - prev
    - item
    argTypes:
    - cJSON*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1941
      start: 1937
    functionDepth: 0
    functionLinenumber: 1937
    functionLinenumberEnd: 1941
    functionName: suffix_object
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void suffix_object(cJSON *prev, cJSON *item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_New_Item
      Src: /src/cJSON/cJSON.c:1952,1
    - Dst: memcpy
      Src: /src/cJSON/cJSON.c:1958,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - item
    - hooks
    argTypes:
    - cJSON*
    - internal_hooks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1944
    functionDepth: 1
    functionLinenumber: 1944
    functionLinenumberEnd: 1963
    functionName: create_reference
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - memcpy
    - cJSON_New_Item
    linkageType: ''
    returnType: cJSON
    signature: cJSON *create_reference(const cJSON *item, const internal_hooks * const
      hooks)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: suffix_object
      Src: /src/cJSON/cJSON.c:1990,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - array
    - item
    argTypes:
    - cJSON*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1965
    functionDepth: 1
    functionLinenumber: 1965
    functionLinenumberEnd: 1996
    functionName: add_item_to_array
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - suffix_object
    linkageType: ''
    returnType: cJSON_bool
    signature: cJSON_bool add_item_to_array(cJSON *array, cJSON *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_item_to_array
      Src: /src/cJSON/cJSON.c:2001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - array
    - item
    argTypes:
    - cJSON*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2002
      start: 1999
    functionDepth: 2
    functionLinenumber: 1999
    functionLinenumberEnd: 2002
    functionName: cJSON_AddItemToArray
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 1
    functionsReached:
    - add_item_to_array
    linkageType: ''
    returnType: void
    signature: void cJSON_AddItemToArray(cJSON *array, cJSON *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 2011
    functionDepth: 0
    functionLinenumber: 2011
    functionLinenumberEnd: 2014
    functionName: cast_away_const
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * cast_away_const(const void* string)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cast_away_const
      Src: /src/cJSON/cJSON.c:2032,1
    - Dst: cJSON_strdup
      Src: /src/cJSON/cJSON.c:2037,1
    - Dst: internal_hooks*::deallocate
      Src: /src/cJSON/cJSON.c:2048,1
    - Dst: add_item_to_array
      Src: /src/cJSON/cJSON.c:2054,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 5
    argNames:
    - object
    - string
    - item
    - hooks
    - constant_key
    argTypes:
    - cJSON*
    - char*
    - cJSON*
    - internal_hooks*
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2055
      start: 2020
    functionDepth: 2
    functionLinenumber: 2020
    functionLinenumberEnd: 2055
    functionName: add_item_to_object
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - cast_away_const
    - add_item_to_array
    - cJSON_strdup
    - internal_hooks*::deallocate
    linkageType: ''
    returnType: cJSON_bool
    signature: cJSON_bool add_item_to_object(cJSON * const object, const char * const
      string, cJSON * const item, const internal_hooks * const hooks, const cJSON_bool
      constant_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_item_to_object
      Src: /src/cJSON/cJSON.c:2059,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - string
    - item
    argTypes:
    - cJSON*
    - char*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2060
      start: 2057
    functionDepth: 3
    functionLinenumber: 2057
    functionLinenumberEnd: 2060
    functionName: cJSON_AddItemToObject
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 1
    functionsReached:
    - add_item_to_object
    linkageType: ''
    returnType: void
    signature: void cJSON_AddItemToObject(cJSON *object, const char *string, cJSON
      *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_item_to_object
      Src: /src/cJSON/cJSON.c:2065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - string
    - item
    argTypes:
    - cJSON*
    - char*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 2063
    functionDepth: 3
    functionLinenumber: 2063
    functionLinenumberEnd: 2066
    functionName: cJSON_AddItemToObjectCS
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - add_item_to_object
    linkageType: ''
    returnType: void
    signature: void cJSON_AddItemToObjectCS(cJSON *object, const char *string, cJSON
      *item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_item_to_array
      Src: /src/cJSON/cJSON.c:2075,1
    - Dst: create_reference
      Src: /src/cJSON/cJSON.c:2075,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - array
    - item
    argTypes:
    - cJSON*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2076
      start: 2068
    functionDepth: 2
    functionLinenumber: 2068
    functionLinenumberEnd: 2076
    functionName: cJSON_AddItemReferenceToArray
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - add_item_to_array
    - create_reference
    linkageType: ''
    returnType: void
    signature: void cJSON_AddItemReferenceToArray(cJSON *array, cJSON *item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_item_to_object
      Src: /src/cJSON/cJSON.c:2085,1
    - Dst: create_reference
      Src: /src/cJSON/cJSON.c:2085,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - object
    - string
    - item
    argTypes:
    - cJSON*
    - char*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2086
      start: 2078
    functionDepth: 3
    functionLinenumber: 2078
    functionLinenumberEnd: 2086
    functionName: cJSON_AddItemReferenceToObject
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - add_item_to_object
    - create_reference
    linkageType: ''
    returnType: void
    signature: void cJSON_AddItemReferenceToObject(cJSON *object, const char *string,
      cJSON *item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateNull
      Src: /src/cJSON/cJSON.c:2090,1
    - Dst: add_item_to_object
      Src: /src/cJSON/cJSON.c:2091,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON.c:2096,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - object
    - name
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2098
      start: 2088
    functionDepth: 3
    functionLinenumber: 2088
    functionLinenumberEnd: 2098
    functionName: cJSON_AddNullToObject
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_CreateNull
    - cJSON_Delete
    - add_item_to_object
    linkageType: ''
    returnType: void
    signature: void cJSON_AddNullToObject(cJSON * const object, const char * const
      name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateTrue
      Src: /src/cJSON/cJSON.c:2102,1
    - Dst: add_item_to_object
      Src: /src/cJSON/cJSON.c:2103,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON.c:2108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - object
    - name
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2100
    functionDepth: 3
    functionLinenumber: 2100
    functionLinenumberEnd: 2110
    functionName: cJSON_AddTrueToObject
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_CreateTrue
    - cJSON_Delete
    - add_item_to_object
    linkageType: ''
    returnType: void
    signature: void cJSON_AddTrueToObject(cJSON * const object, const char * const
      name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateFalse
      Src: /src/cJSON/cJSON.c:2114,1
    - Dst: add_item_to_object
      Src: /src/cJSON/cJSON.c:2115,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON.c:2120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - object
    - name
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2122
      start: 2112
    functionDepth: 3
    functionLinenumber: 2112
    functionLinenumberEnd: 2122
    functionName: cJSON_AddFalseToObject
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 1
    functionsReached:
    - cJSON_Delete
    - add_item_to_object
    - cJSON_CreateFalse
    linkageType: ''
    returnType: void
    signature: void cJSON_AddFalseToObject(cJSON * const object, const char * const
      name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateBool
      Src: /src/cJSON/cJSON.c:2126,1
    - Dst: add_item_to_object
      Src: /src/cJSON/cJSON.c:2127,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON.c:2132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - object
    - name
    - boolean
    argTypes:
    - cJSON*
    - char*
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 2124
    functionDepth: 3
    functionLinenumber: 2124
    functionLinenumberEnd: 2134
    functionName: cJSON_AddBoolToObject
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_CreateBool
    - cJSON_Delete
    - add_item_to_object
    linkageType: ''
    returnType: void
    signature: void cJSON_AddBoolToObject(cJSON * const object, const char * const
      name, const cJSON_bool boolean)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateNumber
      Src: /src/cJSON/cJSON.c:2138,1
    - Dst: add_item_to_object
      Src: /src/cJSON/cJSON.c:2139,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON.c:2144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - object
    - name
    - number
    argTypes:
    - cJSON*
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2146
      start: 2136
    functionDepth: 3
    functionLinenumber: 2136
    functionLinenumberEnd: 2146
    functionName: cJSON_AddNumberToObject
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 1
    functionsReached:
    - cJSON_Delete
    - add_item_to_object
    - cJSON_CreateNumber
    linkageType: ''
    returnType: void
    signature: void cJSON_AddNumberToObject(cJSON * const object, const char * const
      name, const double number)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateString
      Src: /src/cJSON/cJSON.c:2150,1
    - Dst: add_item_to_object
      Src: /src/cJSON/cJSON.c:2151,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON.c:2156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - object
    - name
    - string
    argTypes:
    - cJSON*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2148
    functionDepth: 3
    functionLinenumber: 2148
    functionLinenumberEnd: 2158
    functionName: cJSON_AddStringToObject
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 1
    functionsReached:
    - cJSON_Delete
    - cJSON_CreateString
    - add_item_to_object
    linkageType: ''
    returnType: void
    signature: void cJSON_AddStringToObject(cJSON * const object, const char * const
      name, const char * const string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateRaw
      Src: /src/cJSON/cJSON.c:2162,1
    - Dst: add_item_to_object
      Src: /src/cJSON/cJSON.c:2163,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON.c:2168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - object
    - name
    - raw
    argTypes:
    - cJSON*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2170
      start: 2160
    functionDepth: 3
    functionLinenumber: 2160
    functionLinenumberEnd: 2170
    functionName: cJSON_AddRawToObject
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - add_item_to_object
    - cJSON_CreateRaw
    linkageType: ''
    returnType: void
    signature: void cJSON_AddRawToObject(cJSON * const object, const char * const
      name, const char * const raw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/cJSON.c:2174,1
    - Dst: add_item_to_object
      Src: /src/cJSON/cJSON.c:2175,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON.c:2180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - object
    - name
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2182
      start: 2172
    functionDepth: 3
    functionLinenumber: 2172
    functionLinenumberEnd: 2182
    functionName: cJSON_AddObjectToObject
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - add_item_to_object
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void cJSON_AddObjectToObject(cJSON * const object, const char * const
      name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateArray
      Src: /src/cJSON/cJSON.c:2186,1
    - Dst: add_item_to_object
      Src: /src/cJSON/cJSON.c:2187,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON.c:2192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - object
    - name
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2194
      start: 2184
    functionDepth: 3
    functionLinenumber: 2184
    functionLinenumberEnd: 2194
    functionName: cJSON_AddArrayToObject
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_CreateArray
    - add_item_to_object
    linkageType: ''
    returnType: void
    signature: void cJSON_AddArrayToObject(cJSON * const object, const char * const
      name)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - parent
    - item
    argTypes:
    - cJSON*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2230
      start: 2196
    functionDepth: 0
    functionLinenumber: 2196
    functionLinenumberEnd: 2230
    functionName: cJSON_DetachItemViaPointer
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_DetachItemViaPointer(cJSON *parent, cJSON * const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_DetachItemViaPointer
      Src: /src/cJSON/cJSON.c:2239,1
    - Dst: get_array_item
      Src: /src/cJSON/cJSON.c:2239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - array
    - which
    argTypes:
    - cJSON*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2232
    functionDepth: 1
    functionLinenumber: 2232
    functionLinenumberEnd: 2240
    functionName: cJSON_DetachItemFromArray
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - get_array_item
    - cJSON_DetachItemViaPointer
    linkageType: ''
    returnType: void
    signature: void cJSON_DetachItemFromArray(cJSON *array, int which)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON.c:2244,1
    - Dst: cJSON_DetachItemFromArray
      Src: /src/cJSON/cJSON.c:2244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - array
    - which
    argTypes:
    - cJSON*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2245
      start: 2242
    functionDepth: 2
    functionLinenumber: 2242
    functionLinenumberEnd: 2245
    functionName: cJSON_DeleteItemFromArray
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_DetachItemFromArray
    - cJSON_Delete
    linkageType: ''
    returnType: void
    signature: void cJSON_DeleteItemFromArray(cJSON *array, int which)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/cJSON/cJSON.c:2249,1
    - Dst: cJSON_DetachItemViaPointer
      Src: /src/cJSON/cJSON.c:2251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - string
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2252
      start: 2247
    functionDepth: 1
    functionLinenumber: 2247
    functionLinenumberEnd: 2252
    functionName: cJSON_DetachItemFromObject
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_GetObjectItem
    - cJSON_DetachItemViaPointer
    linkageType: ''
    returnType: void
    signature: void cJSON_DetachItemFromObject(cJSON *object, const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/cJSON.c:2256,1
    - Dst: cJSON_DetachItemViaPointer
      Src: /src/cJSON/cJSON.c:2258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - string
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2259
      start: 2254
    functionDepth: 1
    functionLinenumber: 2254
    functionLinenumberEnd: 2259
    functionName: cJSON_DetachItemFromObjectCaseSensitive
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_DetachItemViaPointer
    - cJSON_GetObjectItemCaseSensitive
    linkageType: ''
    returnType: void
    signature: void cJSON_DetachItemFromObjectCaseSensitive(cJSON *object, const char
      *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON.c:2263,1
    - Dst: cJSON_DetachItemFromObject
      Src: /src/cJSON/cJSON.c:2263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - string
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2264
      start: 2261
    functionDepth: 2
    functionLinenumber: 2261
    functionLinenumberEnd: 2264
    functionName: cJSON_DeleteItemFromObject
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_DetachItemFromObject
    - cJSON_Delete
    linkageType: ''
    returnType: void
    signature: void cJSON_DeleteItemFromObject(cJSON *object, const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON.c:2268,1
    - Dst: cJSON_DetachItemFromObjectCaseSensitive
      Src: /src/cJSON/cJSON.c:2268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - string
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2269
      start: 2266
    functionDepth: 2
    functionLinenumber: 2266
    functionLinenumberEnd: 2269
    functionName: cJSON_DeleteItemFromObjectCaseSensitive
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_DetachItemFromObjectCaseSensitive
    linkageType: ''
    returnType: void
    signature: void cJSON_DeleteItemFromObjectCaseSensitive(cJSON *object, const char
      *string)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_array_item
      Src: /src/cJSON/cJSON.c:2281,1
    - Dst: add_item_to_array
      Src: /src/cJSON/cJSON.c:2284,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - array
    - which
    - newitem
    argTypes:
    - cJSON*
    - int
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2304
      start: 2272
    functionDepth: 2
    functionLinenumber: 2272
    functionLinenumberEnd: 2304
    functionName: cJSON_InsertItemInArray
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - get_array_item
    - add_item_to_array
    linkageType: ''
    returnType: void
    signature: void cJSON_InsertItemInArray(cJSON *array, int which, cJSON *newitem)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON.c:2350,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - parent
    - item
    - replacement
    argTypes:
    - cJSON*
    - cJSON*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2353
      start: 2306
    functionDepth: 2
    functionLinenumber: 2306
    functionLinenumberEnd: 2353
    functionName: cJSON_ReplaceItemViaPointer
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    linkageType: ''
    returnType: void
    signature: void cJSON_ReplaceItemViaPointer(cJSON * const parent, cJSON * const
      item, cJSON * replacement)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_ReplaceItemViaPointer
      Src: /src/cJSON/cJSON.c:2362,1
    - Dst: get_array_item
      Src: /src/cJSON/cJSON.c:2362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - array
    - which
    - newitem
    argTypes:
    - cJSON*
    - int
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2363
      start: 2355
    functionDepth: 3
    functionLinenumber: 2355
    functionLinenumberEnd: 2363
    functionName: cJSON_ReplaceItemInArray
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_ReplaceItemViaPointer
    - get_array_item
    linkageType: ''
    returnType: void
    signature: void cJSON_ReplaceItemInArray(cJSON *array, int which, cJSON *newitem)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_free
      Src: /src/cJSON/cJSON.c:2375,1
    - Dst: cJSON_strdup
      Src: /src/cJSON/cJSON.c:2377,1
    - Dst: cJSON_ReplaceItemViaPointer
      Src: /src/cJSON/cJSON.c:2385,1
    - Dst: get_object_item
      Src: /src/cJSON/cJSON.c:2385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - object
    - string
    - replacement
    - case_sensitive
    argTypes:
    - cJSON*
    - char*
    - cJSON*
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2386
      start: 2365
    functionDepth: 3
    functionLinenumber: 2365
    functionLinenumberEnd: 2386
    functionName: replace_item_in_object
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_strdup
    - cJSON_ReplaceItemViaPointer
    - cJSON_free
    - get_object_item
    linkageType: ''
    returnType: cJSON_bool
    signature: cJSON_bool replace_item_in_object(cJSON *object, const char *string,
      cJSON *replacement, cJSON_bool case_sensitive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: replace_item_in_object
      Src: /src/cJSON/cJSON.c:2390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - string
    - newitem
    argTypes:
    - cJSON*
    - char*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2391
      start: 2388
    functionDepth: 4
    functionLinenumber: 2388
    functionLinenumberEnd: 2391
    functionName: cJSON_ReplaceItemInObject
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - replace_item_in_object
    linkageType: ''
    returnType: void
    signature: void cJSON_ReplaceItemInObject(cJSON *object, const char *string, cJSON
      *newitem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: replace_item_in_object
      Src: /src/cJSON/cJSON.c:2395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - string
    - newitem
    argTypes:
    - cJSON*
    - char*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2396
      start: 2393
    functionDepth: 4
    functionLinenumber: 2393
    functionLinenumberEnd: 2396
    functionName: cJSON_ReplaceItemInObjectCaseSensitive
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - replace_item_in_object
    linkageType: ''
    returnType: void
    signature: void cJSON_ReplaceItemInObjectCaseSensitive(cJSON *object, const char
      *string, cJSON *newitem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_New_Item
      Src: /src/cJSON/cJSON.c:2401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2408
      start: 2399
    functionDepth: 1
    functionLinenumber: 2399
    functionLinenumberEnd: 2408
    functionName: cJSON_CreateNull
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 1
    functionsReached:
    - cJSON_New_Item
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateNull(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_New_Item
      Src: /src/cJSON/cJSON.c:2412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2419
      start: 2410
    functionDepth: 1
    functionLinenumber: 2410
    functionLinenumberEnd: 2419
    functionName: cJSON_CreateTrue
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 1
    functionsReached:
    - cJSON_New_Item
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateTrue(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_New_Item
      Src: /src/cJSON/cJSON.c:2423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2430
      start: 2421
    functionDepth: 1
    functionLinenumber: 2421
    functionLinenumberEnd: 2430
    functionName: cJSON_CreateFalse
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 1
    functionsReached:
    - cJSON_New_Item
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateFalse(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_New_Item
      Src: /src/cJSON/cJSON.c:2434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - boolean
    argTypes:
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2441
      start: 2432
    functionDepth: 1
    functionLinenumber: 2432
    functionLinenumberEnd: 2441
    functionName: cJSON_CreateBool
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 1
    functionsReached:
    - cJSON_New_Item
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateBool(cJSON_bool boolean)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_New_Item
      Src: /src/cJSON/cJSON.c:2445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - num
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2467
      start: 2443
    functionDepth: 1
    functionLinenumber: 2443
    functionLinenumberEnd: 2467
    functionName: cJSON_CreateNumber
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 1
    functionsReached:
    - cJSON_New_Item
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateNumber(double num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_New_Item
      Src: /src/cJSON/cJSON.c:2471,1
    - Dst: cJSON_strdup
      Src: /src/cJSON/cJSON.c:2475,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON.c:2478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2484
      start: 2469
    functionDepth: 2
    functionLinenumber: 2469
    functionLinenumberEnd: 2484
    functionName: cJSON_CreateString
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 2
    functionsReached:
    - cJSON_strdup
    - cJSON_Delete
    - cJSON_New_Item
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateString(const char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_New_Item
      Src: /src/cJSON/cJSON.c:2488,1
    - Dst: cast_away_const
      Src: /src/cJSON/cJSON.c:2492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2496
      start: 2486
    functionDepth: 1
    functionLinenumber: 2486
    functionLinenumberEnd: 2496
    functionName: cJSON_CreateStringReference
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - cast_away_const
    - cJSON_New_Item
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateStringReference(const char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_New_Item
      Src: /src/cJSON/cJSON.c:2500,1
    - Dst: cast_away_const
      Src: /src/cJSON/cJSON.c:2503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - child
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2507
      start: 2498
    functionDepth: 1
    functionLinenumber: 2498
    functionLinenumberEnd: 2507
    functionName: cJSON_CreateObjectReference
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - cast_away_const
    - cJSON_New_Item
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateObjectReference(const cJSON *child)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_New_Item
      Src: /src/cJSON/cJSON.c:2510,1
    - Dst: cast_away_const
      Src: /src/cJSON/cJSON.c:2513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - child
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2517
      start: 2509
    functionDepth: 1
    functionLinenumber: 2509
    functionLinenumberEnd: 2517
    functionName: cJSON_CreateArrayReference
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - cast_away_const
    - cJSON_New_Item
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateArrayReference(const cJSON *child)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_New_Item
      Src: /src/cJSON/cJSON.c:2521,1
    - Dst: cJSON_strdup
      Src: /src/cJSON/cJSON.c:2525,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON.c:2528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - raw
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2534
      start: 2519
    functionDepth: 2
    functionLinenumber: 2519
    functionLinenumberEnd: 2534
    functionName: cJSON_CreateRaw
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 1
    functionsReached:
    - cJSON_strdup
    - cJSON_Delete
    - cJSON_New_Item
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateRaw(const char *raw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_New_Item
      Src: /src/cJSON/cJSON.c:2538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2545
      start: 2536
    functionDepth: 1
    functionLinenumber: 2536
    functionLinenumberEnd: 2545
    functionName: cJSON_CreateArray
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 2
    functionsReached:
    - cJSON_New_Item
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateArray(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_New_Item
      Src: /src/cJSON/cJSON.c:2549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2556
      start: 2547
    functionDepth: 1
    functionLinenumber: 2547
    functionLinenumberEnd: 2556
    functionName: cJSON_CreateObject
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 2
    functionsReached:
    - cJSON_New_Item
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateObject(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateArray
      Src: /src/cJSON/cJSON.c:2571,1
    - Dst: cJSON_CreateNumber
      Src: /src/cJSON/cJSON.c:2575,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON.c:2578,1
    - Dst: suffix_object
      Src: /src/cJSON/cJSON.c:2587,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - numbers
    - count
    argTypes:
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2597
      start: 2559
    functionDepth: 2
    functionLinenumber: 2559
    functionLinenumberEnd: 2597
    functionName: cJSON_CreateIntArray
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 1
    functionsReached:
    - cJSON_Delete
    - cJSON_CreateArray
    - suffix_object
    - cJSON_CreateNumber
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateIntArray(const int *numbers, int count)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateArray
      Src: /src/cJSON/cJSON.c:2611,1
    - Dst: cJSON_CreateNumber
      Src: /src/cJSON/cJSON.c:2615,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON.c:2618,1
    - Dst: suffix_object
      Src: /src/cJSON/cJSON.c:2627,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - numbers
    - count
    argTypes:
    - float*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2637
      start: 2599
    functionDepth: 2
    functionLinenumber: 2599
    functionLinenumberEnd: 2637
    functionName: cJSON_CreateFloatArray
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_CreateArray
    - suffix_object
    - cJSON_CreateNumber
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateFloatArray(const float *numbers, int count)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateArray
      Src: /src/cJSON/cJSON.c:2651,1
    - Dst: cJSON_CreateNumber
      Src: /src/cJSON/cJSON.c:2655,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON.c:2658,1
    - Dst: suffix_object
      Src: /src/cJSON/cJSON.c:2667,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - numbers
    - count
    argTypes:
    - double*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2677
      start: 2639
    functionDepth: 2
    functionLinenumber: 2639
    functionLinenumberEnd: 2677
    functionName: cJSON_CreateDoubleArray
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_CreateArray
    - suffix_object
    - cJSON_CreateNumber
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateDoubleArray(const double *numbers, int count)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateArray
      Src: /src/cJSON/cJSON.c:2691,1
    - Dst: cJSON_CreateString
      Src: /src/cJSON/cJSON.c:2695,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON.c:2698,1
    - Dst: suffix_object
      Src: /src/cJSON/cJSON.c:2707,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - strings
    - count
    argTypes:
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2717
      start: 2679
    functionDepth: 3
    functionLinenumber: 2679
    functionLinenumberEnd: 2717
    functionName: cJSON_CreateStringArray
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 1
    functionsReached:
    - cJSON_Delete
    - cJSON_CreateString
    - cJSON_CreateArray
    - suffix_object
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateStringArray(const char *const *strings, int count)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_New_Item
      Src: /src/cJSON/cJSON.c:2733,1
    - Dst: cJSON_strdup
      Src: /src/cJSON/cJSON.c:2744,1
    - Dst: cJSON_strdup
      Src: /src/cJSON/cJSON.c:2752,1
    - Dst: cJSON_Duplicate
      Src: /src/cJSON/cJSON.c:2767,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON.c:2797,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 2
    argNames:
    - item
    - recurse
    argTypes:
    - cJSON*
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2720
    functionDepth: 2
    functionLinenumber: 2720
    functionLinenumberEnd: 2801
    functionName: cJSON_Duplicate
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 1
    functionsReached:
    - cJSON_strdup
    - cJSON_Delete
    - cJSON_Duplicate
    - cJSON_New_Item
    linkageType: ''
    returnType: void
    signature: void cJSON_Duplicate(const cJSON *item, cJSON_bool recurse)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_strlen
      Src: /src/cJSON/cJSON.c:2805,1
    - Dst: static_strlen
      Src: /src/cJSON/cJSON.c:2810,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - input
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2814
      start: 2803
    functionDepth: 1
    functionLinenumber: 2803
    functionLinenumberEnd: 2814
    functionName: skip_oneline_comment
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - static_strlen
    linkageType: ''
    returnType: void
    signature: void skip_oneline_comment(char **input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_strlen
      Src: /src/cJSON/cJSON.c:2818,1
    - Dst: static_strlen
      Src: /src/cJSON/cJSON.c:2824,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - input
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2828
      start: 2816
    functionDepth: 1
    functionLinenumber: 2816
    functionLinenumberEnd: 2828
    functionName: skip_multiline_comment
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - static_strlen
    linkageType: ''
    returnType: void
    signature: void skip_multiline_comment(char **input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_strlen
      Src: /src/cJSON/cJSON.c:2832,1
    - Dst: static_strlen
      Src: /src/cJSON/cJSON.c:2833,1
    - Dst: static_strlen
      Src: /src/cJSON/cJSON.c:2841,1
    - Dst: static_strlen
      Src: /src/cJSON/cJSON.c:2842,1
    - Dst: static_strlen
      Src: /src/cJSON/cJSON.c:2846,1
    - Dst: static_strlen
      Src: /src/cJSON/cJSON.c:2847,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2850
      start: 2830
    functionDepth: 1
    functionLinenumber: 2830
    functionLinenumberEnd: 2850
    functionName: minify_string
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - static_strlen
    linkageType: ''
    returnType: void
    signature: void minify_string(char **input, char **output)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: skip_oneline_comment
      Src: /src/cJSON/cJSON.c:2875,1
    - Dst: skip_multiline_comment
      Src: /src/cJSON/cJSON.c:2879,1
    - Dst: minify_string
      Src: /src/cJSON/cJSON.c:2886,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - json
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2898
      start: 2852
    functionDepth: 2
    functionLinenumber: 2852
    functionLinenumberEnd: 2898
    functionName: cJSON_Minify
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - skip_oneline_comment
    - skip_multiline_comment
    - minify_string
    linkageType: ''
    returnType: void
    signature: void cJSON_Minify(char *json)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2908
      start: 2900
    functionDepth: 0
    functionLinenumber: 2900
    functionLinenumberEnd: 2908
    functionName: cJSON_IsInvalid
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_IsInvalid(const cJSON * const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2918
      start: 2910
    functionDepth: 0
    functionLinenumber: 2910
    functionLinenumberEnd: 2918
    functionName: cJSON_IsFalse
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_IsFalse(const cJSON * const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2928
      start: 2920
    functionDepth: 0
    functionLinenumber: 2920
    functionLinenumberEnd: 2928
    functionName: cJSON_IsTrue
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_IsTrue(const cJSON * const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2939
      start: 2931
    functionDepth: 0
    functionLinenumber: 2931
    functionLinenumberEnd: 2939
    functionName: cJSON_IsBool
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_IsBool(const cJSON * const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2948
      start: 2940
    functionDepth: 0
    functionLinenumber: 2940
    functionLinenumberEnd: 2948
    functionName: cJSON_IsNull
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_IsNull(const cJSON * const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2958
      start: 2950
    functionDepth: 0
    functionLinenumber: 2950
    functionLinenumberEnd: 2958
    functionName: cJSON_IsNumber
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_IsNumber(const cJSON * const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2968
      start: 2960
    functionDepth: 0
    functionLinenumber: 2960
    functionLinenumberEnd: 2968
    functionName: cJSON_IsString
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_IsString(const cJSON * const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2978
      start: 2970
    functionDepth: 0
    functionLinenumber: 2970
    functionLinenumberEnd: 2978
    functionName: cJSON_IsArray
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_IsArray(const cJSON * const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2988
      start: 2980
    functionDepth: 0
    functionLinenumber: 2980
    functionLinenumberEnd: 2988
    functionName: cJSON_IsObject
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_IsObject(const cJSON * const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2998
      start: 2990
    functionDepth: 0
    functionLinenumber: 2990
    functionLinenumberEnd: 2998
    functionName: cJSON_IsRaw
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_IsRaw(const cJSON * const item)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: compare_double
      Src: /src/cJSON/cJSON.c:3039,1
    - Dst: strcmp
      Src: /src/cJSON/cJSON.c:3051,1
    - Dst: cJSON_Compare
      Src: /src/cJSON/cJSON.c:3065,1
    - Dst: get_object_item
      Src: /src/cJSON/cJSON.c:3089,1
    - Dst: cJSON_Compare
      Src: /src/cJSON/cJSON.c:3095,1
    - Dst: get_object_item
      Src: /src/cJSON/cJSON.c:3105,1
    - Dst: cJSON_Compare
      Src: /src/cJSON/cJSON.c:3111,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 74
    argCount: 3
    argNames:
    - a
    - b
    - case_sensitive
    argTypes:
    - cJSON*
    - cJSON*
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3123
      start: 3000
    functionDepth: 1
    functionLinenumber: 3000
    functionLinenumberEnd: 3123
    functionName: cJSON_Compare
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 1
    functionsReached:
    - compare_double
    - cJSON_Compare
    - get_object_item
    - strcmp
    linkageType: ''
    returnType: void
    signature: void cJSON_Compare(const cJSON * const a, const cJSON * const b, const
      cJSON_bool case_sensitive)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_object_item
      Src: /src/cJSON/cJSON.c:3089,1
    - Dst: cJSON_Compare
      Src: /src/cJSON/cJSON.c:3095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3099
      start: 3086
    functionDepth: 2
    functionLinenumber: 3086
    functionLinenumberEnd: 3099
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_Compare
    - get_object_item
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(a_element, a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_object_item
      Src: /src/cJSON/cJSON.c:3105,1
    - Dst: cJSON_Compare
      Src: /src/cJSON/cJSON.c:3111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3115
      start: 3103
    functionDepth: 2
    functionLinenumber: 3103
    functionLinenumberEnd: 3115
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_Compare
    - get_object_item
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(b_element, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocate
      Src: /src/cJSON/cJSON.c:3127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3128
      start: 3125
    functionDepth: 0
    functionLinenumber: 3125
    functionLinenumberEnd: 3128
    functionName: cJSON_malloc
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 0
    functionsReached:
    - allocate
    linkageType: ''
    returnType: void
    signature: void cJSON_malloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deallocate
      Src: /src/cJSON/cJSON.c:3132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3133
      start: 3130
    functionDepth: 0
    functionLinenumber: 3130
    functionLinenumberEnd: 3133
    functionName: cJSON_free
    functionSourceFile: /src/cJSON/cJSON.c
    functionUses: 2
    functionsReached:
    - deallocate
    linkageType: ''
    returnType: void
    signature: void cJSON_free(void *object)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cJSON/cJSON_Utils.c:71,1
    - Dst: cJSON_malloc
      Src: /src/cJSON/cJSON_Utils.c:72,1
    - Dst: memcpy
      Src: /src/cJSON/cJSON_Utils.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - string
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 80
    functionName: cJSONUtils_strdup
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strlen
    - cJSON_malloc
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char * cJSONUtils_strdup(const unsigned char* const string)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cJSON/cJSON_Utils.c:97,1
    - Dst: tolower
      Src: /src/cJSON/cJSON_Utils.c:100,1
    - Dst: tolower
      Src: /src/cJSON/cJSON_Utils.c:100,1
    - Dst: tolower
      Src: /src/cJSON/cJSON_Utils.c:108,1
    - Dst: tolower
      Src: /src/cJSON/cJSON_Utils.c:108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - string1
    - string2
    - case_sensitive
    argTypes:
    - unsigned char*
    - unsigned char*
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 109
    functionName: compare_strings
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 0
    functionsReached:
    - tolower
    - strcmp
    linkageType: ''
    returnType: int
    signature: int compare_strings(const unsigned char *string1, const unsigned char
      *string2, const cJSON_bool case_sensitive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/cJSON/cJSON_Utils.c:114,1
    - Dst: fabs
      Src: /src/cJSON/cJSON_Utils.c:114,1
    - Dst: fabs
      Src: /src/cJSON/cJSON_Utils.c:114,1
    - Dst: fabs
      Src: /src/cJSON/cJSON_Utils.c:114,1
    - Dst: fabs
      Src: /src/cJSON/cJSON_Utils.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: compare_double
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 2
    functionsReached:
    - fabs
    linkageType: ''
    returnType: cJSON_bool
    signature: cJSON_bool compare_double(double a, double b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/cJSON/cJSON_Utils.c:142,1
    - Dst: tolower
      Src: /src/cJSON/cJSON_Utils.c:142,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 3
    argNames:
    - name
    - pointer
    - case_sensitive
    argTypes:
    - unsigned char*
    - unsigned char*
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 154
    functionName: compare_pointers
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 0
    functionsReached:
    - tolower
    linkageType: ''
    returnType: cJSON_bool
    signature: cJSON_bool compare_pointers(const unsigned char *name, const unsigned
      char *pointer, const cJSON_bool case_sensitive)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - string
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 170
    functionName: pointer_encoded_length
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t pointer_encoded_length(const unsigned char *string)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - destination
    - source
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 196
    functionName: encode_string_as_pointer
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void encode_string_as_pointer(unsigned char *destination, const unsigned
      char *source)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cJSONUtils_strdup
      Src: /src/cJSON/cJSON_Utils.c:211,1
    - Dst: cJSONUtils_FindPointerFromObjectTo
      Src: /src/cJSON/cJSON_Utils.c:217,1
    - Dst: cJSON_IsArray
      Src: /src/cJSON/cJSON_Utils.c:221,1
    - Dst: cJSON_malloc
      Src: /src/cJSON/cJSON_Utils.c:224,1
    - Dst: strlen
      Src: /src/cJSON/cJSON_Utils.c:224,1
    - Dst: cJSON_free
      Src: /src/cJSON/cJSON_Utils.c:230,1
    - Dst: cJSON_free
      Src: /src/cJSON/cJSON_Utils.c:231,1
    - Dst: sprintf
      Src: /src/cJSON/cJSON_Utils.c:234,1
    - Dst: cJSON_free
      Src: /src/cJSON/cJSON_Utils.c:235,1
    - Dst: cJSON_IsObject
      Src: /src/cJSON/cJSON_Utils.c:240,1
    - Dst: cJSON_malloc
      Src: /src/cJSON/cJSON_Utils.c:242,1
    - Dst: strlen
      Src: /src/cJSON/cJSON_Utils.c:242,1
    - Dst: pointer_encoded_length
      Src: /src/cJSON/cJSON_Utils.c:242,1
    - Dst: encode_string_as_pointer
      Src: /src/cJSON/cJSON_Utils.c:244,1
    - Dst: strcat
      Src: /src/cJSON/cJSON_Utils.c:245,1
    - Dst: cJSON_free
      Src: /src/cJSON/cJSON_Utils.c:246,1
    - Dst: cJSON_free
      Src: /src/cJSON/cJSON_Utils.c:252,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - object
    - target
    argTypes:
    - cJSON*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 259
    functionName: cJSONUtils_FindPointerFromObjectTo
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 1
    functionsReached:
    - cJSONUtils_FindPointerFromObjectTo
    - cJSON_IsArray
    - cJSONUtils_strdup
    - cJSON_free
    - pointer_encoded_length
    - strcat
    - sprintf
    - cJSON_malloc
    - strlen
    - cJSON_IsObject
    - encode_string_as_pointer
    linkageType: ''
    returnType: void
    signature: void cJSONUtils_FindPointerFromObjectTo(const cJSON * const object,
      const cJSON * const target)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - array
    - item
    argTypes:
    - cJSON*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 272
    functionName: get_array_item
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: cJSON
    signature: cJSON *get_array_item(const cJSON *array, size_t item)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - pointer
    - index
    argTypes:
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 299
    functionName: decode_array_index_from_pointer
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cJSON_bool
    signature: cJSON_bool decode_array_index_from_pointer(const unsigned char * const
      pointer, size_t * const index)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsArray
      Src: /src/cJSON/cJSON_Utils.c:314,1
    - Dst: decode_array_index_from_pointer
      Src: /src/cJSON/cJSON_Utils.c:317,1
    - Dst: get_array_item
      Src: /src/cJSON/cJSON_Utils.c:322,1
    - Dst: cJSON_IsObject
      Src: /src/cJSON/cJSON_Utils.c:324,1
    - Dst: compare_pointers
      Src: /src/cJSON/cJSON_Utils.c:328,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - object
    - pointer
    - case_sensitive
    argTypes:
    - cJSON*
    - char*
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 346
    functionName: get_item_from_pointer
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 0
    functionsReached:
    - cJSON_IsArray
    - decode_array_index_from_pointer
    - get_array_item
    - cJSON_IsObject
    - compare_pointers
    linkageType: ''
    returnType: cJSON
    signature: cJSON *get_item_from_pointer(cJSON * const object, const char * pointer,
      const cJSON_bool case_sensitive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_item_from_pointer
      Src: /src/cJSON/cJSON_Utils.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - pointer
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 351
    functionName: cJSONUtils_GetPointer
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 0
    functionsReached:
    - get_item_from_pointer
    linkageType: ''
    returnType: void
    signature: void cJSONUtils_GetPointer(cJSON * const object, const char *pointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_item_from_pointer
      Src: /src/cJSON/cJSON_Utils.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - pointer
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: cJSONUtils_GetPointerCaseSensitive
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 0
    functionsReached:
    - get_item_from_pointer
    linkageType: ''
    returnType: void
    signature: void cJSONUtils_GetPointerCaseSensitive(cJSON * const object, const
      char *pointer)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - string
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 390
    functionName: decode_pointer_inplace
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void decode_pointer_inplace(unsigned char *string)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - array
    - which
    argTypes:
    - cJSON*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 427
    functionName: detach_item_from_array
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cJSON
    signature: cJSON *detach_item_from_array(cJSON *array, size_t which)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cJSONUtils_strdup
      Src: /src/cJSON/cJSON_Utils.c:438,1
    - Dst: strrchr
      Src: /src/cJSON/cJSON_Utils.c:443,1
    - Dst: get_item_from_pointer
      Src: /src/cJSON/cJSON_Utils.c:452,1
    - Dst: decode_pointer_inplace
      Src: /src/cJSON/cJSON_Utils.c:453,1
    - Dst: cJSON_IsArray
      Src: /src/cJSON/cJSON_Utils.c:455,1
    - Dst: decode_array_index_from_pointer
      Src: /src/cJSON/cJSON_Utils.c:458,1
    - Dst: detach_item_from_array
      Src: /src/cJSON/cJSON_Utils.c:462,1
    - Dst: cJSON_IsObject
      Src: /src/cJSON/cJSON_Utils.c:464,1
    - Dst: cJSON_DetachItemFromObject
      Src: /src/cJSON/cJSON_Utils.c:466,1
    - Dst: cJSON_free
      Src: /src/cJSON/cJSON_Utils.c:477,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - object
    - path
    - case_sensitive
    argTypes:
    - cJSON*
    - unsigned char*
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 481
    functionName: detach_path
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 0
    functionsReached:
    - get_item_from_pointer
    - cJSON_IsArray
    - decode_pointer_inplace
    - cJSONUtils_strdup
    - strrchr
    - cJSON_free
    - decode_array_index_from_pointer
    - cJSON_IsObject
    - cJSON_DetachItemFromObject
    - detach_item_from_array
    linkageType: ''
    returnType: cJSON
    signature: cJSON *detach_path(cJSON *object, const unsigned char *path, const
      cJSON_bool case_sensitive)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: compare_strings
      Src: /src/cJSON/cJSON_Utils.c:498,1
    - Dst: sort_list
      Src: /src/cJSON/cJSON_Utils.c:530,1
    - Dst: sort_list
      Src: /src/cJSON/cJSON_Utils.c:531,1
    - Dst: compare_strings
      Src: /src/cJSON/cJSON_Utils.c:538,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 2
    argNames:
    - list
    - case_sensitive
    argTypes:
    - cJSON*
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 593
    functionName: sort_list
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 1
    functionsReached:
    - sort_list
    - compare_strings
    linkageType: ''
    returnType: cJSON
    signature: cJSON *sort_list(cJSON *list, const cJSON_bool case_sensitive)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sort_list
      Src: /src/cJSON/cJSON_Utils.c:601,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - object
    - case_sensitive
    argTypes:
    - cJSON*
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 602
    functionName: sort_object
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 0
    functionsReached:
    - sort_list
    linkageType: ''
    returnType: void
    signature: void sort_object(cJSON * const object, const cJSON_bool case_sensitive)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: compare_double
      Src: /src/cJSON/cJSON_Utils.c:615,1
    - Dst: strcmp
      Src: /src/cJSON/cJSON_Utils.c:626,1
    - Dst: compare_json
      Src: /src/cJSON/cJSON_Utils.c:638,1
    - Dst: sort_object
      Src: /src/cJSON/cJSON_Utils.c:656,1
    - Dst: sort_object
      Src: /src/cJSON/cJSON_Utils.c:657,1
    - Dst: compare_strings
      Src: /src/cJSON/cJSON_Utils.c:662,1
    - Dst: compare_json
      Src: /src/cJSON/cJSON_Utils.c:667,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 3
    argNames:
    - a
    - b
    - case_sensitive
    argTypes:
    - cJSON*
    - cJSON*
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 604
    functionDepth: 3
    functionLinenumber: 604
    functionLinenumberEnd: 690
    functionName: compare_json
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 1
    functionsReached:
    - compare_double
    - compare_strings
    - sort_object
    - strcmp
    - compare_json
    linkageType: ''
    returnType: cJSON_bool
    signature: cJSON_bool compare_json(cJSON *a, cJSON *b, const cJSON_bool case_sensitive)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddItemToArray
      Src: /src/cJSON/cJSON_Utils.c:708,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - array
    - which
    - newitem
    argTypes:
    - cJSON*
    - size_t
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 693
    functionDepth: 3
    functionLinenumber: 693
    functionLinenumberEnd: 728
    functionName: insert_item_in_array
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 0
    functionsReached:
    - cJSON_AddItemToArray
    linkageType: ''
    returnType: cJSON_bool
    signature: cJSON_bool insert_item_in_array(cJSON *array, size_t which, cJSON *newitem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/cJSON_Utils.c:734,1
    - Dst: cJSON_GetObjectItem
      Src: /src/cJSON/cJSON_Utils.c:737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - object
    - name
    - case_sensitive
    argTypes:
    - cJSON*
    - char*
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 738
    functionName: get_object_item
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 6
    functionsReached:
    - cJSON_GetObjectItem
    - cJSON_GetObjectItemCaseSensitive
    linkageType: ''
    returnType: cJSON
    signature: cJSON *get_object_item(const cJSON * const object, const char* name,
      const cJSON_bool case_sensitive)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_object_item
      Src: /src/cJSON/cJSON_Utils.c:744,1
    - Dst: cJSON_IsString
      Src: /src/cJSON/cJSON_Utils.c:745,1
    - Dst: strcmp
      Src: /src/cJSON/cJSON_Utils.c:750,1
    - Dst: strcmp
      Src: /src/cJSON/cJSON_Utils.c:755,1
    - Dst: strcmp
      Src: /src/cJSON/cJSON_Utils.c:760,1
    - Dst: strcmp
      Src: /src/cJSON/cJSON_Utils.c:765,1
    - Dst: strcmp
      Src: /src/cJSON/cJSON_Utils.c:770,1
    - Dst: strcmp
      Src: /src/cJSON/cJSON_Utils.c:775,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - patch
    - case_sensitive
    argTypes:
    - cJSON*
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 781
    functionName: decode_patch_operation
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 0
    functionsReached:
    - get_object_item
    - strcmp
    - cJSON_IsString
    linkageType: ''
    returnType: enum patch_operation
    signature: enum patch_operation decode_patch_operation(const cJSON * const patch,
      const cJSON_bool case_sensitive)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_free
      Src: /src/cJSON/cJSON_Utils.c:793,1
    - Dst: cJSON_free
      Src: /src/cJSON/cJSON_Utils.c:797,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON_Utils.c:801,1
    - Dst: memcpy
      Src: /src/cJSON/cJSON_Utils.c:804,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - root
    - replacement
    argTypes:
    - cJSON*
    - cJSON
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 784
    functionDepth: 2
    functionLinenumber: 784
    functionLinenumberEnd: 805
    functionName: overwrite_item
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 0
    functionsReached:
    - memcpy
    - cJSON_free
    - cJSON_Delete
    linkageType: ''
    returnType: void
    signature: void overwrite_item(cJSON * const root, const cJSON replacement)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: get_object_item
      Src: /src/cJSON/cJSON_Utils.c:817,1
    - Dst: cJSON_IsString
      Src: /src/cJSON/cJSON_Utils.c:818,1
    - Dst: decode_patch_operation
      Src: /src/cJSON/cJSON_Utils.c:825,1
    - Dst: compare_json
      Src: /src/cJSON/cJSON_Utils.c:834,1
    - Dst: get_item_from_pointer
      Src: /src/cJSON/cJSON_Utils.c:834,1
    - Dst: get_object_item
      Src: /src/cJSON/cJSON_Utils.c:834,1
    - Dst: overwrite_item
      Src: /src/cJSON/cJSON_Utils.c:845,1
    - Dst: get_object_item
      Src: /src/cJSON/cJSON_Utils.c:853,1
    - Dst: cJSON_Duplicate
      Src: /src/cJSON/cJSON_Utils.c:861,1
    - Dst: overwrite_item
      Src: /src/cJSON/cJSON_Utils.c:869,1
    - Dst: cJSON_free
      Src: /src/cJSON/cJSON_Utils.c:872,1
    - Dst: cJSON_free
      Src: /src/cJSON/cJSON_Utils.c:878,1
    - Dst: detach_path
      Src: /src/cJSON/cJSON_Utils.c:890,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON_Utils.c:896,1
    - Dst: get_object_item
      Src: /src/cJSON/cJSON_Utils.c:908,1
    - Dst: detach_path
      Src: /src/cJSON/cJSON_Utils.c:918,1
    - Dst: get_item_from_pointer
      Src: /src/cJSON/cJSON_Utils.c:922,1
    - Dst: cJSON_Duplicate
      Src: /src/cJSON/cJSON_Utils.c:932,1
    - Dst: get_object_item
      Src: /src/cJSON/cJSON_Utils.c:943,1
    - Dst: cJSON_Duplicate
      Src: /src/cJSON/cJSON_Utils.c:950,1
    - Dst: cJSONUtils_strdup
      Src: /src/cJSON/cJSON_Utils.c:962,1
    - Dst: strrchr
      Src: /src/cJSON/cJSON_Utils.c:964,1
    - Dst: get_item_from_pointer
      Src: /src/cJSON/cJSON_Utils.c:971,1
    - Dst: decode_pointer_inplace
      Src: /src/cJSON/cJSON_Utils.c:972,1
    - Dst: cJSON_IsArray
      Src: /src/cJSON/cJSON_Utils.c:981,1
    - Dst: strcmp
      Src: /src/cJSON/cJSON_Utils.c:983,1
    - Dst: cJSON_AddItemToArray
      Src: /src/cJSON/cJSON_Utils.c:985,1
    - Dst: decode_array_index_from_pointer
      Src: /src/cJSON/cJSON_Utils.c:991,1
    - Dst: insert_item_in_array
      Src: /src/cJSON/cJSON_Utils.c:997,1
    - Dst: cJSON_IsObject
      Src: /src/cJSON/cJSON_Utils.c:1005,1
    - Dst: cJSON_DeleteItemFromObjectCaseSensitive
      Src: /src/cJSON/cJSON_Utils.c:1009,1
    - Dst: cJSON_DeleteItemFromObject
      Src: /src/cJSON/cJSON_Utils.c:1013,1
    - Dst: cJSON_AddItemToObject
      Src: /src/cJSON/cJSON_Utils.c:1015,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON_Utils.c:1028,1
    - Dst: cJSON_free
      Src: /src/cJSON/cJSON_Utils.c:1032,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 157
    argCount: 3
    argNames:
    - object
    - patch
    - case_sensitive
    argTypes:
    - cJSON*
    - cJSON*
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 807
    functionDepth: 4
    functionLinenumber: 807
    functionLinenumberEnd: 1036
    functionName: apply_patch
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 0
    functionsReached:
    - get_object_item
    - detach_path
    - strcmp
    - cJSON_IsObject
    - cJSON_AddItemToObject
    - cJSON_Delete
    - decode_patch_operation
    - cJSON_free
    - overwrite_item
    - cJSON_IsString
    - get_item_from_pointer
    - cJSON_IsArray
    - decode_pointer_inplace
    - cJSON_Duplicate
    - strrchr
    - cJSON_AddItemToArray
    - decode_array_index_from_pointer
    - cJSONUtils_strdup
    - cJSON_DeleteItemFromObjectCaseSensitive
    - insert_item_in_array
    - compare_json
    - cJSON_DeleteItemFromObject
    linkageType: ''
    returnType: int
    signature: int apply_patch(cJSON *object, const cJSON *patch, const cJSON_bool
      case_sensitive)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsArray
      Src: /src/cJSON/cJSON_Utils.c:1043,1
    - Dst: apply_patch
      Src: /src/cJSON/cJSON_Utils.c:1056,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - object
    - patches
    argTypes:
    - cJSON*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1038
    functionDepth: 5
    functionLinenumber: 1038
    functionLinenumberEnd: 1065
    functionName: cJSONUtils_ApplyPatches
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 0
    functionsReached:
    - cJSON_IsArray
    - apply_patch
    linkageType: ''
    returnType: void
    signature: void cJSONUtils_ApplyPatches(cJSON * const object, const cJSON * const
      patches)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsArray
      Src: /src/cJSON/cJSON_Utils.c:1072,1
    - Dst: apply_patch
      Src: /src/cJSON/cJSON_Utils.c:1085,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - object
    - patches
    argTypes:
    - cJSON*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1067
    functionDepth: 5
    functionLinenumber: 1067
    functionLinenumberEnd: 1094
    functionName: cJSONUtils_ApplyPatchesCaseSensitive
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 0
    functionsReached:
    - cJSON_IsArray
    - apply_patch
    linkageType: ''
    returnType: void
    signature: void cJSONUtils_ApplyPatchesCaseSensitive(cJSON * const object, const
      cJSON * const patches)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/cJSON_Utils.c:1105,1
    - Dst: cJSON_AddItemToObject
      Src: /src/cJSON/cJSON_Utils.c:1110,1
    - Dst: cJSON_CreateString
      Src: /src/cJSON/cJSON_Utils.c:1110,1
    - Dst: cJSON_AddItemToObject
      Src: /src/cJSON/cJSON_Utils.c:1114,1
    - Dst: cJSON_CreateString
      Src: /src/cJSON/cJSON_Utils.c:1114,1
    - Dst: pointer_encoded_length
      Src: /src/cJSON/cJSON_Utils.c:1118,1
    - Dst: strlen
      Src: /src/cJSON/cJSON_Utils.c:1119,1
    - Dst: cJSON_malloc
      Src: /src/cJSON/cJSON_Utils.c:1120,1
    - Dst: sprintf
      Src: /src/cJSON/cJSON_Utils.c:1122,1
    - Dst: encode_string_as_pointer
      Src: /src/cJSON/cJSON_Utils.c:1123,1
    - Dst: cJSON_AddItemToObject
      Src: /src/cJSON/cJSON_Utils.c:1125,1
    - Dst: cJSON_CreateString
      Src: /src/cJSON/cJSON_Utils.c:1125,1
    - Dst: cJSON_free
      Src: /src/cJSON/cJSON_Utils.c:1126,1
    - Dst: cJSON_AddItemToObject
      Src: /src/cJSON/cJSON_Utils.c:1131,1
    - Dst: cJSON_Duplicate
      Src: /src/cJSON/cJSON_Utils.c:1131,1
    - Dst: cJSON_AddItemToArray
      Src: /src/cJSON/cJSON_Utils.c:1133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - patches
    - operation
    - path
    - suffix
    - value
    argTypes:
    - cJSON*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1096
    functionDepth: 4
    functionLinenumber: 1096
    functionLinenumberEnd: 1134
    functionName: compose_patch
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 0
    functionsReached:
    - cJSON_Duplicate
    - cJSON_free
    - pointer_encoded_length
    - sprintf
    - cJSON_malloc
    - cJSON_AddItemToArray
    - strlen
    - cJSON_CreateString
    - encode_string_as_pointer
    - cJSON_AddItemToObject
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void compose_patch(cJSON * const patches, const unsigned char * const
      operation, const unsigned char * const path, const unsigned char *suffix, const
      cJSON * const value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compose_patch
      Src: /src/cJSON/cJSON_Utils.c:1138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - array
    - operation
    - path
    - value
    argTypes:
    - cJSON*
    - char*
    - char*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1136
    functionDepth: 5
    functionLinenumber: 1136
    functionLinenumberEnd: 1139
    functionName: cJSONUtils_AddPatchToArray
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 0
    functionsReached:
    - compose_patch
    linkageType: ''
    returnType: void
    signature: void cJSONUtils_AddPatchToArray(cJSON * const array, const char * const
      operation, const char * const path, const cJSON * const value)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: compose_patch
      Src: /src/cJSON/cJSON_Utils.c:1150,1
    - Dst: compare_double
      Src: /src/cJSON/cJSON_Utils.c:1157,1
    - Dst: compose_patch
      Src: /src/cJSON/cJSON_Utils.c:1159,1
    - Dst: strcmp
      Src: /src/cJSON/cJSON_Utils.c:1164,1
    - Dst: compose_patch
      Src: /src/cJSON/cJSON_Utils.c:1166,1
    - Dst: cJSON_malloc
      Src: /src/cJSON/cJSON_Utils.c:1175,1
    - Dst: strlen
      Src: /src/cJSON/cJSON_Utils.c:1175,1
    - Dst: cJSON_free
      Src: /src/cJSON/cJSON_Utils.c:1185,1
    - Dst: sprintf
      Src: /src/cJSON/cJSON_Utils.c:1188,1
    - Dst: create_patches
      Src: /src/cJSON/cJSON_Utils.c:1189,1
    - Dst: cJSON_free
      Src: /src/cJSON/cJSON_Utils.c:1200,1
    - Dst: sprintf
      Src: /src/cJSON/cJSON_Utils.c:1203,1
    - Dst: compose_patch
      Src: /src/cJSON/cJSON_Utils.c:1204,1
    - Dst: compose_patch
      Src: /src/cJSON/cJSON_Utils.c:1209,1
    - Dst: cJSON_free
      Src: /src/cJSON/cJSON_Utils.c:1211,1
    - Dst: sort_object
      Src: /src/cJSON/cJSON_Utils.c:1219,1
    - Dst: sort_object
      Src: /src/cJSON/cJSON_Utils.c:1220,1
    - Dst: compare_strings
      Src: /src/cJSON/cJSON_Utils.c:1238,1
    - Dst: strlen
      Src: /src/cJSON/cJSON_Utils.c:1244,1
    - Dst: pointer_encoded_length
      Src: /src/cJSON/cJSON_Utils.c:1245,1
    - Dst: cJSON_malloc
      Src: /src/cJSON/cJSON_Utils.c:1246,1
    - Dst: sprintf
      Src: /src/cJSON/cJSON_Utils.c:1248,1
    - Dst: encode_string_as_pointer
      Src: /src/cJSON/cJSON_Utils.c:1249,1
    - Dst: create_patches
      Src: /src/cJSON/cJSON_Utils.c:1252,1
    - Dst: cJSON_free
      Src: /src/cJSON/cJSON_Utils.c:1253,1
    - Dst: compose_patch
      Src: /src/cJSON/cJSON_Utils.c:1261,1
    - Dst: compose_patch
      Src: /src/cJSON/cJSON_Utils.c:1268,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 77
    argCount: 5
    argNames:
    - patches
    - path
    - from
    - to
    - case_sensitive
    argTypes:
    - cJSON*
    - unsigned char*
    - cJSON*
    - cJSON*
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1141
    functionDepth: 5
    functionLinenumber: 1141
    functionLinenumberEnd: 1279
    functionName: create_patches
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 1
    functionsReached:
    - compare_double
    - create_patches
    - compare_strings
    - cJSON_free
    - pointer_encoded_length
    - sort_object
    - compose_patch
    - cJSON_malloc
    - sprintf
    - strlen
    - strcmp
    - encode_string_as_pointer
    linkageType: ''
    returnType: void
    signature: void create_patches(cJSON * const patches, const unsigned char * const
      path, cJSON * const from, cJSON * const to, const cJSON_bool case_sensitive)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateArray
      Src: /src/cJSON/cJSON_Utils.c:1290,1
    - Dst: create_patches
      Src: /src/cJSON/cJSON_Utils.c:1291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - cJSON*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1281
    functionDepth: 6
    functionLinenumber: 1281
    functionLinenumberEnd: 1294
    functionName: cJSONUtils_GeneratePatches
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 0
    functionsReached:
    - cJSON_CreateArray
    - create_patches
    linkageType: ''
    returnType: void
    signature: void cJSONUtils_GeneratePatches(cJSON * const from, cJSON * const to)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateArray
      Src: /src/cJSON/cJSON_Utils.c:1305,1
    - Dst: create_patches
      Src: /src/cJSON/cJSON_Utils.c:1306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - cJSON*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1296
    functionDepth: 6
    functionLinenumber: 1296
    functionLinenumberEnd: 1309
    functionName: cJSONUtils_GeneratePatchesCaseSensitive
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 0
    functionsReached:
    - cJSON_CreateArray
    - create_patches
    linkageType: ''
    returnType: void
    signature: void cJSONUtils_GeneratePatchesCaseSensitive(cJSON * const from, cJSON
      * const to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sort_object
      Src: /src/cJSON/cJSON_Utils.c:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1311
    functionDepth: 3
    functionLinenumber: 1311
    functionLinenumberEnd: 1314
    functionName: cJSONUtils_SortObject
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 0
    functionsReached:
    - sort_object
    linkageType: ''
    returnType: void
    signature: void cJSONUtils_SortObject(cJSON * const object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sort_object
      Src: /src/cJSON/cJSON_Utils.c:1318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1316
    functionDepth: 3
    functionLinenumber: 1316
    functionLinenumberEnd: 1319
    functionName: cJSONUtils_SortObjectCaseSensitive
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 0
    functionsReached:
    - sort_object
    linkageType: ''
    returnType: void
    signature: void cJSONUtils_SortObjectCaseSensitive(cJSON * const object)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsObject
      Src: /src/cJSON/cJSON_Utils.c:1325,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON_Utils.c:1328,1
    - Dst: cJSON_Duplicate
      Src: /src/cJSON/cJSON_Utils.c:1329,1
    - Dst: cJSON_IsObject
      Src: /src/cJSON/cJSON_Utils.c:1332,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON_Utils.c:1334,1
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/cJSON_Utils.c:1335,1
    - Dst: cJSON_IsNull
      Src: /src/cJSON/cJSON_Utils.c:1341,1
    - Dst: cJSON_DeleteItemFromObjectCaseSensitive
      Src: /src/cJSON/cJSON_Utils.c:1346,1
    - Dst: cJSON_DeleteItemFromObject
      Src: /src/cJSON/cJSON_Utils.c:1350,1
    - Dst: cJSON_DetachItemFromObjectCaseSensitive
      Src: /src/cJSON/cJSON_Utils.c:1360,1
    - Dst: cJSON_DetachItemFromObject
      Src: /src/cJSON/cJSON_Utils.c:1364,1
    - Dst: merge_patch
      Src: /src/cJSON/cJSON_Utils.c:1367,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON_Utils.c:1370,1
    - Dst: cJSON_AddItemToObject
      Src: /src/cJSON/cJSON_Utils.c:1374,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - target
    - patch
    - case_sensitive
    argTypes:
    - cJSON*
    - cJSON*
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1321
    functionDepth: 4
    functionLinenumber: 1321
    functionLinenumberEnd: 1379
    functionName: merge_patch
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 1
    functionsReached:
    - cJSON_Delete
    - cJSON_IsNull
    - cJSON_AddItemToObject
    - cJSON_Duplicate
    - cJSON_DetachItemFromObjectCaseSensitive
    - cJSON_DeleteItemFromObjectCaseSensitive
    - cJSON_IsObject
    - cJSON_DetachItemFromObject
    - merge_patch
    - cJSON_DeleteItemFromObject
    - cJSON_CreateObject
    linkageType: ''
    returnType: cJSON
    signature: cJSON *merge_patch(cJSON *target, const cJSON * const patch, const
      cJSON_bool case_sensitive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: merge_patch
      Src: /src/cJSON/cJSON_Utils.c:1383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - target
    - patch
    argTypes:
    - cJSON*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1381
    functionDepth: 5
    functionLinenumber: 1381
    functionLinenumberEnd: 1384
    functionName: cJSONUtils_MergePatch
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 0
    functionsReached:
    - merge_patch
    linkageType: ''
    returnType: void
    signature: void cJSONUtils_MergePatch(cJSON *target, const cJSON * const patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: merge_patch
      Src: /src/cJSON/cJSON_Utils.c:1388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - target
    - patch
    argTypes:
    - cJSON*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1386
    functionDepth: 5
    functionLinenumber: 1386
    functionLinenumberEnd: 1389
    functionName: cJSONUtils_MergePatchCaseSensitive
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 0
    functionsReached:
    - merge_patch
    linkageType: ''
    returnType: void
    signature: void cJSONUtils_MergePatchCaseSensitive(cJSON *target, const cJSON
      * const patch)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateNull
      Src: /src/cJSON/cJSON_Utils.c:1399,1
    - Dst: cJSON_IsObject
      Src: /src/cJSON/cJSON_Utils.c:1401,1
    - Dst: cJSON_IsObject
      Src: /src/cJSON/cJSON_Utils.c:1401,1
    - Dst: cJSON_Duplicate
      Src: /src/cJSON/cJSON_Utils.c:1403,1
    - Dst: sort_object
      Src: /src/cJSON/cJSON_Utils.c:1406,1
    - Dst: sort_object
      Src: /src/cJSON/cJSON_Utils.c:1407,1
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/cJSON_Utils.c:1411,1
    - Dst: strcmp
      Src: /src/cJSON/cJSON_Utils.c:1423,1
    - Dst: cJSON_AddItemToObject
      Src: /src/cJSON/cJSON_Utils.c:1438,1
    - Dst: cJSON_CreateNull
      Src: /src/cJSON/cJSON_Utils.c:1438,1
    - Dst: cJSON_AddItemToObject
      Src: /src/cJSON/cJSON_Utils.c:1445,1
    - Dst: cJSON_Duplicate
      Src: /src/cJSON/cJSON_Utils.c:1445,1
    - Dst: compare_json
      Src: /src/cJSON/cJSON_Utils.c:1452,1
    - Dst: cJSON_AddItemToObject
      Src: /src/cJSON/cJSON_Utils.c:1455,1
    - Dst: cJSONUtils_GenerateMergePatch
      Src: /src/cJSON/cJSON_Utils.c:1455,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/cJSON_Utils.c:1466,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 3
    argNames:
    - from
    - to
    - case_sensitive
    argTypes:
    - cJSON*
    - cJSON*
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1391
    functionDepth: 4
    functionLinenumber: 1391
    functionLinenumberEnd: 1471
    functionName: generate_merge_patch
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSONUtils_GenerateMergePatch
    - cJSON_Duplicate
    - cJSON_CreateNull
    - sort_object
    - cJSON_IsObject
    - strcmp
    - compare_json
    - cJSON_AddItemToObject
    - cJSON_CreateObject
    linkageType: ''
    returnType: cJSON
    signature: cJSON *generate_merge_patch(cJSON * const from, cJSON * const to, const
      cJSON_bool case_sensitive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generate_merge_patch
      Src: /src/cJSON/cJSON_Utils.c:1475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - cJSON*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1476
      start: 1473
    functionDepth: 5
    functionLinenumber: 1473
    functionLinenumberEnd: 1476
    functionName: cJSONUtils_GenerateMergePatch
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 1
    functionsReached:
    - generate_merge_patch
    linkageType: ''
    returnType: void
    signature: void cJSONUtils_GenerateMergePatch(cJSON * const from, cJSON * const
      to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: generate_merge_patch
      Src: /src/cJSON/cJSON_Utils.c:1480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - cJSON*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1478
    functionDepth: 5
    functionLinenumber: 1478
    functionLinenumberEnd: 1481
    functionName: cJSONUtils_GenerateMergePatchCaseSensitive
    functionSourceFile: /src/cJSON/cJSON_Utils.c
    functionUses: 0
    functionsReached:
    - generate_merge_patch
    linkageType: ''
    returnType: void
    signature: void cJSONUtils_GenerateMergePatchCaseSensitive(cJSON * const from,
      cJSON * const to)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: CJSON_PUBLIC
    functionSourceFile: /src/cJSON/cJSON.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CJSON_PUBLIC(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: CJSON_PUBLIC
    functionSourceFile: /src/cJSON/cJSON.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CJSON_PUBLIC(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: CJSON_PUBLIC
    functionSourceFile: /src/cJSON/cJSON.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CJSON_PUBLIC(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: CJSON_PUBLIC
    functionSourceFile: /src/cJSON/cJSON.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CJSON_PUBLIC(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: CJSON_PUBLIC
    functionSourceFile: /src/cJSON/cJSON.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CJSON_PUBLIC(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - object
    - ','
    - number
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 276
    functionName: cJSON_SetIntValue
    functionSourceFile: /src/cJSON/cJSON.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cJSON_SetIntValue(object, number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - object
    - ','
    - number
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 279
    functionName: cJSON_SetNumberValue
    functionSourceFile: /src/cJSON/cJSON.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cJSON_SetNumberValue(object, number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - object
    - ','
    - boolValue
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 288
    functionName: cJSON_SetBoolValue
    functionSourceFile: /src/cJSON/cJSON.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cJSON_SetBoolValue(object, boolValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - element
    - ','
    - array
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/cJSON/cJSON.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cJSON_ArrayForEach(element, array)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/readme_examples.c:60,1
    - Dst: cJSON_CreateString
      Src: /src/cJSON/tests/readme_examples.c:66,1
    - Dst: cJSON_AddItemToObject
      Src: /src/cJSON/tests/readme_examples.c:73,1
    - Dst: cJSON_CreateArray
      Src: /src/cJSON/tests/readme_examples.c:75,1
    - Dst: cJSON_AddItemToObject
      Src: /src/cJSON/tests/readme_examples.c:80,1
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/readme_examples.c:84,1
    - Dst: cJSON_AddItemToArray
      Src: /src/cJSON/tests/readme_examples.c:89,1
    - Dst: cJSON_CreateNumber
      Src: /src/cJSON/tests/readme_examples.c:91,1
    - Dst: cJSON_AddItemToObject
      Src: /src/cJSON/tests/readme_examples.c:96,1
    - Dst: cJSON_CreateNumber
      Src: /src/cJSON/tests/readme_examples.c:98,1
    - Dst: cJSON_AddItemToObject
      Src: /src/cJSON/tests/readme_examples.c:103,1
    - Dst: cJSON_Print
      Src: /src/cJSON/tests/readme_examples.c:106,1
    - Dst: fprintf
      Src: /src/cJSON/tests/readme_examples.c:109,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/readme_examples.c:113,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 45
    functionDepth: 4
    functionLinenumber: 45
    functionLinenumberEnd: 115
    functionName: create_monitor
    functionSourceFile: /src/cJSON/tests/readme_examples.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_Print
    - cJSON_CreateNumber
    - fprintf
    - cJSON_AddItemToArray
    - cJSON_CreateArray
    - cJSON_CreateString
    - cJSON_AddItemToObject
    - cJSON_CreateObject
    linkageType: ''
    returnType: char
    signature: char * create_monitor(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/readme_examples.c:128,1
    - Dst: cJSON_AddStringToObject
      Src: /src/cJSON/tests/readme_examples.c:130,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/cJSON/tests/readme_examples.c:135,1
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/readme_examples.c:143,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/cJSON/tests/readme_examples.c:145,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/cJSON/tests/readme_examples.c:150,1
    - Dst: cJSON_AddItemToArray
      Src: /src/cJSON/tests/readme_examples.c:155,1
    - Dst: cJSON_Print
      Src: /src/cJSON/tests/readme_examples.c:158,1
    - Dst: fprintf
      Src: /src/cJSON/tests/readme_examples.c:160,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/readme_examples.c:164,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 117
    functionDepth: 4
    functionLinenumber: 117
    functionLinenumberEnd: 166
    functionName: create_monitor_with_helpers
    functionSourceFile: /src/cJSON/tests/readme_examples.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_Print
    - cJSON_AddNumberToObject
    - fprintf
    - cJSON_AddArrayToObject
    - cJSON_AddItemToArray
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: char
    signature: char *create_monitor_with_helpers(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/cJSON/tests/readme_examples.c:175,1
    - Dst: cJSON_GetErrorPtr
      Src: /src/cJSON/tests/readme_examples.c:178,1
    - Dst: fprintf
      Src: /src/cJSON/tests/readme_examples.c:181,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/readme_examples.c:187,1
    - Dst: cJSON_IsString
      Src: /src/cJSON/tests/readme_examples.c:188,1
    - Dst: printf
      Src: /src/cJSON/tests/readme_examples.c:190,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/readme_examples.c:193,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/readme_examples.c:196,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/readme_examples.c:197,1
    - Dst: cJSON_IsNumber
      Src: /src/cJSON/tests/readme_examples.c:199,1
    - Dst: cJSON_IsNumber
      Src: /src/cJSON/tests/readme_examples.c:199,1
    - Dst: compare_double
      Src: /src/cJSON/tests/readme_examples.c:205,1
    - Dst: compare_double
      Src: /src/cJSON/tests/readme_examples.c:205,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/readme_examples.c:213,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - monitor
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 215
    functionName: supports_full_hd
    functionSourceFile: /src/cJSON/tests/readme_examples.c
    functionUses: 0
    functionsReached:
    - compare_double
    - cJSON_IsNumber
    - cJSON_Delete
    - fprintf
    - cJSON_GetObjectItemCaseSensitive
    - printf
    - cJSON_IsString
    - cJSON_GetErrorPtr
    - cJSON_Parse
    linkageType: ''
    returnType: int
    signature: int supports_full_hd(const char * const monitor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/readme_examples.c:196,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/readme_examples.c:197,1
    - Dst: cJSON_IsNumber
      Src: /src/cJSON/tests/readme_examples.c:199,1
    - Dst: cJSON_IsNumber
      Src: /src/cJSON/tests/readme_examples.c:199,1
    - Dst: compare_double
      Src: /src/cJSON/tests/readme_examples.c:205,1
    - Dst: compare_double
      Src: /src/cJSON/tests/readme_examples.c:205,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 210
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/cJSON/tests/readme_examples.c
    functionUses: 0
    functionsReached:
    - compare_double
    - cJSON_IsNumber
    - cJSON_GetObjectItemCaseSensitive
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(resolution, resolutions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_monitor
      Src: /src/cJSON/tests/readme_examples.c:219,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/readme_examples.c:221,1
    - Dst: free
      Src: /src/cJSON/tests/readme_examples.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 217
    functionDepth: 5
    functionLinenumber: 217
    functionLinenumberEnd: 224
    functionName: create_monitor_should_create_a_monitor
    functionSourceFile: /src/cJSON/tests/readme_examples.c
    functionUses: 0
    functionsReached:
    - create_monitor
    - free
    - TEST_ASSERT_EQUAL_STRING
    linkageType: ''
    returnType: void
    signature: void create_monitor_should_create_a_monitor(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_monitor_with_helpers
      Src: /src/cJSON/tests/readme_examples.c:228,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/readme_examples.c:230,1
    - Dst: free
      Src: /src/cJSON/tests/readme_examples.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 226
    functionDepth: 5
    functionLinenumber: 226
    functionLinenumberEnd: 233
    functionName: create_monitor_with_helpers_should_create_a_monitor
    functionSourceFile: /src/cJSON/tests/readme_examples.c
    functionUses: 0
    functionsReached:
    - free
    - TEST_ASSERT_EQUAL_STRING
    - create_monitor_with_helpers
    linkageType: ''
    returnType: void
    signature: void create_monitor_with_helpers_should_create_a_monitor(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/cJSON/tests/readme_examples.c:245,1
    - Dst: supports_full_hd
      Src: /src/cJSON/tests/readme_examples.c:245,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/readme_examples.c:246,1
    - Dst: supports_full_hd
      Src: /src/cJSON/tests/readme_examples.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 235
    functionDepth: 4
    functionLinenumber: 235
    functionLinenumberEnd: 247
    functionName: supports_full_hd_should_check_for_full_hd_support
    functionSourceFile: /src/cJSON/tests/readme_examples.c
    functionUses: 0
    functionsReached:
    - supports_full_hd
    - TEST_ASSERT
    - TEST_ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void supports_full_hd_should_check_for_full_hd_support(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_BEGIN
      Src: /src/cJSON/tests/readme_examples.c:251,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/readme_examples.c:253,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/readme_examples.c:254,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/readme_examples.c:255,1
    - Dst: UNITY_END
      Src: /src/cJSON/tests/readme_examples.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: CJSON_CDECL::main
    functionSourceFile: /src/cJSON/tests/readme_examples.c
    functionUses: 0
    functionsReached:
    - UNITY_END
    - RUN_TEST
    - UNITY_BEGIN
    linkageType: ''
    returnType: int
    signature: int CJSON_CDECL main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_NOT_NULL_MESSAGE
      Src: /src/cJSON/tests/parse_object.c:35,1
    - Dst: assert_not_in_list
      Src: /src/cJSON/tests/parse_object.c:37,1
    - Dst: assert_has_type
      Src: /src/cJSON/tests/parse_object.c:38,1
    - Dst: assert_has_no_reference
      Src: /src/cJSON/tests/parse_object.c:39,1
    - Dst: assert_has_no_const_string
      Src: /src/cJSON/tests/parse_object.c:40,1
    - Dst: assert_has_no_valuestring
      Src: /src/cJSON/tests/parse_object.c:41,1
    - Dst: assert_has_no_string
      Src: /src/cJSON/tests/parse_object.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - object_item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: assert_is_object
    functionSourceFile: /src/cJSON/tests/parse_object.c
    functionUses: 0
    functionsReached:
    - assert_has_no_const_string
    - TEST_ASSERT_NOT_NULL_MESSAGE
    - assert_not_in_list
    - assert_has_no_reference
    - assert_has_no_string
    - assert_has_no_valuestring
    - assert_has_type
    linkageType: ''
    returnType: void
    signature: void assert_is_object(cJSON *object_item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_NOT_NULL_MESSAGE
      Src: /src/cJSON/tests/parse_object.c:47,1
    - Dst: TEST_ASSERT_NOT_NULL_MESSAGE
      Src: /src/cJSON/tests/parse_object.c:48,1
    - Dst: TEST_ASSERT_EQUAL_STRING_MESSAGE
      Src: /src/cJSON/tests/parse_object.c:49,1
    - Dst: TEST_ASSERT_BITS
      Src: /src/cJSON/tests/parse_object.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - child_item
    - name
    - type
    argTypes:
    - cJSON*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: assert_is_child
    functionSourceFile: /src/cJSON/tests/parse_object.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_BITS
    - TEST_ASSERT_EQUAL_STRING_MESSAGE
    - TEST_ASSERT_NOT_NULL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void assert_is_child(cJSON *child_item, const char *name, int type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cJSON/tests/parse_object.c:57,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/parse_object.c:60,1
    - Dst: parse_object
      Src: /src/cJSON/tests/parse_object.c:60,1
    - Dst: assert_is_invalid
      Src: /src/cJSON/tests/parse_object.c:61,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_object.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - json
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: assert_not_object
    functionSourceFile: /src/cJSON/tests/parse_object.c
    functionUses: 0
    functionsReached:
    - reset
    - assert_is_invalid
    - TEST_ASSERT_FALSE
    - strlen
    - parse_object
    linkageType: ''
    returnType: void
    signature: void assert_not_object(const char *json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cJSON/tests/parse_object.c:69,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/parse_object.c:72,1
    - Dst: parse_object
      Src: /src/cJSON/tests/parse_object.c:72,1
    - Dst: assert_is_object
      Src: /src/cJSON/tests/parse_object.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - json
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 5
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: assert_parse_object
    functionSourceFile: /src/cJSON/tests/parse_object.c
    functionUses: 0
    functionsReached:
    - strlen
    - TEST_ASSERT_TRUE
    - parse_object
    - assert_is_object
    linkageType: ''
    returnType: void
    signature: void assert_parse_object(const char *json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_parse_object
      Src: /src/cJSON/tests/parse_object.c:78,1
    - Dst: assert_has_no_child
      Src: /src/cJSON/tests/parse_object.c:79,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_object.c:80,1
    - Dst: assert_parse_object
      Src: /src/cJSON/tests/parse_object.c:82,1
    - Dst: assert_has_no_child
      Src: /src/cJSON/tests/parse_object.c:83,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_object.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 6
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: parse_object_should_parse_empty_objects
    functionSourceFile: /src/cJSON/tests/parse_object.c
    functionUses: 0
    functionsReached:
    - assert_parse_object
    - assert_has_no_child
    - reset
    linkageType: ''
    returnType: void
    signature: void parse_object_should_parse_empty_objects(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_parse_object
      Src: /src/cJSON/tests/parse_object.c:90,1
    - Dst: assert_is_child
      Src: /src/cJSON/tests/parse_object.c:91,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_object.c:92,1
    - Dst: assert_parse_object
      Src: /src/cJSON/tests/parse_object.c:94,1
    - Dst: assert_is_child
      Src: /src/cJSON/tests/parse_object.c:95,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_object.c:96,1
    - Dst: assert_parse_object
      Src: /src/cJSON/tests/parse_object.c:98,1
    - Dst: assert_is_child
      Src: /src/cJSON/tests/parse_object.c:99,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_object.c:100,1
    - Dst: assert_parse_object
      Src: /src/cJSON/tests/parse_object.c:102,1
    - Dst: assert_is_child
      Src: /src/cJSON/tests/parse_object.c:103,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_object.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 87
    functionDepth: 6
    functionLinenumber: 87
    functionLinenumberEnd: 105
    functionName: parse_object_should_parse_objects_with_one_element
    functionSourceFile: /src/cJSON/tests/parse_object.c
    functionUses: 0
    functionsReached:
    - assert_parse_object
    - assert_is_child
    - reset
    linkageType: ''
    returnType: void
    signature: void parse_object_should_parse_objects_with_one_element(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_parse_object
      Src: /src/cJSON/tests/parse_object.c:109,1
    - Dst: assert_is_child
      Src: /src/cJSON/tests/parse_object.c:110,1
    - Dst: assert_is_child
      Src: /src/cJSON/tests/parse_object.c:111,1
    - Dst: assert_is_child
      Src: /src/cJSON/tests/parse_object.c:112,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_object.c:113,1
    - Dst: assert_parse_object
      Src: /src/cJSON/tests/parse_object.c:138,1
    - Dst: assert_is_child
      Src: /src/cJSON/tests/parse_object.c:147,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/parse_object.c:149,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_object.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 107
    functionDepth: 6
    functionLinenumber: 107
    functionLinenumberEnd: 152
    functionName: parse_object_should_parse_objects_with_multiple_elements
    functionSourceFile: /src/cJSON/tests/parse_object.c
    functionUses: 0
    functionsReached:
    - assert_parse_object
    - assert_is_child
    - TEST_ASSERT_EQUAL_INT
    - reset
    linkageType: ''
    returnType: void
    signature: void parse_object_should_parse_objects_with_multiple_elements(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_not_object
      Src: /src/cJSON/tests/parse_object.c:156,1
    - Dst: assert_not_object
      Src: /src/cJSON/tests/parse_object.c:157,1
    - Dst: assert_not_object
      Src: /src/cJSON/tests/parse_object.c:158,1
    - Dst: assert_not_object
      Src: /src/cJSON/tests/parse_object.c:159,1
    - Dst: assert_not_object
      Src: /src/cJSON/tests/parse_object.c:160,1
    - Dst: assert_not_object
      Src: /src/cJSON/tests/parse_object.c:161,1
    - Dst: assert_not_object
      Src: /src/cJSON/tests/parse_object.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 6
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: parse_object_should_not_parse_non_objects
    functionSourceFile: /src/cJSON/tests/parse_object.c
    functionUses: 0
    functionsReached:
    - assert_not_object
    linkageType: ''
    returnType: void
    signature: void parse_object_should_not_parse_non_objects(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cJSON/tests/parse_object.c:168,1
    - Dst: UNITY_BEGIN
      Src: /src/cJSON/tests/parse_object.c:170,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_object.c:171,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_object.c:172,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_object.c:173,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_object.c:174,1
    - Dst: UNITY_END
      Src: /src/cJSON/tests/parse_object.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: CJSON_CDECL::main
    functionSourceFile: /src/cJSON/tests/parse_object.c
    functionUses: 0
    functionsReached:
    - UNITY_END
    - RUN_TEST
    - UNITY_BEGIN
    - memset
    linkageType: ''
    returnType: int
    signature: int CJSON_CDECL main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: CJSON_CDECL::failing_malloc
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * CJSON_CDECL failing_malloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cJSON/tests/cjson_add.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pointer
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: CJSON_CDECL::normal_free
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void CJSON_CDECL normal_free(void *pointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/cjson_add.c:50,1
    - Dst: cJSON_AddNullToObject
      Src: /src/cJSON/tests/cjson_add.c:53,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/cjson_add.c:55,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/cjson_add.c:55,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/cjson_add.c:56,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/cjson_add.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 4
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: cjson_add_null_should_add_null
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_INT
    - cJSON_Delete
    - cJSON_GetObjectItemCaseSensitive
    - TEST_ASSERT_NOT_NULL
    - cJSON_AddNullToObject
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void cjson_add_null_should_add_null(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/cjson_add.c:63,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:65,1
    - Dst: cJSON_AddNullToObject
      Src: /src/cJSON/tests/cjson_add.c:65,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:66,1
    - Dst: cJSON_AddNullToObject
      Src: /src/cJSON/tests/cjson_add.c:66,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/cjson_add.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: cjson_add_null_should_fail_with_null_pointers
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - cJSON_AddNullToObject
    - cJSON_Delete
    - TEST_ASSERT_NULL
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void cjson_add_null_should_fail_with_null_pointers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/cjson_add.c:73,1
    - Dst: cJSON_InitHooks
      Src: /src/cJSON/tests/cjson_add.c:75,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:77,1
    - Dst: cJSON_AddNullToObject
      Src: /src/cJSON/tests/cjson_add.c:77,1
    - Dst: cJSON_InitHooks
      Src: /src/cJSON/tests/cjson_add.c:79,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/cjson_add.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 4
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionName: cjson_add_null_should_fail_on_allocation_failure
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_AddNullToObject
    - cJSON_InitHooks
    - TEST_ASSERT_NULL
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void cjson_add_null_should_fail_on_allocation_failure(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/cjson_add.c:86,1
    - Dst: cJSON_AddTrueToObject
      Src: /src/cJSON/tests/cjson_add.c:89,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/cjson_add.c:91,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/cjson_add.c:91,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/cjson_add.c:92,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/cjson_add.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 4
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: cjson_add_true_should_add_true
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_INT
    - cJSON_Delete
    - cJSON_GetObjectItemCaseSensitive
    - TEST_ASSERT_NOT_NULL
    - cJSON_AddTrueToObject
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void cjson_add_true_should_add_true(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/cjson_add.c:99,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:101,1
    - Dst: cJSON_AddTrueToObject
      Src: /src/cJSON/tests/cjson_add.c:101,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:102,1
    - Dst: cJSON_AddTrueToObject
      Src: /src/cJSON/tests/cjson_add.c:102,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/cjson_add.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 4
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: cjson_add_true_should_fail_with_null_pointers
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_AddTrueToObject
    - TEST_ASSERT_NULL
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void cjson_add_true_should_fail_with_null_pointers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/cjson_add.c:109,1
    - Dst: cJSON_InitHooks
      Src: /src/cJSON/tests/cjson_add.c:111,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:113,1
    - Dst: cJSON_AddTrueToObject
      Src: /src/cJSON/tests/cjson_add.c:113,1
    - Dst: cJSON_InitHooks
      Src: /src/cJSON/tests/cjson_add.c:115,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/cjson_add.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 107
    functionDepth: 4
    functionLinenumber: 107
    functionLinenumberEnd: 118
    functionName: cjson_add_true_should_fail_on_allocation_failure
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_AddTrueToObject
    - cJSON_InitHooks
    - TEST_ASSERT_NULL
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void cjson_add_true_should_fail_on_allocation_failure(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_InitHooks
      Src: /src/cJSON/tests/cjson_add.c:124,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:126,1
    - Dst: cJSON_CreateIntArray
      Src: /src/cJSON/tests/cjson_add.c:126,1
    - Dst: cJSON_InitHooks
      Src: /src/cJSON/tests/cjson_add.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: cjson_create_int_array_should_fail_on_allocation_failure
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - cJSON_InitHooks
    - TEST_ASSERT_NULL
    - cJSON_CreateIntArray
    linkageType: ''
    returnType: void
    signature: void cjson_create_int_array_should_fail_on_allocation_failure(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_InitHooks
      Src: /src/cJSON/tests/cjson_add.c:135,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:137,1
    - Dst: cJSON_CreateFloatArray
      Src: /src/cJSON/tests/cjson_add.c:137,1
    - Dst: cJSON_InitHooks
      Src: /src/cJSON/tests/cjson_add.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: cjson_create_float_array_should_fail_on_allocation_failure
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - cJSON_CreateFloatArray
    - cJSON_InitHooks
    - TEST_ASSERT_NULL
    linkageType: ''
    returnType: void
    signature: void cjson_create_float_array_should_fail_on_allocation_failure(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_InitHooks
      Src: /src/cJSON/tests/cjson_add.c:146,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:148,1
    - Dst: cJSON_CreateDoubleArray
      Src: /src/cJSON/tests/cjson_add.c:148,1
    - Dst: cJSON_InitHooks
      Src: /src/cJSON/tests/cjson_add.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 151
    functionName: cjson_create_double_array_should_fail_on_allocation_failure
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - cJSON_InitHooks
    - TEST_ASSERT_NULL
    - cJSON_CreateDoubleArray
    linkageType: ''
    returnType: void
    signature: void cjson_create_double_array_should_fail_on_allocation_failure(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_InitHooks
      Src: /src/cJSON/tests/cjson_add.c:157,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:159,1
    - Dst: cJSON_CreateStringArray
      Src: /src/cJSON/tests/cjson_add.c:159,1
    - Dst: cJSON_InitHooks
      Src: /src/cJSON/tests/cjson_add.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 4
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: cjson_create_string_array_should_fail_on_allocation_failure
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - cJSON_CreateStringArray
    - cJSON_InitHooks
    - TEST_ASSERT_NULL
    linkageType: ''
    returnType: void
    signature: void cjson_create_string_array_should_fail_on_allocation_failure(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/cjson_add.c:166,1
    - Dst: cJSON_AddFalseToObject
      Src: /src/cJSON/tests/cjson_add.c:169,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/cjson_add.c:171,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/cjson_add.c:171,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/cjson_add.c:172,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/cjson_add.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 164
    functionDepth: 4
    functionLinenumber: 164
    functionLinenumberEnd: 175
    functionName: cjson_add_false_should_add_false
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_INT
    - cJSON_Delete
    - cJSON_GetObjectItemCaseSensitive
    - TEST_ASSERT_NOT_NULL
    - cJSON_AddFalseToObject
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void cjson_add_false_should_add_false(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/cjson_add.c:179,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:181,1
    - Dst: cJSON_AddFalseToObject
      Src: /src/cJSON/tests/cjson_add.c:181,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:182,1
    - Dst: cJSON_AddFalseToObject
      Src: /src/cJSON/tests/cjson_add.c:182,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/cjson_add.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 177
    functionDepth: 4
    functionLinenumber: 177
    functionLinenumberEnd: 185
    functionName: cjson_add_false_should_fail_with_null_pointers
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - cJSON_AddFalseToObject
    - cJSON_Delete
    - TEST_ASSERT_NULL
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void cjson_add_false_should_fail_with_null_pointers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/cjson_add.c:189,1
    - Dst: cJSON_InitHooks
      Src: /src/cJSON/tests/cjson_add.c:191,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:193,1
    - Dst: cJSON_AddFalseToObject
      Src: /src/cJSON/tests/cjson_add.c:193,1
    - Dst: cJSON_InitHooks
      Src: /src/cJSON/tests/cjson_add.c:195,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/cjson_add.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 187
    functionDepth: 4
    functionLinenumber: 187
    functionLinenumberEnd: 198
    functionName: cjson_add_false_should_fail_on_allocation_failure
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_AddFalseToObject
    - cJSON_InitHooks
    - TEST_ASSERT_NULL
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void cjson_add_false_should_fail_on_allocation_failure(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/cjson_add.c:202,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/cJSON/tests/cjson_add.c:207,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/cjson_add.c:208,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/cjson_add.c:208,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/cjson_add.c:209,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/cJSON/tests/cjson_add.c:212,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/cjson_add.c:213,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/cjson_add.c:213,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/cjson_add.c:214,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/cjson_add.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 200
    functionDepth: 4
    functionLinenumber: 200
    functionLinenumberEnd: 217
    functionName: cjson_add_bool_should_add_bool
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_INT
    - cJSON_Delete
    - cJSON_GetObjectItemCaseSensitive
    - TEST_ASSERT_NOT_NULL
    - cJSON_AddBoolToObject
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void cjson_add_bool_should_add_bool(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/cjson_add.c:221,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:223,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/cJSON/tests/cjson_add.c:223,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:224,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/cJSON/tests/cjson_add.c:224,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/cjson_add.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 219
    functionDepth: 4
    functionLinenumber: 219
    functionLinenumberEnd: 227
    functionName: cjson_add_bool_should_fail_with_null_pointers
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - cJSON_AddBoolToObject
    - cJSON_Delete
    - TEST_ASSERT_NULL
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void cjson_add_bool_should_fail_with_null_pointers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/cjson_add.c:231,1
    - Dst: cJSON_InitHooks
      Src: /src/cJSON/tests/cjson_add.c:233,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:235,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/cJSON/tests/cjson_add.c:235,1
    - Dst: cJSON_InitHooks
      Src: /src/cJSON/tests/cjson_add.c:237,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/cjson_add.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 229
    functionDepth: 4
    functionLinenumber: 229
    functionLinenumberEnd: 240
    functionName: cjson_add_bool_should_fail_on_allocation_failure
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_AddBoolToObject
    - cJSON_InitHooks
    - TEST_ASSERT_NULL
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void cjson_add_bool_should_fail_on_allocation_failure(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/cjson_add.c:244,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/cJSON/tests/cjson_add.c:247,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/cjson_add.c:249,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/cjson_add.c:249,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/cjson_add.c:251,1
    - Dst: TEST_ASSERT_EQUAL_DOUBLE
      Src: /src/cJSON/tests/cjson_add.c:252,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/cjson_add.c:253,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/cjson_add.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 242
    functionDepth: 4
    functionLinenumber: 242
    functionLinenumberEnd: 256
    functionName: cjson_add_number_should_add_number
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_DOUBLE
    - TEST_ASSERT_EQUAL_INT
    - cJSON_Delete
    - cJSON_AddNumberToObject
    - cJSON_GetObjectItemCaseSensitive
    - TEST_ASSERT_NOT_NULL
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void cjson_add_number_should_add_number(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/cjson_add.c:260,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:262,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/cJSON/tests/cjson_add.c:262,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:263,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/cJSON/tests/cjson_add.c:263,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/cjson_add.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 258
    functionDepth: 4
    functionLinenumber: 258
    functionLinenumberEnd: 266
    functionName: cjson_add_number_should_fail_with_null_pointers
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_AddNumberToObject
    - TEST_ASSERT_NULL
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void cjson_add_number_should_fail_with_null_pointers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/cjson_add.c:270,1
    - Dst: cJSON_InitHooks
      Src: /src/cJSON/tests/cjson_add.c:272,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:274,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/cJSON/tests/cjson_add.c:274,1
    - Dst: cJSON_InitHooks
      Src: /src/cJSON/tests/cjson_add.c:276,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/cjson_add.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 268
    functionDepth: 4
    functionLinenumber: 268
    functionLinenumberEnd: 279
    functionName: cjson_add_number_should_fail_on_allocation_failure
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_AddNumberToObject
    - cJSON_InitHooks
    - TEST_ASSERT_NULL
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void cjson_add_number_should_fail_on_allocation_failure(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/cjson_add.c:283,1
    - Dst: cJSON_AddStringToObject
      Src: /src/cJSON/tests/cjson_add.c:286,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/cjson_add.c:288,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/cjson_add.c:288,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/cjson_add.c:289,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/cjson_add.c:290,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/cjson_add.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 281
    functionDepth: 4
    functionLinenumber: 281
    functionLinenumberEnd: 293
    functionName: cjson_add_string_should_add_string
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_INT
    - cJSON_Delete
    - cJSON_GetObjectItemCaseSensitive
    - TEST_ASSERT_NOT_NULL
    - TEST_ASSERT_EQUAL_STRING
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: void
    signature: void cjson_add_string_should_add_string(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/cjson_add.c:297,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:299,1
    - Dst: cJSON_AddStringToObject
      Src: /src/cJSON/tests/cjson_add.c:299,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:300,1
    - Dst: cJSON_AddStringToObject
      Src: /src/cJSON/tests/cjson_add.c:300,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/cjson_add.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 295
    functionDepth: 4
    functionLinenumber: 295
    functionLinenumberEnd: 303
    functionName: cjson_add_string_should_fail_with_null_pointers
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - TEST_ASSERT_NULL
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: void
    signature: void cjson_add_string_should_fail_with_null_pointers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/cjson_add.c:307,1
    - Dst: cJSON_InitHooks
      Src: /src/cJSON/tests/cjson_add.c:309,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:311,1
    - Dst: cJSON_AddStringToObject
      Src: /src/cJSON/tests/cjson_add.c:311,1
    - Dst: cJSON_InitHooks
      Src: /src/cJSON/tests/cjson_add.c:313,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/cjson_add.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 305
    functionDepth: 4
    functionLinenumber: 305
    functionLinenumberEnd: 316
    functionName: cjson_add_string_should_fail_on_allocation_failure
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_InitHooks
    - TEST_ASSERT_NULL
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: void
    signature: void cjson_add_string_should_fail_on_allocation_failure(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/cjson_add.c:320,1
    - Dst: cJSON_AddRawToObject
      Src: /src/cJSON/tests/cjson_add.c:323,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/cjson_add.c:325,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/cjson_add.c:325,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/cjson_add.c:326,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/cjson_add.c:327,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/cjson_add.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 318
    functionDepth: 4
    functionLinenumber: 318
    functionLinenumberEnd: 330
    functionName: cjson_add_raw_should_add_raw
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - cJSON_AddRawToObject
    - TEST_ASSERT_EQUAL_INT
    - cJSON_Delete
    - cJSON_GetObjectItemCaseSensitive
    - TEST_ASSERT_NOT_NULL
    - TEST_ASSERT_EQUAL_STRING
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void cjson_add_raw_should_add_raw(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/cjson_add.c:334,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:336,1
    - Dst: cJSON_AddRawToObject
      Src: /src/cJSON/tests/cjson_add.c:336,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:337,1
    - Dst: cJSON_AddRawToObject
      Src: /src/cJSON/tests/cjson_add.c:337,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/cjson_add.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 4
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: cjson_add_raw_should_fail_with_null_pointers
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - cJSON_AddRawToObject
    - cJSON_Delete
    - TEST_ASSERT_NULL
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void cjson_add_raw_should_fail_with_null_pointers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/cjson_add.c:344,1
    - Dst: cJSON_InitHooks
      Src: /src/cJSON/tests/cjson_add.c:346,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:348,1
    - Dst: cJSON_AddRawToObject
      Src: /src/cJSON/tests/cjson_add.c:348,1
    - Dst: cJSON_InitHooks
      Src: /src/cJSON/tests/cjson_add.c:350,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/cjson_add.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 342
    functionDepth: 4
    functionLinenumber: 342
    functionLinenumberEnd: 353
    functionName: cjson_add_raw_should_fail_on_allocation_failure
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - cJSON_AddRawToObject
    - cJSON_Delete
    - cJSON_InitHooks
    - TEST_ASSERT_NULL
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void cjson_add_raw_should_fail_on_allocation_failure(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/cjson_add.c:357,1
    - Dst: cJSON_AddObjectToObject
      Src: /src/cJSON/tests/cjson_add.c:360,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/cjson_add.c:361,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/cjson_add.c:361,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/cjson_add.c:362,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/cjson_add.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 355
    functionDepth: 4
    functionLinenumber: 355
    functionLinenumberEnd: 365
    functionName: cJSON_add_object_should_add_object
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_INT
    - cJSON_Delete
    - cJSON_GetObjectItemCaseSensitive
    - TEST_ASSERT_NOT_NULL
    - cJSON_AddObjectToObject
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void cJSON_add_object_should_add_object(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/cjson_add.c:369,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:371,1
    - Dst: cJSON_AddObjectToObject
      Src: /src/cJSON/tests/cjson_add.c:371,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:372,1
    - Dst: cJSON_AddObjectToObject
      Src: /src/cJSON/tests/cjson_add.c:372,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/cjson_add.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 367
    functionDepth: 4
    functionLinenumber: 367
    functionLinenumberEnd: 375
    functionName: cjson_add_object_should_fail_with_null_pointers
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - cJSON_AddObjectToObject
    - cJSON_Delete
    - TEST_ASSERT_NULL
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void cjson_add_object_should_fail_with_null_pointers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/cjson_add.c:379,1
    - Dst: cJSON_InitHooks
      Src: /src/cJSON/tests/cjson_add.c:381,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:383,1
    - Dst: cJSON_AddObjectToObject
      Src: /src/cJSON/tests/cjson_add.c:383,1
    - Dst: cJSON_InitHooks
      Src: /src/cJSON/tests/cjson_add.c:385,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/cjson_add.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 377
    functionDepth: 4
    functionLinenumber: 377
    functionLinenumberEnd: 388
    functionName: cjson_add_object_should_fail_on_allocation_failure
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_AddObjectToObject
    - cJSON_InitHooks
    - TEST_ASSERT_NULL
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void cjson_add_object_should_fail_on_allocation_failure(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/cjson_add.c:392,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/cJSON/tests/cjson_add.c:395,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/cjson_add.c:396,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/cjson_add.c:396,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/cjson_add.c:397,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/cjson_add.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 390
    functionDepth: 4
    functionLinenumber: 390
    functionLinenumberEnd: 400
    functionName: cJSON_add_array_should_add_array
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_INT
    - cJSON_Delete
    - cJSON_GetObjectItemCaseSensitive
    - cJSON_AddArrayToObject
    - TEST_ASSERT_NOT_NULL
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void cJSON_add_array_should_add_array(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/cjson_add.c:404,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:406,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/cJSON/tests/cjson_add.c:406,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:407,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/cJSON/tests/cjson_add.c:407,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/cjson_add.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 402
    functionDepth: 4
    functionLinenumber: 402
    functionLinenumberEnd: 410
    functionName: cjson_add_array_should_fail_with_null_pointers
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_AddArrayToObject
    - TEST_ASSERT_NULL
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void cjson_add_array_should_fail_with_null_pointers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/cjson_add.c:414,1
    - Dst: cJSON_InitHooks
      Src: /src/cJSON/tests/cjson_add.c:416,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/cjson_add.c:418,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/cJSON/tests/cjson_add.c:418,1
    - Dst: cJSON_InitHooks
      Src: /src/cJSON/tests/cjson_add.c:420,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/cjson_add.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 412
    functionDepth: 4
    functionLinenumber: 412
    functionLinenumberEnd: 423
    functionName: cjson_add_array_should_fail_on_allocation_failure
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_AddArrayToObject
    - cJSON_InitHooks
    - TEST_ASSERT_NULL
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void cjson_add_array_should_fail_on_allocation_failure(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_BEGIN
      Src: /src/cJSON/tests/cjson_add.c:427,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:429,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:430,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:431,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:433,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:434,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:435,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:437,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:438,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:439,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:440,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:442,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:443,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:444,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:446,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:447,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:448,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:450,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:451,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:452,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:454,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:455,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:456,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:458,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:459,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:460,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:462,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:463,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:464,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:466,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:467,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/cjson_add.c:468,1
    - Dst: UNITY_END
      Src: /src/cJSON/tests/cjson_add.c:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 471
    functionName: CJSON_CDECL::main
    functionSourceFile: /src/cJSON/tests/cjson_add.c
    functionUses: 0
    functionsReached:
    - UNITY_END
    - RUN_TEST
    - UNITY_BEGIN
    linkageType: ''
    returnType: int
    signature: int CJSON_CDECL main(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cJSON/tests/print_number.c:41,1
    - Dst: memset
      Src: /src/cJSON/tests/print_number.c:42,1
    - Dst: cJSON_SetNumberValue
      Src: /src/cJSON/tests/print_number.c:43,1
    - Dst: TEST_ASSERT_TRUE_MESSAGE
      Src: /src/cJSON/tests/print_number.c:44,1
    - Dst: print_number
      Src: /src/cJSON/tests/print_number.c:44,1
    - Dst: TEST_ASSERT_EQUAL_STRING_MESSAGE
      Src: /src/cJSON/tests/print_number.c:62,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - expected
    - input
    argTypes:
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 63
    functionName: assert_print_number
    functionSourceFile: /src/cJSON/tests/print_number.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_TRUE_MESSAGE
    - print_number
    - TEST_ASSERT_EQUAL_STRING_MESSAGE
    - memset
    - cJSON_SetNumberValue
    linkageType: ''
    returnType: void
    signature: void assert_print_number(const char *expected, double input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_print_number
      Src: /src/cJSON/tests/print_number.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: print_number_should_print_zero
    functionSourceFile: /src/cJSON/tests/print_number.c
    functionUses: 0
    functionsReached:
    - assert_print_number
    linkageType: ''
    returnType: void
    signature: void print_number_should_print_zero(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_print_number
      Src: /src/cJSON/tests/print_number.c:72,1
    - Dst: assert_print_number
      Src: /src/cJSON/tests/print_number.c:73,1
    - Dst: assert_print_number
      Src: /src/cJSON/tests/print_number.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: print_number_should_print_negative_integers
    functionSourceFile: /src/cJSON/tests/print_number.c
    functionUses: 0
    functionsReached:
    - assert_print_number
    linkageType: ''
    returnType: void
    signature: void print_number_should_print_negative_integers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_print_number
      Src: /src/cJSON/tests/print_number.c:79,1
    - Dst: assert_print_number
      Src: /src/cJSON/tests/print_number.c:80,1
    - Dst: assert_print_number
      Src: /src/cJSON/tests/print_number.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: print_number_should_print_positive_integers
    functionSourceFile: /src/cJSON/tests/print_number.c
    functionUses: 0
    functionsReached:
    - assert_print_number
    linkageType: ''
    returnType: void
    signature: void print_number_should_print_positive_integers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_print_number
      Src: /src/cJSON/tests/print_number.c:86,1
    - Dst: assert_print_number
      Src: /src/cJSON/tests/print_number.c:87,1
    - Dst: assert_print_number
      Src: /src/cJSON/tests/print_number.c:88,1
    - Dst: assert_print_number
      Src: /src/cJSON/tests/print_number.c:89,1
    - Dst: assert_print_number
      Src: /src/cJSON/tests/print_number.c:90,1
    - Dst: assert_print_number
      Src: /src/cJSON/tests/print_number.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: print_number_should_print_positive_reals
    functionSourceFile: /src/cJSON/tests/print_number.c
    functionUses: 0
    functionsReached:
    - assert_print_number
    linkageType: ''
    returnType: void
    signature: void print_number_should_print_positive_reals(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_print_number
      Src: /src/cJSON/tests/print_number.c:96,1
    - Dst: assert_print_number
      Src: /src/cJSON/tests/print_number.c:97,1
    - Dst: assert_print_number
      Src: /src/cJSON/tests/print_number.c:98,1
    - Dst: assert_print_number
      Src: /src/cJSON/tests/print_number.c:99,1
    - Dst: assert_print_number
      Src: /src/cJSON/tests/print_number.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: print_number_should_print_negative_reals
    functionSourceFile: /src/cJSON/tests/print_number.c
    functionUses: 0
    functionsReached:
    - assert_print_number
    linkageType: ''
    returnType: void
    signature: void print_number_should_print_negative_reals(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/print_number.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: print_number_should_print_non_number
    functionSourceFile: /src/cJSON/tests/print_number.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void print_number_should_print_non_number(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_BEGIN
      Src: /src/cJSON/tests/print_number.c:115,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/print_number.c:117,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/print_number.c:118,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/print_number.c:119,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/print_number.c:120,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/print_number.c:121,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/print_number.c:122,1
    - Dst: UNITY_END
      Src: /src/cJSON/tests/print_number.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: CJSON_CDECL::main
    functionSourceFile: /src/cJSON/tests/print_number.c
    functionUses: 0
    functionsReached:
    - UNITY_END
    - RUN_TEST
    - UNITY_BEGIN
    linkageType: ''
    returnType: int
    signature: int CJSON_CDECL main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cJSON/tests/misc_tests.c:38,1
    - Dst: memset
      Src: /src/cJSON/tests/misc_tests.c:39,1
    - Dst: TEST_ASSERT_TRUE_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 57
    functionName: cjson_array_foreach_should_loop_over_arrays
    functionSourceFile: /src/cJSON/tests/misc_tests.c
    functionUses: 0
    functionsReached:
    - memset
    - TEST_ASSERT_TRUE_MESSAGE
    linkageType: ''
    returnType: void
    signature: void cjson_array_foreach_should_loop_over_arrays(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_TRUE_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/cJSON/tests/misc_tests.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_TRUE_MESSAGE
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(element_pointer, array)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_ArrayForEach
      Src: /src/cJSON/tests/misc_tests.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: cjson_array_foreach_should_not_dereference_null_pointer
    functionSourceFile: /src/cJSON/tests/misc_tests.c
    functionUses: 0
    functionsReached:
    - cJSON_ArrayForEach
    linkageType: ''
    returnType: void
    signature: void cjson_array_foreach_should_not_dereference_null_pointer(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/cJSON/tests/misc_tests.c:71,1
    - Dst: cJSON_GetObjectItem
      Src: /src/cJSON/tests/misc_tests.c:73,1
    - Dst: TEST_ASSERT_NULL_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:74,1
    - Dst: cJSON_GetObjectItem
      Src: /src/cJSON/tests/misc_tests.c:76,1
    - Dst: TEST_ASSERT_NULL_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:77,1
    - Dst: cJSON_GetObjectItem
      Src: /src/cJSON/tests/misc_tests.c:79,1
    - Dst: TEST_ASSERT_NOT_NULL_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:80,1
    - Dst: TEST_ASSERT_EQUAL_DOUBLE
      Src: /src/cJSON/tests/misc_tests.c:81,1
    - Dst: cJSON_GetObjectItem
      Src: /src/cJSON/tests/misc_tests.c:83,1
    - Dst: TEST_ASSERT_NOT_NULL_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:84,1
    - Dst: TEST_ASSERT_EQUAL_DOUBLE
      Src: /src/cJSON/tests/misc_tests.c:85,1
    - Dst: cJSON_GetObjectItem
      Src: /src/cJSON/tests/misc_tests.c:87,1
    - Dst: TEST_ASSERT_NOT_NULL_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:88,1
    - Dst: TEST_ASSERT_EQUAL_DOUBLE
      Src: /src/cJSON/tests/misc_tests.c:89,1
    - Dst: cJSON_GetObjectItem
      Src: /src/cJSON/tests/misc_tests.c:91,1
    - Dst: TEST_ASSERT_NULL_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:92,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/misc_tests.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 95
    functionName: cjson_get_object_item_should_get_object_items
    functionSourceFile: /src/cJSON/tests/misc_tests.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_DOUBLE
    - cJSON_Delete
    - cJSON_GetObjectItem
    - TEST_ASSERT_NOT_NULL_MESSAGE
    - TEST_ASSERT_NULL_MESSAGE
    - cJSON_Parse
    linkageType: ''
    returnType: void
    signature: void cjson_get_object_item_should_get_object_items(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/cJSON/tests/misc_tests.c:102,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/misc_tests.c:104,1
    - Dst: TEST_ASSERT_NULL_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:105,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/misc_tests.c:107,1
    - Dst: TEST_ASSERT_NULL_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:108,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/misc_tests.c:110,1
    - Dst: TEST_ASSERT_NOT_NULL_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:111,1
    - Dst: TEST_ASSERT_EQUAL_DOUBLE
      Src: /src/cJSON/tests/misc_tests.c:112,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/misc_tests.c:114,1
    - Dst: TEST_ASSERT_NOT_NULL_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:115,1
    - Dst: TEST_ASSERT_EQUAL_DOUBLE
      Src: /src/cJSON/tests/misc_tests.c:116,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/misc_tests.c:118,1
    - Dst: TEST_ASSERT_NOT_NULL_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:119,1
    - Dst: TEST_ASSERT_EQUAL_DOUBLE
      Src: /src/cJSON/tests/misc_tests.c:120,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/misc_tests.c:122,1
    - Dst: TEST_ASSERT_NULL_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:123,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/misc_tests.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 126
    functionName: cjson_get_object_item_case_sensitive_should_get_object_items
    functionSourceFile: /src/cJSON/tests/misc_tests.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_DOUBLE
    - cJSON_Delete
    - cJSON_GetObjectItemCaseSensitive
    - TEST_ASSERT_NOT_NULL_MESSAGE
    - TEST_ASSERT_NULL_MESSAGE
    - cJSON_Parse
    linkageType: ''
    returnType: void
    signature: void cjson_get_object_item_case_sensitive_should_get_object_items(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/cJSON/tests/misc_tests.c:132,1
    - Dst: cJSON_GetObjectItem
      Src: /src/cJSON/tests/misc_tests.c:134,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:135,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/misc_tests.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: cjson_get_object_item_should_not_crash_with_array
    functionSourceFile: /src/cJSON/tests/misc_tests.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_Parse
    - cJSON_GetObjectItem
    - TEST_ASSERT_NULL
    linkageType: ''
    returnType: void
    signature: void cjson_get_object_item_should_not_crash_with_array(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/cJSON/tests/misc_tests.c:144,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/misc_tests.c:146,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:147,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/misc_tests.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 150
    functionName: cjson_get_object_item_case_sensitive_should_not_crash_with_array
    functionSourceFile: /src/cJSON/tests/misc_tests.c
    functionUses: 0
    functionsReached:
    - cJSON_Parse
    - cJSON_Delete
    - cJSON_GetObjectItemCaseSensitive
    - TEST_ASSERT_NULL
    linkageType: ''
    returnType: void
    signature: void cjson_get_object_item_case_sensitive_should_not_crash_with_array(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:161,1
    - Dst: cJSON_IsInvalid
      Src: /src/cJSON/tests/misc_tests.c:161,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:162,1
    - Dst: cJSON_IsInvalid
      Src: /src/cJSON/tests/misc_tests.c:162,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:163,1
    - Dst: cJSON_IsInvalid
      Src: /src/cJSON/tests/misc_tests.c:163,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:166,1
    - Dst: cJSON_IsFalse
      Src: /src/cJSON/tests/misc_tests.c:166,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:167,1
    - Dst: cJSON_IsFalse
      Src: /src/cJSON/tests/misc_tests.c:167,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:168,1
    - Dst: cJSON_IsFalse
      Src: /src/cJSON/tests/misc_tests.c:168,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:169,1
    - Dst: cJSON_IsBool
      Src: /src/cJSON/tests/misc_tests.c:169,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:172,1
    - Dst: cJSON_IsTrue
      Src: /src/cJSON/tests/misc_tests.c:172,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:173,1
    - Dst: cJSON_IsTrue
      Src: /src/cJSON/tests/misc_tests.c:173,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:174,1
    - Dst: cJSON_IsTrue
      Src: /src/cJSON/tests/misc_tests.c:174,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:175,1
    - Dst: cJSON_IsBool
      Src: /src/cJSON/tests/misc_tests.c:175,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:178,1
    - Dst: cJSON_IsNull
      Src: /src/cJSON/tests/misc_tests.c:178,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:179,1
    - Dst: cJSON_IsNull
      Src: /src/cJSON/tests/misc_tests.c:179,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:180,1
    - Dst: cJSON_IsNull
      Src: /src/cJSON/tests/misc_tests.c:180,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:183,1
    - Dst: cJSON_IsNumber
      Src: /src/cJSON/tests/misc_tests.c:183,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:184,1
    - Dst: cJSON_IsNumber
      Src: /src/cJSON/tests/misc_tests.c:184,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:185,1
    - Dst: cJSON_IsNumber
      Src: /src/cJSON/tests/misc_tests.c:185,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:188,1
    - Dst: cJSON_IsString
      Src: /src/cJSON/tests/misc_tests.c:188,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:189,1
    - Dst: cJSON_IsString
      Src: /src/cJSON/tests/misc_tests.c:189,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:190,1
    - Dst: cJSON_IsString
      Src: /src/cJSON/tests/misc_tests.c:190,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:193,1
    - Dst: cJSON_IsArray
      Src: /src/cJSON/tests/misc_tests.c:193,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:194,1
    - Dst: cJSON_IsArray
      Src: /src/cJSON/tests/misc_tests.c:194,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:195,1
    - Dst: cJSON_IsArray
      Src: /src/cJSON/tests/misc_tests.c:195,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:198,1
    - Dst: cJSON_IsObject
      Src: /src/cJSON/tests/misc_tests.c:198,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:199,1
    - Dst: cJSON_IsObject
      Src: /src/cJSON/tests/misc_tests.c:199,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:200,1
    - Dst: cJSON_IsObject
      Src: /src/cJSON/tests/misc_tests.c:200,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:203,1
    - Dst: cJSON_IsRaw
      Src: /src/cJSON/tests/misc_tests.c:203,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:204,1
    - Dst: cJSON_IsRaw
      Src: /src/cJSON/tests/misc_tests.c:204,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:205,1
    - Dst: cJSON_IsRaw
      Src: /src/cJSON/tests/misc_tests.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 206
    functionName: typecheck_functions_should_check_type
    functionSourceFile: /src/cJSON/tests/misc_tests.c
    functionUses: 0
    functionsReached:
    - cJSON_IsBool
    - cJSON_IsTrue
    - cJSON_IsNull
    - cJSON_IsNumber
    - cJSON_IsArray
    - cJSON_IsFalse
    - cJSON_IsRaw
    - TEST_ASSERT_TRUE
    - TEST_ASSERT_FALSE
    - cJSON_IsInvalid
    - cJSON_IsObject
    - cJSON_IsString
    linkageType: ''
    returnType: void
    signature: void typecheck_functions_should_check_type(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_NULL_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:219,1
    - Dst: cJSON_Parse
      Src: /src/cJSON/tests/misc_tests.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: cjson_should_not_parse_to_deeply_nested_jsons
    functionSourceFile: /src/cJSON/tests/misc_tests.c
    functionUses: 0
    functionsReached:
    - cJSON_Parse
    - TEST_ASSERT_NULL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void cjson_should_not_parse_to_deeply_nested_jsons(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_SetNumberValue
      Src: /src/cJSON/tests/misc_tests.c:226,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/misc_tests.c:227,1
    - Dst: TEST_ASSERT_EQUAL_DOUBLE
      Src: /src/cJSON/tests/misc_tests.c:228,1
    - Dst: cJSON_SetNumberValue
      Src: /src/cJSON/tests/misc_tests.c:230,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/misc_tests.c:231,1
    - Dst: TEST_ASSERT_EQUAL_DOUBLE
      Src: /src/cJSON/tests/misc_tests.c:232,1
    - Dst: cJSON_SetNumberValue
      Src: /src/cJSON/tests/misc_tests.c:234,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/misc_tests.c:235,1
    - Dst: TEST_ASSERT_EQUAL_DOUBLE
      Src: /src/cJSON/tests/misc_tests.c:236,1
    - Dst: cJSON_SetNumberValue
      Src: /src/cJSON/tests/misc_tests.c:238,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/misc_tests.c:239,1
    - Dst: TEST_ASSERT_EQUAL_DOUBLE
      Src: /src/cJSON/tests/misc_tests.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 241
    functionName: cjson_set_number_value_should_set_numbers
    functionSourceFile: /src/cJSON/tests/misc_tests.c
    functionUses: 0
    functionsReached:
    - cJSON_SetNumberValue
    - TEST_ASSERT_EQUAL_DOUBLE
    - TEST_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void cjson_set_number_value_should_set_numbers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cJSON/tests/misc_tests.c:248,1
    - Dst: TEST_ASSERT_TRUE_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:263,1
    - Dst: cJSON_DetachItemViaPointer
      Src: /src/cJSON/tests/misc_tests.c:263,1
    - Dst: TEST_ASSERT_TRUE_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:264,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:265,1
    - Dst: TEST_ASSERT_TRUE_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:268,1
    - Dst: cJSON_DetachItemViaPointer
      Src: /src/cJSON/tests/misc_tests.c:268,1
    - Dst: TEST_ASSERT_TRUE_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:269,1
    - Dst: TEST_ASSERT_TRUE_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:270,1
    - Dst: TEST_ASSERT_TRUE_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:273,1
    - Dst: cJSON_DetachItemViaPointer
      Src: /src/cJSON/tests/misc_tests.c:273,1
    - Dst: TEST_ASSERT_TRUE_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:274,1
    - Dst: TEST_ASSERT_TRUE_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:275,1
    - Dst: TEST_ASSERT_TRUE_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:278,1
    - Dst: cJSON_DetachItemViaPointer
      Src: /src/cJSON/tests/misc_tests.c:278,1
    - Dst: TEST_ASSERT_TRUE_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:279,1
    - Dst: TEST_ASSERT_NULL_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:280,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 281
    functionName: cjson_detach_item_via_pointer_should_detach_items
    functionSourceFile: /src/cJSON/tests/misc_tests.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_TRUE_MESSAGE
    - TEST_ASSERT_TRUE
    - cJSON_DetachItemViaPointer
    - TEST_ASSERT_NULL_MESSAGE
    - memset
    linkageType: ''
    returnType: void
    signature: void cjson_detach_item_via_pointer_should_detach_items(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateNull
      Src: /src/cJSON/tests/misc_tests.c:291,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/misc_tests.c:292,1
    - Dst: cJSON_CreateNull
      Src: /src/cJSON/tests/misc_tests.c:293,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/misc_tests.c:294,1
    - Dst: cJSON_CreateNull
      Src: /src/cJSON/tests/misc_tests.c:295,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/misc_tests.c:296,1
    - Dst: cJSON_CreateArray
      Src: /src/cJSON/tests/misc_tests.c:298,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/misc_tests.c:299,1
    - Dst: cJSON_AddItemToArray
      Src: /src/cJSON/tests/misc_tests.c:301,1
    - Dst: cJSON_AddItemToArray
      Src: /src/cJSON/tests/misc_tests.c:302,1
    - Dst: cJSON_AddItemToArray
      Src: /src/cJSON/tests/misc_tests.c:303,1
    - Dst: memset
      Src: /src/cJSON/tests/misc_tests.c:305,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:308,1
    - Dst: cJSON_ReplaceItemViaPointer
      Src: /src/cJSON/tests/misc_tests.c:308,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:309,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:310,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:311,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:312,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:315,1
    - Dst: cJSON_ReplaceItemViaPointer
      Src: /src/cJSON/tests/misc_tests.c:315,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:316,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:317,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:318,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:321,1
    - Dst: cJSON_ReplaceItemViaPointer
      Src: /src/cJSON/tests/misc_tests.c:321,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:322,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:323,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:324,1
    - Dst: cJSON_free
      Src: /src/cJSON/tests/misc_tests.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 327
    functionName: cjson_replace_item_via_pointer_should_replace_items
    functionSourceFile: /src/cJSON/tests/misc_tests.c
    functionUses: 0
    functionsReached:
    - cJSON_CreateNull
    - cJSON_free
    - TEST_ASSERT_TRUE
    - TEST_ASSERT_NOT_NULL
    - cJSON_AddItemToArray
    - cJSON_ReplaceItemViaPointer
    - cJSON_CreateArray
    - memset
    - TEST_ASSERT_NULL
    linkageType: ''
    returnType: void
    signature: void cjson_replace_item_via_pointer_should_replace_items(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateNumber
      Src: /src/cJSON/tests/misc_tests.c:336,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/misc_tests.c:337,1
    - Dst: cJSON_CreateNumber
      Src: /src/cJSON/tests/misc_tests.c:338,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/misc_tests.c:339,1
    - Dst: cJSON_AddItemToObject
      Src: /src/cJSON/tests/misc_tests.c:341,1
    - Dst: TEST_ASSERT_TRUE_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:342,1
    - Dst: cJSON_ReplaceItemInObject
      Src: /src/cJSON/tests/misc_tests.c:343,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:345,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/misc_tests.c:346,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/misc_tests.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 329
    functionDepth: 5
    functionLinenumber: 329
    functionLinenumberEnd: 349
    functionName: cjson_replace_item_in_object_should_preserve_name
    functionSourceFile: /src/cJSON/tests/misc_tests.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - TEST_ASSERT_TRUE_MESSAGE
    - cJSON_CreateNumber
    - TEST_ASSERT_TRUE
    - TEST_ASSERT_NOT_NULL
    - cJSON_ReplaceItemInObject
    - TEST_ASSERT_EQUAL_STRING
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: void
    signature: void cjson_replace_item_in_object_should_preserve_name(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateString
      Src: /src/cJSON/tests/misc_tests.c:354,1
    - Dst: cJSON_CreateArray
      Src: /src/cJSON/tests/misc_tests.c:355,1
    - Dst: cJSON_CreateString
      Src: /src/cJSON/tests/misc_tests.c:356,1
    - Dst: cJSON_CreateString
      Src: /src/cJSON/tests/misc_tests.c:357,1
    - Dst: cJSON_CreateString
      Src: /src/cJSON/tests/misc_tests.c:358,1
    - Dst: add_item_to_array
      Src: /src/cJSON/tests/misc_tests.c:361,1
    - Dst: add_item_to_array
      Src: /src/cJSON/tests/misc_tests.c:362,1
    - Dst: free
      Src: /src/cJSON/tests/misc_tests.c:366,1
    - Dst: cJSON_InitHooks
      Src: /src/cJSON/tests/misc_tests.c:369,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:370,1
    - Dst: cJSON_Parse
      Src: /src/cJSON/tests/misc_tests.c:370,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:371,1
    - Dst: cJSON_ParseWithOpts
      Src: /src/cJSON/tests/misc_tests.c:371,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:372,1
    - Dst: cJSON_Print
      Src: /src/cJSON/tests/misc_tests.c:372,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:373,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/cJSON/tests/misc_tests.c:373,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:374,1
    - Dst: cJSON_PrintBuffered
      Src: /src/cJSON/tests/misc_tests.c:374,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:375,1
    - Dst: cJSON_PrintPreallocated
      Src: /src/cJSON/tests/misc_tests.c:375,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:376,1
    - Dst: cJSON_PrintPreallocated
      Src: /src/cJSON/tests/misc_tests.c:376,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/misc_tests.c:377,1
    - Dst: cJSON_GetArraySize
      Src: /src/cJSON/tests/misc_tests.c:378,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:379,1
    - Dst: cJSON_GetArrayItem
      Src: /src/cJSON/tests/misc_tests.c:379,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:380,1
    - Dst: cJSON_GetObjectItem
      Src: /src/cJSON/tests/misc_tests.c:380,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:381,1
    - Dst: cJSON_GetObjectItem
      Src: /src/cJSON/tests/misc_tests.c:381,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:382,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/misc_tests.c:382,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:383,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/misc_tests.c:383,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:384,1
    - Dst: cJSON_HasObjectItem
      Src: /src/cJSON/tests/misc_tests.c:384,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:385,1
    - Dst: cJSON_HasObjectItem
      Src: /src/cJSON/tests/misc_tests.c:385,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:386,1
    - Dst: cJSON_IsInvalid
      Src: /src/cJSON/tests/misc_tests.c:386,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:387,1
    - Dst: cJSON_IsFalse
      Src: /src/cJSON/tests/misc_tests.c:387,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:388,1
    - Dst: cJSON_IsTrue
      Src: /src/cJSON/tests/misc_tests.c:388,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:389,1
    - Dst: cJSON_IsBool
      Src: /src/cJSON/tests/misc_tests.c:389,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:390,1
    - Dst: cJSON_IsNull
      Src: /src/cJSON/tests/misc_tests.c:390,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:391,1
    - Dst: cJSON_IsNumber
      Src: /src/cJSON/tests/misc_tests.c:391,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:392,1
    - Dst: cJSON_IsString
      Src: /src/cJSON/tests/misc_tests.c:392,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:393,1
    - Dst: cJSON_IsArray
      Src: /src/cJSON/tests/misc_tests.c:393,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:394,1
    - Dst: cJSON_IsObject
      Src: /src/cJSON/tests/misc_tests.c:394,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:395,1
    - Dst: cJSON_IsRaw
      Src: /src/cJSON/tests/misc_tests.c:395,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:396,1
    - Dst: cJSON_CreateString
      Src: /src/cJSON/tests/misc_tests.c:396,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:397,1
    - Dst: cJSON_CreateRaw
      Src: /src/cJSON/tests/misc_tests.c:397,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:398,1
    - Dst: cJSON_CreateIntArray
      Src: /src/cJSON/tests/misc_tests.c:398,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:399,1
    - Dst: cJSON_CreateFloatArray
      Src: /src/cJSON/tests/misc_tests.c:399,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:400,1
    - Dst: cJSON_CreateDoubleArray
      Src: /src/cJSON/tests/misc_tests.c:400,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:401,1
    - Dst: cJSON_CreateStringArray
      Src: /src/cJSON/tests/misc_tests.c:401,1
    - Dst: cJSON_AddItemToArray
      Src: /src/cJSON/tests/misc_tests.c:402,1
    - Dst: cJSON_AddItemToArray
      Src: /src/cJSON/tests/misc_tests.c:403,1
    - Dst: cJSON_AddItemToObject
      Src: /src/cJSON/tests/misc_tests.c:404,1
    - Dst: cJSON_AddItemToObject
      Src: /src/cJSON/tests/misc_tests.c:405,1
    - Dst: cJSON_AddItemToObject
      Src: /src/cJSON/tests/misc_tests.c:406,1
    - Dst: cJSON_AddItemToObjectCS
      Src: /src/cJSON/tests/misc_tests.c:407,1
    - Dst: cJSON_AddItemToObjectCS
      Src: /src/cJSON/tests/misc_tests.c:408,1
    - Dst: cJSON_AddItemToObjectCS
      Src: /src/cJSON/tests/misc_tests.c:409,1
    - Dst: cJSON_AddItemReferenceToArray
      Src: /src/cJSON/tests/misc_tests.c:410,1
    - Dst: cJSON_AddItemReferenceToArray
      Src: /src/cJSON/tests/misc_tests.c:411,1
    - Dst: cJSON_AddItemReferenceToObject
      Src: /src/cJSON/tests/misc_tests.c:412,1
    - Dst: cJSON_AddItemReferenceToObject
      Src: /src/cJSON/tests/misc_tests.c:413,1
    - Dst: cJSON_AddItemReferenceToObject
      Src: /src/cJSON/tests/misc_tests.c:414,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:415,1
    - Dst: cJSON_DetachItemViaPointer
      Src: /src/cJSON/tests/misc_tests.c:415,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:416,1
    - Dst: cJSON_DetachItemViaPointer
      Src: /src/cJSON/tests/misc_tests.c:416,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:417,1
    - Dst: cJSON_DetachItemFromArray
      Src: /src/cJSON/tests/misc_tests.c:417,1
    - Dst: cJSON_DeleteItemFromArray
      Src: /src/cJSON/tests/misc_tests.c:418,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:419,1
    - Dst: cJSON_DetachItemFromObject
      Src: /src/cJSON/tests/misc_tests.c:419,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:420,1
    - Dst: cJSON_DetachItemFromObject
      Src: /src/cJSON/tests/misc_tests.c:420,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:421,1
    - Dst: cJSON_DetachItemFromObjectCaseSensitive
      Src: /src/cJSON/tests/misc_tests.c:421,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:422,1
    - Dst: cJSON_DetachItemFromObjectCaseSensitive
      Src: /src/cJSON/tests/misc_tests.c:422,1
    - Dst: cJSON_DeleteItemFromObject
      Src: /src/cJSON/tests/misc_tests.c:423,1
    - Dst: cJSON_DeleteItemFromObject
      Src: /src/cJSON/tests/misc_tests.c:424,1
    - Dst: cJSON_DeleteItemFromObjectCaseSensitive
      Src: /src/cJSON/tests/misc_tests.c:425,1
    - Dst: cJSON_DeleteItemFromObjectCaseSensitive
      Src: /src/cJSON/tests/misc_tests.c:426,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:427,1
    - Dst: cJSON_InsertItemInArray
      Src: /src/cJSON/tests/misc_tests.c:427,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:428,1
    - Dst: cJSON_InsertItemInArray
      Src: /src/cJSON/tests/misc_tests.c:428,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:429,1
    - Dst: cJSON_InsertItemInArray
      Src: /src/cJSON/tests/misc_tests.c:429,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:430,1
    - Dst: cJSON_InsertItemInArray
      Src: /src/cJSON/tests/misc_tests.c:430,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:431,1
    - Dst: cJSON_ReplaceItemViaPointer
      Src: /src/cJSON/tests/misc_tests.c:431,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:432,1
    - Dst: cJSON_ReplaceItemViaPointer
      Src: /src/cJSON/tests/misc_tests.c:432,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:433,1
    - Dst: cJSON_ReplaceItemViaPointer
      Src: /src/cJSON/tests/misc_tests.c:433,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:434,1
    - Dst: cJSON_ReplaceItemInArray
      Src: /src/cJSON/tests/misc_tests.c:434,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:435,1
    - Dst: cJSON_ReplaceItemInArray
      Src: /src/cJSON/tests/misc_tests.c:435,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:436,1
    - Dst: cJSON_ReplaceItemInObject
      Src: /src/cJSON/tests/misc_tests.c:436,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:437,1
    - Dst: cJSON_ReplaceItemInObject
      Src: /src/cJSON/tests/misc_tests.c:437,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:438,1
    - Dst: cJSON_ReplaceItemInObject
      Src: /src/cJSON/tests/misc_tests.c:438,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:439,1
    - Dst: cJSON_ReplaceItemInObjectCaseSensitive
      Src: /src/cJSON/tests/misc_tests.c:439,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:440,1
    - Dst: cJSON_ReplaceItemInObjectCaseSensitive
      Src: /src/cJSON/tests/misc_tests.c:440,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:441,1
    - Dst: cJSON_ReplaceItemInObjectCaseSensitive
      Src: /src/cJSON/tests/misc_tests.c:441,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:442,1
    - Dst: cJSON_Duplicate
      Src: /src/cJSON/tests/misc_tests.c:442,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:443,1
    - Dst: cJSON_Compare
      Src: /src/cJSON/tests/misc_tests.c:443,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/misc_tests.c:444,1
    - Dst: cJSON_Compare
      Src: /src/cJSON/tests/misc_tests.c:444,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:445,1
    - Dst: cJSON_SetValuestring
      Src: /src/cJSON/tests/misc_tests.c:445,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:446,1
    - Dst: cJSON_SetValuestring
      Src: /src/cJSON/tests/misc_tests.c:446,1
    - Dst: cJSON_Minify
      Src: /src/cJSON/tests/misc_tests.c:447,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/misc_tests.c:453,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/misc_tests.c:454,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/misc_tests.c:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 90
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 351
    functionDepth: 5
    functionLinenumber: 351
    functionLinenumberEnd: 456
    functionName: cjson_functions_should_not_crash_with_null_pointers
    functionSourceFile: /src/cJSON/tests/misc_tests.c
    functionUses: 0
    functionsReached:
    - cJSON_PrintPreallocated
    - cJSON_IsNumber
    - cJSON_ReplaceItemInObjectCaseSensitive
    - cJSON_IsRaw
    - cJSON_ReplaceItemInArray
    - cJSON_Minify
    - cJSON_DeleteItemFromArray
    - cJSON_IsObject
    - cJSON_DetachItemFromObject
    - cJSON_AddItemToObject
    - cJSON_DetachItemFromArray
    - cJSON_SetValuestring
    - cJSON_Delete
    - cJSON_ParseWithOpts
    - cJSON_Print
    - cJSON_GetArraySize
    - cJSON_IsFalse
    - cJSON_IsNull
    - cJSON_CreateDoubleArray
    - cJSON_AddItemReferenceToObject
    - TEST_ASSERT_FALSE
    - cJSON_ReplaceItemViaPointer
    - cJSON_ReplaceItemInObject
    - cJSON_CreateIntArray
    - cJSON_IsString
    - cJSON_GetArrayItem
    - free
    - cJSON_PrintUnformatted
    - cJSON_PrintBuffered
    - cJSON_IsArray
    - cJSON_Duplicate
    - cJSON_GetObjectItem
    - cJSON_AddItemToObjectCS
    - cJSON_HasObjectItem
    - cJSON_AddItemToArray
    - cJSON_CreateString
    - cJSON_CreateArray
    - cJSON_IsInvalid
    - cJSON_Parse
    - cJSON_InitHooks
    - cJSON_IsBool
    - cJSON_IsTrue
    - cJSON_CreateFloatArray
    - cJSON_CreateRaw
    - add_item_to_array
    - cJSON_DetachItemFromObjectCaseSensitive
    - cJSON_GetObjectItemCaseSensitive
    - cJSON_AddItemReferenceToArray
    - cJSON_DetachItemViaPointer
    - cJSON_DeleteItemFromObjectCaseSensitive
    - cJSON_InsertItemInArray
    - cJSON_Compare
    - cJSON_CreateStringArray
    - cJSON_DeleteItemFromObject
    - TEST_ASSERT_NULL
    linkageType: ''
    returnType: void
    signature: void cjson_functions_should_not_crash_with_null_pointers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pointer
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 463
    functionName: CJSON_CDECL::failing_realloc
    functionSourceFile: /src/cJSON/tests/misc_tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *CJSON_CDECL failing_realloc(void *pointer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cJSON/tests/misc_tests.c:468,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/misc_tests.c:469,1
    - Dst: TEST_ASSERT_NULL_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:471,1
    - Dst: ensure
      Src: /src/cJSON/tests/misc_tests.c:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 472
    functionName: ensure_should_fail_on_failed_realloc
    functionSourceFile: /src/cJSON/tests/misc_tests.c
    functionUses: 0
    functionsReached:
    - ensure
    - TEST_ASSERT_NULL_MESSAGE
    - TEST_ASSERT_NOT_NULL
    - malloc
    linkageType: ''
    returnType: void
    signature: void ensure_should_fail_on_failed_realloc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:482,1
    - Dst: skip_utf8_bom
      Src: /src/cJSON/tests/misc_tests.c:482,1
    - Dst: TEST_ASSERT_EQUAL_UINT
      Src: /src/cJSON/tests/misc_tests.c:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 484
    functionName: skip_utf8_bom_should_skip_bom
    functionSourceFile: /src/cJSON/tests/misc_tests.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_UINT
    - skip_utf8_bom
    - TEST_ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void skip_utf8_bom_should_skip_bom(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:495,1
    - Dst: skip_utf8_bom
      Src: /src/cJSON/tests/misc_tests.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 486
    functionDepth: 2
    functionLinenumber: 486
    functionLinenumberEnd: 496
    functionName: skip_utf8_bom_should_not_skip_bom_if_not_at_beginning
    functionSourceFile: /src/cJSON/tests/misc_tests.c
    functionUses: 0
    functionsReached:
    - skip_utf8_bom
    - TEST_ASSERT_NULL
    linkageType: ''
    returnType: void
    signature: void skip_utf8_bom_should_not_skip_bom_if_not_at_beginning(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateString
      Src: /src/cJSON/tests/misc_tests.c:500,1
    - Dst: cJSON_CreateNumber
      Src: /src/cJSON/tests/misc_tests.c:501,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:503,1
    - Dst: cJSON_GetStringValue
      Src: /src/cJSON/tests/misc_tests.c:503,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:504,1
    - Dst: cJSON_GetStringValue
      Src: /src/cJSON/tests/misc_tests.c:504,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_tests.c:505,1
    - Dst: cJSON_GetStringValue
      Src: /src/cJSON/tests/misc_tests.c:505,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/misc_tests.c:507,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/misc_tests.c:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 498
    functionDepth: 3
    functionLinenumber: 498
    functionLinenumberEnd: 509
    functionName: cjson_get_string_value_should_get_a_string
    functionSourceFile: /src/cJSON/tests/misc_tests.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_CreateNumber
    - TEST_ASSERT_TRUE
    - cJSON_CreateString
    - cJSON_GetStringValue
    - TEST_ASSERT_NULL
    linkageType: ''
    returnType: void
    signature: void cjson_get_string_value_should_get_a_string(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateString
      Src: /src/cJSON/tests/misc_tests.c:513,1
    - Dst: cJSON_CreateNumber
      Src: /src/cJSON/tests/misc_tests.c:514,1
    - Dst: TEST_ASSERT_EQUAL_DOUBLE
      Src: /src/cJSON/tests/misc_tests.c:516,1
    - Dst: cJSON_GetNumberValue
      Src: /src/cJSON/tests/misc_tests.c:516,1
    - Dst: TEST_ASSERT_DOUBLE_IS_NAN
      Src: /src/cJSON/tests/misc_tests.c:517,1
    - Dst: cJSON_GetNumberValue
      Src: /src/cJSON/tests/misc_tests.c:517,1
    - Dst: TEST_ASSERT_DOUBLE_IS_NAN
      Src: /src/cJSON/tests/misc_tests.c:518,1
    - Dst: cJSON_GetNumberValue
      Src: /src/cJSON/tests/misc_tests.c:518,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/misc_tests.c:520,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/misc_tests.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 511
    functionDepth: 3
    functionLinenumber: 511
    functionLinenumberEnd: 522
    functionName: cjson_get_number_value_should_get_a_number
    functionSourceFile: /src/cJSON/tests/misc_tests.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_DOUBLE
    - cJSON_GetNumberValue
    - cJSON_Delete
    - cJSON_CreateNumber
    - cJSON_CreateString
    - TEST_ASSERT_DOUBLE_IS_NAN
    linkageType: ''
    returnType: void
    signature: void cjson_get_number_value_should_get_a_number(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateStringReference
      Src: /src/cJSON/tests/misc_tests.c:528,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:529,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/misc_tests.c:530,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/misc_tests.c:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 524
    functionDepth: 2
    functionLinenumber: 524
    functionLinenumberEnd: 533
    functionName: cjson_create_string_reference_should_create_a_string_reference
    functionSourceFile: /src/cJSON/tests/misc_tests.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_CreateStringReference
    - TEST_ASSERT_EQUAL_INT
    - TEST_ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void cjson_create_string_reference_should_create_a_string_reference(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/misc_tests.c:538,1
    - Dst: cJSON_CreateNumber
      Src: /src/cJSON/tests/misc_tests.c:539,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:542,1
    - Dst: cJSON_IsNumber
      Src: /src/cJSON/tests/misc_tests.c:542,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:543,1
    - Dst: cJSON_IsObject
      Src: /src/cJSON/tests/misc_tests.c:543,1
    - Dst: cJSON_AddItemToObjectCS
      Src: /src/cJSON/tests/misc_tests.c:544,1
    - Dst: cJSON_CreateObjectReference
      Src: /src/cJSON/tests/misc_tests.c:546,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:547,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/misc_tests.c:548,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/misc_tests.c:550,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/misc_tests.c:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 535
    functionDepth: 4
    functionLinenumber: 535
    functionLinenumberEnd: 552
    functionName: cjson_create_object_reference_should_create_an_object_reference
    functionSourceFile: /src/cJSON/tests/misc_tests.c
    functionUses: 0
    functionsReached:
    - cJSON_CreateObjectReference
    - cJSON_IsNumber
    - TEST_ASSERT_EQUAL_INT
    - cJSON_Delete
    - cJSON_CreateNumber
    - cJSON_AddItemToObjectCS
    - TEST_ASSERT_TRUE
    - cJSON_IsObject
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void cjson_create_object_reference_should_create_an_object_reference(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateArray
      Src: /src/cJSON/tests/misc_tests.c:557,1
    - Dst: cJSON_CreateNumber
      Src: /src/cJSON/tests/misc_tests.c:558,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:560,1
    - Dst: cJSON_IsNumber
      Src: /src/cJSON/tests/misc_tests.c:560,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:561,1
    - Dst: cJSON_IsArray
      Src: /src/cJSON/tests/misc_tests.c:561,1
    - Dst: cJSON_AddItemToArray
      Src: /src/cJSON/tests/misc_tests.c:562,1
    - Dst: cJSON_CreateArrayReference
      Src: /src/cJSON/tests/misc_tests.c:564,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:565,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/misc_tests.c:566,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/misc_tests.c:568,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/misc_tests.c:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 554
    functionDepth: 3
    functionLinenumber: 554
    functionLinenumberEnd: 570
    functionName: cjson_create_array_reference_should_create_an_array_reference
    functionSourceFile: /src/cJSON/tests/misc_tests.c
    functionUses: 0
    functionsReached:
    - cJSON_IsArray
    - cJSON_IsNumber
    - TEST_ASSERT_EQUAL_INT
    - cJSON_Delete
    - cJSON_CreateNumber
    - cJSON_CreateArrayReference
    - TEST_ASSERT_TRUE
    - cJSON_AddItemToArray
    - cJSON_CreateArray
    linkageType: ''
    returnType: void
    signature: void cjson_create_array_reference_should_create_an_array_reference(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/misc_tests.c:574,1
    - Dst: cJSON_CreateArray
      Src: /src/cJSON/tests/misc_tests.c:575,1
    - Dst: cJSON_AddItemToObject
      Src: /src/cJSON/tests/misc_tests.c:578,1
    - Dst: TEST_ASSERT_FALSE_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:579,1
    - Dst: cJSON_AddItemToArray
      Src: /src/cJSON/tests/misc_tests.c:581,1
    - Dst: TEST_ASSERT_FALSE_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:582,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/misc_tests.c:584,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/misc_tests.c:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 572
    functionDepth: 4
    functionLinenumber: 572
    functionLinenumberEnd: 586
    functionName: cjson_add_item_to_object_or_array_should_not_add_itself
    functionSourceFile: /src/cJSON/tests/misc_tests.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_AddItemToArray
    - TEST_ASSERT_FALSE_MESSAGE
    - cJSON_CreateArray
    - cJSON_AddItemToObject
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void cjson_add_item_to_object_or_array_should_not_add_itself(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/misc_tests.c:590,1
    - Dst: cJSON_CreateNumber
      Src: /src/cJSON/tests/misc_tests.c:591,1
    - Dst: cJSON_strdup
      Src: /src/cJSON/tests/misc_tests.c:592,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/misc_tests.c:594,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/misc_tests.c:595,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/misc_tests.c:596,1
    - Dst: cJSON_AddItemToObject
      Src: /src/cJSON/tests/misc_tests.c:602,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/misc_tests.c:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 588
    functionDepth: 4
    functionLinenumber: 588
    functionLinenumberEnd: 605
    functionName: cjson_add_item_to_object_should_not_use_after_free_when_string_is_aliased
    functionSourceFile: /src/cJSON/tests/misc_tests.c
    functionUses: 0
    functionsReached:
    - cJSON_strdup
    - cJSON_Delete
    - cJSON_CreateNumber
    - TEST_ASSERT_NOT_NULL
    - cJSON_AddItemToObject
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void cjson_add_item_to_object_should_not_use_after_free_when_string_is_aliased(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/cJSON/tests/misc_tests.c:616,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/cJSON/tests/misc_tests.c:618,1
    - Dst: cJSON_Parse
      Src: /src/cJSON/tests/misc_tests.c:619,1
    - Dst: cJSON_Parse
      Src: /src/cJSON/tests/misc_tests.c:620,1
    - Dst: cJSON_AddItemToArray
      Src: /src/cJSON/tests/misc_tests.c:622,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/cJSON/tests/misc_tests.c:623,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/misc_tests.c:624,1
    - Dst: free
      Src: /src/cJSON/tests/misc_tests.c:625,1
    - Dst: cJSON_AddItemToArray
      Src: /src/cJSON/tests/misc_tests.c:627,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/cJSON/tests/misc_tests.c:628,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/misc_tests.c:629,1
    - Dst: free
      Src: /src/cJSON/tests/misc_tests.c:630,1
    - Dst: cJSON_DeleteItemFromArray
      Src: /src/cJSON/tests/misc_tests.c:633,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/cJSON/tests/misc_tests.c:634,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/misc_tests.c:635,1
    - Dst: free
      Src: /src/cJSON/tests/misc_tests.c:636,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/misc_tests.c:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 607
    functionDepth: 4
    functionLinenumber: 607
    functionLinenumberEnd: 639
    functionName: cjson_delete_item_from_array_should_not_broken_list_structure
    functionSourceFile: /src/cJSON/tests/misc_tests.c
    functionUses: 0
    functionsReached:
    - cJSON_PrintUnformatted
    - cJSON_Delete
    - cJSON_AddArrayToObject
    - cJSON_DeleteItemFromArray
    - cJSON_AddItemToArray
    - TEST_ASSERT_EQUAL_STRING
    - cJSON_Parse
    - free
    linkageType: ''
    returnType: void
    signature: void cjson_delete_item_from_array_should_not_broken_list_structure(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/cJSON/tests/misc_tests.c:643,1
    - Dst: cJSON_CreateString
      Src: /src/cJSON/tests/misc_tests.c:648,1
    - Dst: cJSON_CreateStringReference
      Src: /src/cJSON/tests/misc_tests.c:649,1
    - Dst: cJSON_AddItemToObject
      Src: /src/cJSON/tests/misc_tests.c:653,1
    - Dst: cJSON_AddItemToObject
      Src: /src/cJSON/tests/misc_tests.c:654,1
    - Dst: cJSON_SetValuestring
      Src: /src/cJSON/tests/misc_tests.c:657,1
    - Dst: cJSON_GetObjectItem
      Src: /src/cJSON/tests/misc_tests.c:657,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/misc_tests.c:658,1
    - Dst: TEST_ASSERT_EQUAL_PTR_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:659,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/misc_tests.c:660,1
    - Dst: cJSON_GetObjectItem
      Src: /src/cJSON/tests/misc_tests.c:660,1
    - Dst: cJSON_SetValuestring
      Src: /src/cJSON/tests/misc_tests.c:664,1
    - Dst: cJSON_GetObjectItem
      Src: /src/cJSON/tests/misc_tests.c:664,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/misc_tests.c:665,1
    - Dst: TEST_ASSERT_NOT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:666,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/misc_tests.c:667,1
    - Dst: cJSON_GetObjectItem
      Src: /src/cJSON/tests/misc_tests.c:667,1
    - Dst: cJSON_SetValuestring
      Src: /src/cJSON/tests/misc_tests.c:669,1
    - Dst: cJSON_GetObjectItem
      Src: /src/cJSON/tests/misc_tests.c:669,1
    - Dst: TEST_ASSERT_NULL_MESSAGE
      Src: /src/cJSON/tests/misc_tests.c:670,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/misc_tests.c:671,1
    - Dst: cJSON_GetObjectItem
      Src: /src/cJSON/tests/misc_tests.c:671,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/misc_tests.c:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 641
    functionDepth: 4
    functionLinenumber: 641
    functionLinenumberEnd: 674
    functionName: cjson_set_valuestring_to_object_should_not_leak_memory
    functionSourceFile: /src/cJSON/tests/misc_tests.c
    functionUses: 0
    functionsReached:
    - cJSON_SetValuestring
    - cJSON_Delete
    - TEST_ASSERT_EQUAL_PTR_MESSAGE
    - cJSON_CreateStringReference
    - cJSON_GetObjectItem
    - TEST_ASSERT_NOT_NULL
    - cJSON_CreateString
    - TEST_ASSERT_EQUAL_STRING
    - TEST_ASSERT_NULL_MESSAGE
    - TEST_ASSERT_NOT_EQUAL_MESSAGE
    - cJSON_Parse
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: void
    signature: void cjson_set_valuestring_to_object_should_not_leak_memory(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:680,1
    - Dst: cJSON_SetBoolValue
      Src: /src/cJSON/tests/misc_tests.c:680,1
    - Dst: cJSON_CreateFalse
      Src: /src/cJSON/tests/misc_tests.c:682,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:683,1
    - Dst: cJSON_IsFalse
      Src: /src/cJSON/tests/misc_tests.c:683,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:684,1
    - Dst: cJSON_SetBoolValue
      Src: /src/cJSON/tests/misc_tests.c:684,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:685,1
    - Dst: cJSON_IsTrue
      Src: /src/cJSON/tests/misc_tests.c:685,1
    - Dst: cJSON_SetBoolValue
      Src: /src/cJSON/tests/misc_tests.c:686,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:687,1
    - Dst: cJSON_IsTrue
      Src: /src/cJSON/tests/misc_tests.c:687,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:688,1
    - Dst: cJSON_SetBoolValue
      Src: /src/cJSON/tests/misc_tests.c:688,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:689,1
    - Dst: cJSON_IsFalse
      Src: /src/cJSON/tests/misc_tests.c:689,1
    - Dst: cJSON_SetBoolValue
      Src: /src/cJSON/tests/misc_tests.c:690,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:691,1
    - Dst: cJSON_IsFalse
      Src: /src/cJSON/tests/misc_tests.c:691,1
    - Dst: cJSON_CreateString
      Src: /src/cJSON/tests/misc_tests.c:693,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:694,1
    - Dst: cJSON_IsString
      Src: /src/cJSON/tests/misc_tests.c:694,1
    - Dst: cJSON_SetBoolValue
      Src: /src/cJSON/tests/misc_tests.c:695,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:696,1
    - Dst: cJSON_IsString
      Src: /src/cJSON/tests/misc_tests.c:696,1
    - Dst: cJSON_SetBoolValue
      Src: /src/cJSON/tests/misc_tests.c:697,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:698,1
    - Dst: cJSON_IsString
      Src: /src/cJSON/tests/misc_tests.c:698,1
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/misc_tests.c:700,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:701,1
    - Dst: cJSON_IsObject
      Src: /src/cJSON/tests/misc_tests.c:701,1
    - Dst: cJSON_SetBoolValue
      Src: /src/cJSON/tests/misc_tests.c:702,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:703,1
    - Dst: cJSON_IsObject
      Src: /src/cJSON/tests/misc_tests.c:703,1
    - Dst: cJSON_SetBoolValue
      Src: /src/cJSON/tests/misc_tests.c:704,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:705,1
    - Dst: cJSON_IsObject
      Src: /src/cJSON/tests/misc_tests.c:705,1
    - Dst: cJSON_CreateStringReference
      Src: /src/cJSON/tests/misc_tests.c:707,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:708,1
    - Dst: cJSON_IsString
      Src: /src/cJSON/tests/misc_tests.c:708,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:709,1
    - Dst: cJSON_SetBoolValue
      Src: /src/cJSON/tests/misc_tests.c:710,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:711,1
    - Dst: cJSON_IsString
      Src: /src/cJSON/tests/misc_tests.c:711,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:712,1
    - Dst: cJSON_SetBoolValue
      Src: /src/cJSON/tests/misc_tests.c:713,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:714,1
    - Dst: cJSON_IsString
      Src: /src/cJSON/tests/misc_tests.c:714,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:715,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/misc_tests.c:716,1
    - Dst: cJSON_CreateObjectReference
      Src: /src/cJSON/tests/misc_tests.c:718,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:719,1
    - Dst: cJSON_IsObject
      Src: /src/cJSON/tests/misc_tests.c:719,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:720,1
    - Dst: cJSON_SetBoolValue
      Src: /src/cJSON/tests/misc_tests.c:721,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:722,1
    - Dst: cJSON_IsObject
      Src: /src/cJSON/tests/misc_tests.c:722,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:723,1
    - Dst: cJSON_SetBoolValue
      Src: /src/cJSON/tests/misc_tests.c:724,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:725,1
    - Dst: cJSON_IsObject
      Src: /src/cJSON/tests/misc_tests.c:725,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/misc_tests.c:726,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/misc_tests.c:727,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/misc_tests.c:729,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/misc_tests.c:730,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/misc_tests.c:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 676
    functionDepth: 3
    functionLinenumber: 676
    functionLinenumberEnd: 732
    functionName: cjson_set_bool_value_must_not_break_objects
    functionSourceFile: /src/cJSON/tests/misc_tests.c
    functionUses: 0
    functionsReached:
    - cJSON_CreateObjectReference
    - cJSON_IsTrue
    - cJSON_Delete
    - cJSON_IsFalse
    - cJSON_CreateStringReference
    - TEST_ASSERT_TRUE
    - cJSON_SetBoolValue
    - cJSON_CreateString
    - cJSON_IsObject
    - cJSON_IsString
    - cJSON_CreateObject
    - cJSON_CreateFalse
    linkageType: ''
    returnType: void
    signature: void cjson_set_bool_value_must_not_break_objects(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_BEGIN
      Src: /src/cJSON/tests/misc_tests.c:736,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/misc_tests.c:738,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/misc_tests.c:739,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/misc_tests.c:740,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/misc_tests.c:741,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/misc_tests.c:742,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/misc_tests.c:743,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/misc_tests.c:744,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/misc_tests.c:745,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/misc_tests.c:746,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/misc_tests.c:747,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/misc_tests.c:748,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/misc_tests.c:749,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/misc_tests.c:750,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/misc_tests.c:751,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/misc_tests.c:752,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/misc_tests.c:753,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/misc_tests.c:754,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/misc_tests.c:755,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/misc_tests.c:756,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/misc_tests.c:757,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/misc_tests.c:758,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/misc_tests.c:759,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/misc_tests.c:760,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/misc_tests.c:761,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/misc_tests.c:762,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/misc_tests.c:763,1
    - Dst: UNITY_END
      Src: /src/cJSON/tests/misc_tests.c:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 766
    functionName: CJSON_CDECL::main
    functionSourceFile: /src/cJSON/tests/misc_tests.c
    functionUses: 0
    functionsReached:
    - UNITY_END
    - RUN_TEST
    - UNITY_BEGIN
    linkageType: ''
    returnType: int
    signature: int CJSON_CDECL main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_NOT_NULL_MESSAGE
      Src: /src/cJSON/tests/parse_value.c:35,1
    - Dst: assert_not_in_list
      Src: /src/cJSON/tests/parse_value.c:37,1
    - Dst: assert_has_type
      Src: /src/cJSON/tests/parse_value.c:38,1
    - Dst: assert_has_no_reference
      Src: /src/cJSON/tests/parse_value.c:39,1
    - Dst: assert_has_no_const_string
      Src: /src/cJSON/tests/parse_value.c:40,1
    - Dst: assert_has_no_string
      Src: /src/cJSON/tests/parse_value.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - value_item
    - type
    argTypes:
    - cJSON*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: assert_is_value
    functionSourceFile: /src/cJSON/tests/parse_value.c
    functionUses: 0
    functionsReached:
    - assert_has_no_const_string
    - TEST_ASSERT_NOT_NULL_MESSAGE
    - assert_not_in_list
    - assert_has_no_reference
    - assert_has_no_string
    - assert_has_type
    linkageType: ''
    returnType: void
    signature: void assert_is_value(cJSON *value_item, int type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cJSON/tests/parse_value.c:48,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/parse_value.c:51,1
    - Dst: parse_value
      Src: /src/cJSON/tests/parse_value.c:51,1
    - Dst: assert_is_value
      Src: /src/cJSON/tests/parse_value.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - string
    - type
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 4
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: assert_parse_value
    functionSourceFile: /src/cJSON/tests/parse_value.c
    functionUses: 0
    functionsReached:
    - strlen
    - TEST_ASSERT_TRUE
    - parse_value
    - assert_is_value
    linkageType: ''
    returnType: void
    signature: void assert_parse_value(const char *string, int type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_parse_value
      Src: /src/cJSON/tests/parse_value.c:57,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_value.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 5
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: parse_value_should_parse_null
    functionSourceFile: /src/cJSON/tests/parse_value.c
    functionUses: 0
    functionsReached:
    - reset
    - assert_parse_value
    linkageType: ''
    returnType: void
    signature: void parse_value_should_parse_null(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_parse_value
      Src: /src/cJSON/tests/parse_value.c:63,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_value.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 5
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: parse_value_should_parse_true
    functionSourceFile: /src/cJSON/tests/parse_value.c
    functionUses: 0
    functionsReached:
    - reset
    - assert_parse_value
    linkageType: ''
    returnType: void
    signature: void parse_value_should_parse_true(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_parse_value
      Src: /src/cJSON/tests/parse_value.c:69,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_value.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 5
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: parse_value_should_parse_false
    functionSourceFile: /src/cJSON/tests/parse_value.c
    functionUses: 0
    functionsReached:
    - reset
    - assert_parse_value
    linkageType: ''
    returnType: void
    signature: void parse_value_should_parse_false(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_parse_value
      Src: /src/cJSON/tests/parse_value.c:75,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_value.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 5
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: parse_value_should_parse_number
    functionSourceFile: /src/cJSON/tests/parse_value.c
    functionUses: 0
    functionsReached:
    - reset
    - assert_parse_value
    linkageType: ''
    returnType: void
    signature: void parse_value_should_parse_number(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_parse_value
      Src: /src/cJSON/tests/parse_value.c:81,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_value.c:82,1
    - Dst: assert_parse_value
      Src: /src/cJSON/tests/parse_value.c:83,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_value.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 5
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: parse_value_should_parse_string
    functionSourceFile: /src/cJSON/tests/parse_value.c
    functionUses: 0
    functionsReached:
    - reset
    - assert_parse_value
    linkageType: ''
    returnType: void
    signature: void parse_value_should_parse_string(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_parse_value
      Src: /src/cJSON/tests/parse_value.c:89,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_value.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 5
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: parse_value_should_parse_array
    functionSourceFile: /src/cJSON/tests/parse_value.c
    functionUses: 0
    functionsReached:
    - reset
    - assert_parse_value
    linkageType: ''
    returnType: void
    signature: void parse_value_should_parse_array(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_parse_value
      Src: /src/cJSON/tests/parse_value.c:95,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_value.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 5
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: parse_value_should_parse_object
    functionSourceFile: /src/cJSON/tests/parse_value.c
    functionUses: 0
    functionsReached:
    - reset
    - assert_parse_value
    linkageType: ''
    returnType: void
    signature: void parse_value_should_parse_object(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cJSON/tests/parse_value.c:102,1
    - Dst: UNITY_BEGIN
      Src: /src/cJSON/tests/parse_value.c:103,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_value.c:104,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_value.c:105,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_value.c:106,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_value.c:107,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_value.c:108,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_value.c:109,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_value.c:110,1
    - Dst: UNITY_END
      Src: /src/cJSON/tests/parse_value.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 112
    functionName: CJSON_CDECL::main
    functionSourceFile: /src/cJSON/tests/parse_value.c
    functionUses: 0
    functionsReached:
    - UNITY_END
    - RUN_TEST
    - UNITY_BEGIN
    - memset
    linkageType: ''
    returnType: int
    signature: int CJSON_CDECL main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cJSON/tests/print_value.c:44,1
    - Dst: memset
      Src: /src/cJSON/tests/print_value.c:47,1
    - Dst: TEST_ASSERT_TRUE_MESSAGE
      Src: /src/cJSON/tests/print_value.c:49,1
    - Dst: parse_value
      Src: /src/cJSON/tests/print_value.c:49,1
    - Dst: TEST_ASSERT_TRUE_MESSAGE
      Src: /src/cJSON/tests/print_value.c:51,1
    - Dst: print_value
      Src: /src/cJSON/tests/print_value.c:51,1
    - Dst: TEST_ASSERT_EQUAL_STRING_MESSAGE
      Src: /src/cJSON/tests/print_value.c:52,1
    - Dst: reset
      Src: /src/cJSON/tests/print_value.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 31
    functionDepth: 4
    functionLinenumber: 31
    functionLinenumberEnd: 55
    functionName: assert_print_value
    functionSourceFile: /src/cJSON/tests/print_value.c
    functionUses: 0
    functionsReached:
    - print_value
    - TEST_ASSERT_TRUE_MESSAGE
    - reset
    - parse_value
    - TEST_ASSERT_EQUAL_STRING_MESSAGE
    - strlen
    - memset
    linkageType: ''
    returnType: void
    signature: void assert_print_value(const char *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_print_value
      Src: /src/cJSON/tests/print_value.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 5
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: print_value_should_print_null
    functionSourceFile: /src/cJSON/tests/print_value.c
    functionUses: 0
    functionsReached:
    - assert_print_value
    linkageType: ''
    returnType: void
    signature: void print_value_should_print_null(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_print_value
      Src: /src/cJSON/tests/print_value.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 5
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: print_value_should_print_true
    functionSourceFile: /src/cJSON/tests/print_value.c
    functionUses: 0
    functionsReached:
    - assert_print_value
    linkageType: ''
    returnType: void
    signature: void print_value_should_print_true(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_print_value
      Src: /src/cJSON/tests/print_value.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 5
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: print_value_should_print_false
    functionSourceFile: /src/cJSON/tests/print_value.c
    functionUses: 0
    functionsReached:
    - assert_print_value
    linkageType: ''
    returnType: void
    signature: void print_value_should_print_false(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_print_value
      Src: /src/cJSON/tests/print_value.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 5
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: print_value_should_print_number
    functionSourceFile: /src/cJSON/tests/print_value.c
    functionUses: 0
    functionsReached:
    - assert_print_value
    linkageType: ''
    returnType: void
    signature: void print_value_should_print_number(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_print_value
      Src: /src/cJSON/tests/print_value.c:79,1
    - Dst: assert_print_value
      Src: /src/cJSON/tests/print_value.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 5
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: print_value_should_print_string
    functionSourceFile: /src/cJSON/tests/print_value.c
    functionUses: 0
    functionsReached:
    - assert_print_value
    linkageType: ''
    returnType: void
    signature: void print_value_should_print_string(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_print_value
      Src: /src/cJSON/tests/print_value.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 5
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: print_value_should_print_array
    functionSourceFile: /src/cJSON/tests/print_value.c
    functionUses: 0
    functionsReached:
    - assert_print_value
    linkageType: ''
    returnType: void
    signature: void print_value_should_print_array(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_print_value
      Src: /src/cJSON/tests/print_value.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 5
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: print_value_should_print_object
    functionSourceFile: /src/cJSON/tests/print_value.c
    functionUses: 0
    functionsReached:
    - assert_print_value
    linkageType: ''
    returnType: void
    signature: void print_value_should_print_object(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_BEGIN
      Src: /src/cJSON/tests/print_value.c:96,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/print_value.c:98,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/print_value.c:99,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/print_value.c:100,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/print_value.c:101,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/print_value.c:102,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/print_value.c:103,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/print_value.c:104,1
    - Dst: UNITY_END
      Src: /src/cJSON/tests/print_value.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: CJSON_CDECL::main
    functionSourceFile: /src/cJSON/tests/print_value.c
    functionUses: 0
    functionsReached:
    - UNITY_END
    - RUN_TEST
    - UNITY_BEGIN
    linkageType: ''
    returnType: int
    signature: int CJSON_CDECL main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2
      start: 2
    functionDepth: 0
    functionLinenumber: 2
    functionLinenumberEnd: 2
    functionName: setUp
    functionSourceFile: /src/cJSON/tests/unity_setup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setUp(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 3
    functionName: tearDown
    functionSourceFile: /src/cJSON/tests/unity_setup.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tearDown(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_file
      Src: /src/cJSON/tests/parse_examples.c:34,1
    - Dst: cJSON_Parse
      Src: /src/cJSON/tests/parse_examples.c:36,1
    - Dst: free
      Src: /src/cJSON/tests/parse_examples.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: parse_file
    functionSourceFile: /src/cJSON/tests/parse_examples.c
    functionUses: 0
    functionsReached:
    - read_file
    - cJSON_Parse
    - free
    linkageType: ''
    returnType: cJSON
    signature: cJSON *parse_file(const char *filename)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cJSON/tests/parse_examples.c:58,1
    - Dst: malloc
      Src: /src/cJSON/tests/parse_examples.c:62,1
    - Dst: TEST_ASSERT_NOT_NULL_MESSAGE
      Src: /src/cJSON/tests/parse_examples.c:63,1
    - Dst: malloc
      Src: /src/cJSON/tests/parse_examples.c:64,1
    - Dst: TEST_ASSERT_NOT_NULL_MESSAGE
      Src: /src/cJSON/tests/parse_examples.c:65,1
    - Dst: sprintf
      Src: /src/cJSON/tests/parse_examples.c:68,1
    - Dst: sprintf
      Src: /src/cJSON/tests/parse_examples.c:69,1
    - Dst: read_file
      Src: /src/cJSON/tests/parse_examples.c:72,1
    - Dst: TEST_ASSERT_NOT_NULL_MESSAGE
      Src: /src/cJSON/tests/parse_examples.c:73,1
    - Dst: parse_file
      Src: /src/cJSON/tests/parse_examples.c:76,1
    - Dst: TEST_ASSERT_NOT_NULL_MESSAGE
      Src: /src/cJSON/tests/parse_examples.c:77,1
    - Dst: cJSON_Print
      Src: /src/cJSON/tests/parse_examples.c:80,1
    - Dst: TEST_ASSERT_NOT_NULL_MESSAGE
      Src: /src/cJSON/tests/parse_examples.c:81,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/parse_examples.c:84,1
    - Dst: free
      Src: /src/cJSON/tests/parse_examples.c:89,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/parse_examples.c:93,1
    - Dst: free
      Src: /src/cJSON/tests/parse_examples.c:97,1
    - Dst: free
      Src: /src/cJSON/tests/parse_examples.c:101,1
    - Dst: free
      Src: /src/cJSON/tests/parse_examples.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - test_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 46
    functionDepth: 4
    functionLinenumber: 46
    functionLinenumberEnd: 107
    functionName: do_test
    functionSourceFile: /src/cJSON/tests/parse_examples.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_Print
    - parse_file
    - sprintf
    - malloc
    - TEST_ASSERT_NOT_NULL_MESSAGE
    - strlen
    - TEST_ASSERT_EQUAL_STRING
    - read_file
    - free
    linkageType: ''
    returnType: void
    signature: void do_test(const char *test_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test
      Src: /src/cJSON/tests/parse_examples.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 5
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: file_test1_should_be_parsed_and_printed
    functionSourceFile: /src/cJSON/tests/parse_examples.c
    functionUses: 0
    functionsReached:
    - do_test
    linkageType: ''
    returnType: void
    signature: void file_test1_should_be_parsed_and_printed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test
      Src: /src/cJSON/tests/parse_examples.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 5
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: file_test2_should_be_parsed_and_printed
    functionSourceFile: /src/cJSON/tests/parse_examples.c
    functionUses: 0
    functionsReached:
    - do_test
    linkageType: ''
    returnType: void
    signature: void file_test2_should_be_parsed_and_printed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test
      Src: /src/cJSON/tests/parse_examples.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 5
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: file_test3_should_be_parsed_and_printed
    functionSourceFile: /src/cJSON/tests/parse_examples.c
    functionUses: 0
    functionsReached:
    - do_test
    linkageType: ''
    returnType: void
    signature: void file_test3_should_be_parsed_and_printed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test
      Src: /src/cJSON/tests/parse_examples.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 5
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: file_test4_should_be_parsed_and_printed
    functionSourceFile: /src/cJSON/tests/parse_examples.c
    functionUses: 0
    functionsReached:
    - do_test
    linkageType: ''
    returnType: void
    signature: void file_test4_should_be_parsed_and_printed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test
      Src: /src/cJSON/tests/parse_examples.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 5
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: file_test5_should_be_parsed_and_printed
    functionSourceFile: /src/cJSON/tests/parse_examples.c
    functionUses: 0
    functionsReached:
    - do_test
    linkageType: ''
    returnType: void
    signature: void file_test5_should_be_parsed_and_printed(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read_file
      Src: /src/cJSON/tests/parse_examples.c:139,1
    - Dst: TEST_ASSERT_NOT_NULL_MESSAGE
      Src: /src/cJSON/tests/parse_examples.c:140,1
    - Dst: cJSON_Parse
      Src: /src/cJSON/tests/parse_examples.c:142,1
    - Dst: TEST_ASSERT_NULL_MESSAGE
      Src: /src/cJSON/tests/parse_examples.c:143,1
    - Dst: TEST_ASSERT_EQUAL_PTR_MESSAGE
      Src: /src/cJSON/tests/parse_examples.c:145,1
    - Dst: cJSON_GetErrorPtr
      Src: /src/cJSON/tests/parse_examples.c:145,1
    - Dst: free
      Src: /src/cJSON/tests/parse_examples.c:149,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/parse_examples.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 155
    functionName: file_test6_should_not_be_parsed
    functionSourceFile: /src/cJSON/tests/parse_examples.c
    functionUses: 0
    functionsReached:
    - cJSON_GetErrorPtr
    - cJSON_Delete
    - TEST_ASSERT_EQUAL_PTR_MESSAGE
    - TEST_ASSERT_NOT_NULL_MESSAGE
    - TEST_ASSERT_NULL_MESSAGE
    - read_file
    - cJSON_Parse
    - free
    linkageType: ''
    returnType: void
    signature: void file_test6_should_not_be_parsed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test
      Src: /src/cJSON/tests/parse_examples.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 5
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: file_test7_should_be_parsed_and_printed
    functionSourceFile: /src/cJSON/tests/parse_examples.c
    functionUses: 0
    functionsReached:
    - do_test
    linkageType: ''
    returnType: void
    signature: void file_test7_should_be_parsed_and_printed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test
      Src: /src/cJSON/tests/parse_examples.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 5
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: file_test8_should_be_parsed_and_printed
    functionSourceFile: /src/cJSON/tests/parse_examples.c
    functionUses: 0
    functionsReached:
    - do_test
    linkageType: ''
    returnType: void
    signature: void file_test8_should_be_parsed_and_printed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test
      Src: /src/cJSON/tests/parse_examples.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 5
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: file_test9_should_be_parsed_and_printed
    functionSourceFile: /src/cJSON/tests/parse_examples.c
    functionUses: 0
    functionsReached:
    - do_test
    linkageType: ''
    returnType: void
    signature: void file_test9_should_be_parsed_and_printed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test
      Src: /src/cJSON/tests/parse_examples.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 5
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: file_test10_should_be_parsed_and_printed
    functionSourceFile: /src/cJSON/tests/parse_examples.c
    functionUses: 0
    functionsReached:
    - do_test
    linkageType: ''
    returnType: void
    signature: void file_test10_should_be_parsed_and_printed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test
      Src: /src/cJSON/tests/parse_examples.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 5
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: file_test11_should_be_parsed_and_printed
    functionSourceFile: /src/cJSON/tests/parse_examples.c
    functionUses: 0
    functionsReached:
    - do_test
    linkageType: ''
    returnType: void
    signature: void file_test11_should_be_parsed_and_printed(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/cJSON/tests/parse_examples.c:187,1
    - Dst: TEST_ASSERT_NULL_MESSAGE
      Src: /src/cJSON/tests/parse_examples.c:188,1
    - Dst: TEST_ASSERT_EQUAL_PTR_MESSAGE
      Src: /src/cJSON/tests/parse_examples.c:190,1
    - Dst: strlen
      Src: /src/cJSON/tests/parse_examples.c:190,1
    - Dst: cJSON_GetErrorPtr
      Src: /src/cJSON/tests/parse_examples.c:190,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/parse_examples.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 196
    functionName: test12_should_not_be_parsed
    functionSourceFile: /src/cJSON/tests/parse_examples.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - TEST_ASSERT_EQUAL_PTR_MESSAGE
    - strlen
    - TEST_ASSERT_NULL_MESSAGE
    - cJSON_GetErrorPtr
    - cJSON_Parse
    linkageType: ''
    returnType: void
    signature: void test12_should_not_be_parsed(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/cJSON/tests/parse_examples.c:216,1
    - Dst: cJSON_ParseWithLength
      Src: /src/cJSON/tests/parse_examples.c:218,1
    - Dst: TEST_ASSERT_NOT_NULL_MESSAGE
      Src: /src/cJSON/tests/parse_examples.c:219,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/parse_examples.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 198
    functionDepth: 4
    functionLinenumber: 198
    functionLinenumberEnd: 225
    functionName: test13_should_be_parsed_without_null_termination
    functionSourceFile: /src/cJSON/tests/parse_examples.c
    functionUses: 0
    functionsReached:
    - memcpy
    - cJSON_ParseWithLength
    - cJSON_Delete
    - TEST_ASSERT_NOT_NULL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void test13_should_be_parsed_without_null_termination(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_ParseWithLength
      Src: /src/cJSON/tests/parse_examples.c:244,1
    - Dst: TEST_ASSERT_NULL_MESSAGE
      Src: /src/cJSON/tests/parse_examples.c:245,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/parse_examples.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 227
    functionDepth: 4
    functionLinenumber: 227
    functionLinenumberEnd: 251
    functionName: test14_should_not_be_parsed
    functionSourceFile: /src/cJSON/tests/parse_examples.c
    functionUses: 0
    functionsReached:
    - cJSON_ParseWithLength
    - cJSON_Delete
    - TEST_ASSERT_NULL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void test14_should_not_be_parsed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_BEGIN
      Src: /src/cJSON/tests/parse_examples.c:255,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_examples.c:256,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_examples.c:257,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_examples.c:258,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_examples.c:259,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_examples.c:260,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_examples.c:261,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_examples.c:262,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_examples.c:263,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_examples.c:264,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_examples.c:265,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_examples.c:266,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_examples.c:267,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_examples.c:268,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_examples.c:269,1
    - Dst: UNITY_END
      Src: /src/cJSON/tests/parse_examples.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 271
    functionName: CJSON_CDECL::main
    functionSourceFile: /src/cJSON/tests/parse_examples.c
    functionUses: 0
    functionsReached:
    - UNITY_END
    - RUN_TEST
    - UNITY_BEGIN
    linkageType: ''
    returnType: int
    signature: int CJSON_CDECL main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_file
      Src: /src/cJSON/tests/json_patch_tests.c:37,1
    - Dst: TEST_ASSERT_NOT_NULL_MESSAGE
      Src: /src/cJSON/tests/json_patch_tests.c:38,1
    - Dst: cJSON_Parse
      Src: /src/cJSON/tests/json_patch_tests.c:40,1
    - Dst: TEST_ASSERT_NOT_NULL_MESSAGE
      Src: /src/cJSON/tests/json_patch_tests.c:41,1
    - Dst: TEST_ASSERT_TRUE_MESSAGE
      Src: /src/cJSON/tests/json_patch_tests.c:42,1
    - Dst: cJSON_IsArray
      Src: /src/cJSON/tests/json_patch_tests.c:42,1
    - Dst: free
      Src: /src/cJSON/tests/json_patch_tests.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 47
    functionName: parse_test_file
    functionSourceFile: /src/cJSON/tests/json_patch_tests.c
    functionUses: 0
    functionsReached:
    - cJSON_IsArray
    - TEST_ASSERT_TRUE_MESSAGE
    - TEST_ASSERT_NOT_NULL_MESSAGE
    - read_file
    - cJSON_Parse
    - free
    linkageType: ''
    returnType: cJSON
    signature: cJSON *parse_test_file(const char * const filename)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/json_patch_tests.c:62,1
    - Dst: cJSON_IsString
      Src: /src/cJSON/tests/json_patch_tests.c:63,1
    - Dst: printf
      Src: /src/cJSON/tests/json_patch_tests.c:65,1
    - Dst: printf
      Src: /src/cJSON/tests/json_patch_tests.c:69,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/json_patch_tests.c:72,1
    - Dst: cJSON_IsTrue
      Src: /src/cJSON/tests/json_patch_tests.c:73,1
    - Dst: printf
      Src: /src/cJSON/tests/json_patch_tests.c:75,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/json_patch_tests.c:79,1
    - Dst: TEST_ASSERT_NOT_NULL_MESSAGE
      Src: /src/cJSON/tests/json_patch_tests.c:80,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/json_patch_tests.c:81,1
    - Dst: TEST_ASSERT_NOT_NULL_MESSAGE
      Src: /src/cJSON/tests/json_patch_tests.c:82,1
    - Dst: cJSON_Duplicate
      Src: /src/cJSON/tests/json_patch_tests.c:84,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/json_patch_tests.c:85,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/json_patch_tests.c:87,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/json_patch_tests.c:88,1
    - Dst: TEST_ASSERT_TRUE_MESSAGE
      Src: /src/cJSON/tests/json_patch_tests.c:92,1
    - Dst: cJSONUtils_ApplyPatchesCaseSensitive
      Src: /src/cJSON/tests/json_patch_tests.c:92,1
    - Dst: TEST_ASSERT_EQUAL_INT_MESSAGE
      Src: /src/cJSON/tests/json_patch_tests.c:99,1
    - Dst: cJSONUtils_ApplyPatchesCaseSensitive
      Src: /src/cJSON/tests/json_patch_tests.c:99,1
    - Dst: cJSON_Compare
      Src: /src/cJSON/tests/json_patch_tests.c:104,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/json_patch_tests.c:108,1
    - Dst: printf
      Src: /src/cJSON/tests/json_patch_tests.c:112,1
    - Dst: printf
      Src: /src/cJSON/tests/json_patch_tests.c:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 1
    argNames:
    - test
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 49
    functionDepth: 6
    functionLinenumber: 49
    functionLinenumberEnd: 120
    functionName: test_apply_patch
    functionSourceFile: /src/cJSON/tests/json_patch_tests.c
    functionUses: 0
    functionsReached:
    - cJSON_IsTrue
    - cJSON_Delete
    - cJSON_Duplicate
    - TEST_ASSERT_TRUE_MESSAGE
    - cJSON_GetObjectItemCaseSensitive
    - TEST_ASSERT_NOT_NULL
    - cJSON_Compare
    - TEST_ASSERT_NOT_NULL_MESSAGE
    - printf
    - cJSON_IsString
    - cJSONUtils_ApplyPatchesCaseSensitive
    - TEST_ASSERT_EQUAL_INT_MESSAGE
    linkageType: ''
    returnType: cJSON_bool
    signature: cJSON_bool test_apply_patch(const cJSON * const test)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/json_patch_tests.c:134,1
    - Dst: cJSON_IsTrue
      Src: /src/cJSON/tests/json_patch_tests.c:135,1
    - Dst: printf
      Src: /src/cJSON/tests/json_patch_tests.c:137,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/json_patch_tests.c:141,1
    - Dst: TEST_ASSERT_NOT_NULL_MESSAGE
      Src: /src/cJSON/tests/json_patch_tests.c:142,1
    - Dst: cJSON_Duplicate
      Src: /src/cJSON/tests/json_patch_tests.c:145,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/json_patch_tests.c:146,1
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/cJSON/tests/json_patch_tests.c:148,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/json_patch_tests.c:151,1
    - Dst: cJSONUtils_GeneratePatchesCaseSensitive
      Src: /src/cJSON/tests/json_patch_tests.c:156,1
    - Dst: TEST_ASSERT_NOT_NULL_MESSAGE
      Src: /src/cJSON/tests/json_patch_tests.c:157,1
    - Dst: cJSON_Print
      Src: /src/cJSON/tests/json_patch_tests.c:159,1
    - Dst: printf
      Src: /src/cJSON/tests/json_patch_tests.c:160,1
    - Dst: free
      Src: /src/cJSON/tests/json_patch_tests.c:161,1
    - Dst: TEST_ASSERT_EQUAL_INT_MESSAGE
      Src: /src/cJSON/tests/json_patch_tests.c:164,1
    - Dst: cJSONUtils_ApplyPatchesCaseSensitive
      Src: /src/cJSON/tests/json_patch_tests.c:164,1
    - Dst: cJSON_Compare
      Src: /src/cJSON/tests/json_patch_tests.c:166,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/json_patch_tests.c:168,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/json_patch_tests.c:169,1
    - Dst: printf
      Src: /src/cJSON/tests/json_patch_tests.c:173,1
    - Dst: printf
      Src: /src/cJSON/tests/json_patch_tests.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 1
    argNames:
    - test
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 122
    functionDepth: 7
    functionLinenumber: 122
    functionLinenumberEnd: 181
    functionName: test_generate_test
    functionSourceFile: /src/cJSON/tests/json_patch_tests.c
    functionUses: 0
    functionsReached:
    - cJSON_IsTrue
    - cJSON_Delete
    - cJSON_Print
    - cJSON_Duplicate
    - cJSON_GetObjectItemCaseSensitive
    - TEST_ASSERT_NOT_NULL
    - cJSON_Compare
    - TEST_ASSERT_NOT_NULL_MESSAGE
    - printf
    - cJSONUtils_ApplyPatchesCaseSensitive
    - TEST_ASSERT_EQUAL_INT_MESSAGE
    - free
    - cJSONUtils_GeneratePatchesCaseSensitive
    linkageType: ''
    returnType: cJSON_bool
    signature: cJSON_bool test_generate_test(cJSON *test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_test_file
      Src: /src/cJSON/tests/json_patch_tests.c:185,1
    - Dst: test_apply_patch
      Src: /src/cJSON/tests/json_patch_tests.c:191,1
    - Dst: test_generate_test
      Src: /src/cJSON/tests/json_patch_tests.c:192,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/json_patch_tests.c:195,1
    - Dst: TEST_ASSERT_FALSE_MESSAGE
      Src: /src/cJSON/tests/json_patch_tests.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 183
    functionDepth: 8
    functionLinenumber: 183
    functionLinenumberEnd: 198
    functionName: cjson_utils_should_pass_json_patch_test_tests
    functionSourceFile: /src/cJSON/tests/json_patch_tests.c
    functionUses: 0
    functionsReached:
    - parse_test_file
    - cJSON_Delete
    - test_apply_patch
    - test_generate_test
    - TEST_ASSERT_FALSE_MESSAGE
    linkageType: ''
    returnType: void
    signature: void cjson_utils_should_pass_json_patch_test_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_apply_patch
      Src: /src/cJSON/tests/json_patch_tests.c:191,1
    - Dst: test_generate_test
      Src: /src/cJSON/tests/json_patch_tests.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 8
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/cJSON/tests/json_patch_tests.c
    functionUses: 1
    functionsReached:
    - test_generate_test
    - test_apply_patch
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(test, tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_test_file
      Src: /src/cJSON/tests/json_patch_tests.c:202,1
    - Dst: test_apply_patch
      Src: /src/cJSON/tests/json_patch_tests.c:208,1
    - Dst: test_generate_test
      Src: /src/cJSON/tests/json_patch_tests.c:209,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/json_patch_tests.c:212,1
    - Dst: TEST_ASSERT_FALSE_MESSAGE
      Src: /src/cJSON/tests/json_patch_tests.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 200
    functionDepth: 8
    functionLinenumber: 200
    functionLinenumberEnd: 215
    functionName: cjson_utils_should_pass_json_patch_test_spec_tests
    functionSourceFile: /src/cJSON/tests/json_patch_tests.c
    functionUses: 0
    functionsReached:
    - parse_test_file
    - cJSON_Delete
    - test_apply_patch
    - test_generate_test
    - TEST_ASSERT_FALSE_MESSAGE
    linkageType: ''
    returnType: void
    signature: void cjson_utils_should_pass_json_patch_test_spec_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_apply_patch
      Src: /src/cJSON/tests/json_patch_tests.c:208,1
    - Dst: test_generate_test
      Src: /src/cJSON/tests/json_patch_tests.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 8
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/cJSON/tests/json_patch_tests.c
    functionUses: 1
    functionsReached:
    - test_generate_test
    - test_apply_patch
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(test, tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_test_file
      Src: /src/cJSON/tests/json_patch_tests.c:219,1
    - Dst: test_apply_patch
      Src: /src/cJSON/tests/json_patch_tests.c:225,1
    - Dst: test_generate_test
      Src: /src/cJSON/tests/json_patch_tests.c:226,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/json_patch_tests.c:229,1
    - Dst: TEST_ASSERT_FALSE_MESSAGE
      Src: /src/cJSON/tests/json_patch_tests.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 217
    functionDepth: 8
    functionLinenumber: 217
    functionLinenumberEnd: 232
    functionName: cjson_utils_should_pass_json_patch_test_cjson_utils_tests
    functionSourceFile: /src/cJSON/tests/json_patch_tests.c
    functionUses: 0
    functionsReached:
    - parse_test_file
    - cJSON_Delete
    - test_apply_patch
    - test_generate_test
    - TEST_ASSERT_FALSE_MESSAGE
    linkageType: ''
    returnType: void
    signature: void cjson_utils_should_pass_json_patch_test_cjson_utils_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_apply_patch
      Src: /src/cJSON/tests/json_patch_tests.c:225,1
    - Dst: test_generate_test
      Src: /src/cJSON/tests/json_patch_tests.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 8
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/cJSON/tests/json_patch_tests.c
    functionUses: 1
    functionsReached:
    - test_generate_test
    - test_apply_patch
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(test, tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_BEGIN
      Src: /src/cJSON/tests/json_patch_tests.c:236,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/json_patch_tests.c:238,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/json_patch_tests.c:239,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/json_patch_tests.c:240,1
    - Dst: UNITY_END
      Src: /src/cJSON/tests/json_patch_tests.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 243
    functionName: main
    functionSourceFile: /src/cJSON/tests/json_patch_tests.c
    functionUses: 0
    functionsReached:
    - UNITY_END
    - RUN_TEST
    - UNITY_BEGIN
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/cJSON/tests/compare_tests.c:33,1
    - Dst: TEST_ASSERT_NOT_NULL_MESSAGE
      Src: /src/cJSON/tests/compare_tests.c:34,1
    - Dst: cJSON_Parse
      Src: /src/cJSON/tests/compare_tests.c:35,1
    - Dst: TEST_ASSERT_NOT_NULL_MESSAGE
      Src: /src/cJSON/tests/compare_tests.c:36,1
    - Dst: cJSON_Compare
      Src: /src/cJSON/tests/compare_tests.c:38,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/compare_tests.c:40,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/compare_tests.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - a
    - b
    - case_sensitive
    argTypes:
    - char*
    - char*
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 27
    functionDepth: 3
    functionLinenumber: 27
    functionLinenumberEnd: 44
    functionName: compare_from_string
    functionSourceFile: /src/cJSON/tests/compare_tests.c
    functionUses: 0
    functionsReached:
    - cJSON_Parse
    - cJSON_Delete
    - cJSON_Compare
    - TEST_ASSERT_NOT_NULL_MESSAGE
    linkageType: ''
    returnType: cJSON_bool
    signature: cJSON_bool compare_from_string(const char * const a, const char * const
      b, const cJSON_bool case_sensitive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/compare_tests.c:48,1
    - Dst: cJSON_Compare
      Src: /src/cJSON/tests/compare_tests.c:48,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/compare_tests.c:49,1
    - Dst: cJSON_Compare
      Src: /src/cJSON/tests/compare_tests.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: cjson_compare_should_compare_null_pointer_as_not_equal
    functionSourceFile: /src/cJSON/tests/compare_tests.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_FALSE
    - cJSON_Compare
    linkageType: ''
    returnType: void
    signature: void cjson_compare_should_compare_null_pointer_as_not_equal(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cJSON/tests/compare_tests.c:55,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/compare_tests.c:57,1
    - Dst: cJSON_Compare
      Src: /src/cJSON/tests/compare_tests.c:57,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/compare_tests.c:58,1
    - Dst: cJSON_Compare
      Src: /src/cJSON/tests/compare_tests.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: cjson_compare_should_compare_invalid_as_not_equal
    functionSourceFile: /src/cJSON/tests/compare_tests.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_FALSE
    - cJSON_Compare
    - memset
    linkageType: ''
    returnType: void
    signature: void cjson_compare_should_compare_invalid_as_not_equal(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/compare_tests.c:63,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:63,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/compare_tests.c:64,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:64,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/compare_tests.c:65,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:65,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/compare_tests.c:66,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:66,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/compare_tests.c:67,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:67,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/compare_tests.c:69,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:69,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/compare_tests.c:71,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:71,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/compare_tests.c:72,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: cjson_compare_should_compare_numbers
    functionSourceFile: /src/cJSON/tests/compare_tests.c
    functionUses: 0
    functionsReached:
    - compare_from_string
    - TEST_ASSERT_FALSE
    - TEST_ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void cjson_compare_should_compare_numbers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/compare_tests.c:78,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:78,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/compare_tests.c:79,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:79,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/compare_tests.c:82,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:82,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/compare_tests.c:83,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:83,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/compare_tests.c:86,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:86,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/compare_tests.c:87,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:87,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/compare_tests.c:88,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:88,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/compare_tests.c:89,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 75
    functionDepth: 4
    functionLinenumber: 75
    functionLinenumberEnd: 90
    functionName: cjson_compare_should_compare_booleans
    functionSourceFile: /src/cJSON/tests/compare_tests.c
    functionUses: 0
    functionsReached:
    - compare_from_string
    - TEST_ASSERT_FALSE
    - TEST_ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void cjson_compare_should_compare_booleans(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/compare_tests.c:94,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:94,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/compare_tests.c:95,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:95,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/compare_tests.c:97,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:97,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/compare_tests.c:98,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 4
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: cjson_compare_should_compare_null
    functionSourceFile: /src/cJSON/tests/compare_tests.c
    functionUses: 0
    functionsReached:
    - compare_from_string
    - TEST_ASSERT_FALSE
    - TEST_ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void cjson_compare_should_compare_null(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cJSON/tests/compare_tests.c:104,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/compare_tests.c:108,1
    - Dst: cJSON_Compare
      Src: /src/cJSON/tests/compare_tests.c:108,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/compare_tests.c:109,1
    - Dst: cJSON_Compare
      Src: /src/cJSON/tests/compare_tests.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: cjson_compare_should_not_accept_invalid_types
    functionSourceFile: /src/cJSON/tests/compare_tests.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_FALSE
    - cJSON_Compare
    - memset
    linkageType: ''
    returnType: void
    signature: void cjson_compare_should_not_accept_invalid_types(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/compare_tests.c:114,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:114,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/compare_tests.c:115,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:115,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/compare_tests.c:117,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:117,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/compare_tests.c:118,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 4
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: cjson_compare_should_compare_strings
    functionSourceFile: /src/cJSON/tests/compare_tests.c
    functionUses: 0
    functionsReached:
    - compare_from_string
    - TEST_ASSERT_FALSE
    - TEST_ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void cjson_compare_should_compare_strings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/cJSON/tests/compare_tests.c:126,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/compare_tests.c:127,1
    - Dst: cJSON_Parse
      Src: /src/cJSON/tests/compare_tests.c:128,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/compare_tests.c:129,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/compare_tests.c:134,1
    - Dst: cJSON_Compare
      Src: /src/cJSON/tests/compare_tests.c:134,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/compare_tests.c:135,1
    - Dst: cJSON_Compare
      Src: /src/cJSON/tests/compare_tests.c:135,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/compare_tests.c:137,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/compare_tests.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 139
    functionName: cjson_compare_should_compare_raw
    functionSourceFile: /src/cJSON/tests/compare_tests.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_Compare
    - TEST_ASSERT_TRUE
    - TEST_ASSERT_NOT_NULL
    - cJSON_Parse
    linkageType: ''
    returnType: void
    signature: void cjson_compare_should_compare_raw(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/compare_tests.c:143,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:143,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/compare_tests.c:144,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:144,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/compare_tests.c:146,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:146,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/compare_tests.c:147,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:147,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/compare_tests.c:149,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:149,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/compare_tests.c:150,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:150,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/compare_tests.c:152,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:152,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/compare_tests.c:153,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:153,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/compare_tests.c:156,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:156,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/compare_tests.c:157,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 4
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: cjson_compare_should_compare_arrays
    functionSourceFile: /src/cJSON/tests/compare_tests.c
    functionUses: 0
    functionsReached:
    - compare_from_string
    - TEST_ASSERT_FALSE
    - TEST_ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void cjson_compare_should_compare_arrays(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/compare_tests.c:162,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:162,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/compare_tests.c:163,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:163,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/compare_tests.c:165,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:165,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/compare_tests.c:169,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:169,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/compare_tests.c:173,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:173,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/compare_tests.c:177,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:177,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/compare_tests.c:182,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:182,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/compare_tests.c:186,1
    - Dst: compare_from_string
      Src: /src/cJSON/tests/compare_tests.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 160
    functionDepth: 4
    functionLinenumber: 160
    functionLinenumberEnd: 190
    functionName: cjson_compare_should_compare_objects
    functionSourceFile: /src/cJSON/tests/compare_tests.c
    functionUses: 0
    functionsReached:
    - compare_from_string
    - TEST_ASSERT_FALSE
    - TEST_ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void cjson_compare_should_compare_objects(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_BEGIN
      Src: /src/cJSON/tests/compare_tests.c:194,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/compare_tests.c:196,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/compare_tests.c:197,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/compare_tests.c:198,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/compare_tests.c:199,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/compare_tests.c:200,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/compare_tests.c:201,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/compare_tests.c:202,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/compare_tests.c:203,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/compare_tests.c:204,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/compare_tests.c:205,1
    - Dst: UNITY_END
      Src: /src/cJSON/tests/compare_tests.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 208
    functionName: CJSON_CDECL::main
    functionSourceFile: /src/cJSON/tests/compare_tests.c
    functionUses: 0
    functionsReached:
    - UNITY_END
    - RUN_TEST
    - UNITY_BEGIN
    linkageType: ''
    returnType: int
    signature: int CJSON_CDECL main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_INT_MESSAGE
      Src: /src/cJSON/tests/parse_hex4.c:39,1
    - Dst: sprintf
      Src: /src/cJSON/tests/parse_hex4.c:39,1
    - Dst: TEST_ASSERT_EQUAL_INT_MESSAGE
      Src: /src/cJSON/tests/parse_hex4.c:40,1
    - Dst: sprintf
      Src: /src/cJSON/tests/parse_hex4.c:40,1
    - Dst: TEST_ASSERT_EQUAL_INT_MESSAGE
      Src: /src/cJSON/tests/parse_hex4.c:42,1
    - Dst: parse_hex4
      Src: /src/cJSON/tests/parse_hex4.c:42,1
    - Dst: TEST_ASSERT_EQUAL_INT_MESSAGE
      Src: /src/cJSON/tests/parse_hex4.c:43,1
    - Dst: parse_hex4
      Src: /src/cJSON/tests/parse_hex4.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: parse_hex4_should_parse_all_combinations
    functionSourceFile: /src/cJSON/tests/parse_hex4.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_INT_MESSAGE
    - parse_hex4
    - sprintf
    linkageType: ''
    returnType: void
    signature: void parse_hex4_should_parse_all_combinations(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/parse_hex4.c:49,1
    - Dst: parse_hex4
      Src: /src/cJSON/tests/parse_hex4.c:49,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/parse_hex4.c:50,1
    - Dst: parse_hex4
      Src: /src/cJSON/tests/parse_hex4.c:50,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/parse_hex4.c:51,1
    - Dst: parse_hex4
      Src: /src/cJSON/tests/parse_hex4.c:51,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/parse_hex4.c:52,1
    - Dst: parse_hex4
      Src: /src/cJSON/tests/parse_hex4.c:52,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/parse_hex4.c:53,1
    - Dst: parse_hex4
      Src: /src/cJSON/tests/parse_hex4.c:53,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/parse_hex4.c:54,1
    - Dst: parse_hex4
      Src: /src/cJSON/tests/parse_hex4.c:54,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/parse_hex4.c:55,1
    - Dst: parse_hex4
      Src: /src/cJSON/tests/parse_hex4.c:55,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/parse_hex4.c:56,1
    - Dst: parse_hex4
      Src: /src/cJSON/tests/parse_hex4.c:56,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/parse_hex4.c:57,1
    - Dst: parse_hex4
      Src: /src/cJSON/tests/parse_hex4.c:57,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/parse_hex4.c:58,1
    - Dst: parse_hex4
      Src: /src/cJSON/tests/parse_hex4.c:58,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/parse_hex4.c:59,1
    - Dst: parse_hex4
      Src: /src/cJSON/tests/parse_hex4.c:59,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/parse_hex4.c:60,1
    - Dst: parse_hex4
      Src: /src/cJSON/tests/parse_hex4.c:60,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/parse_hex4.c:61,1
    - Dst: parse_hex4
      Src: /src/cJSON/tests/parse_hex4.c:61,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/parse_hex4.c:62,1
    - Dst: parse_hex4
      Src: /src/cJSON/tests/parse_hex4.c:62,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/parse_hex4.c:63,1
    - Dst: parse_hex4
      Src: /src/cJSON/tests/parse_hex4.c:63,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/parse_hex4.c:64,1
    - Dst: parse_hex4
      Src: /src/cJSON/tests/parse_hex4.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 65
    functionName: parse_hex4_should_parse_mixed_case
    functionSourceFile: /src/cJSON/tests/parse_hex4.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_INT
    - parse_hex4
    linkageType: ''
    returnType: void
    signature: void parse_hex4_should_parse_mixed_case(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_BEGIN
      Src: /src/cJSON/tests/parse_hex4.c:69,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_hex4.c:70,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_hex4.c:71,1
    - Dst: UNITY_END
      Src: /src/cJSON/tests/parse_hex4.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: CJSON_CDECL::main
    functionSourceFile: /src/cJSON/tests/parse_hex4.c
    functionUses: 0
    functionsReached:
    - UNITY_END
    - RUN_TEST
    - UNITY_BEGIN
    linkageType: ''
    returnType: int
    signature: int CJSON_CDECL main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cJSON/tests/print_object.c:40,1
    - Dst: memset
      Src: /src/cJSON/tests/print_object.c:57,1
    - Dst: TEST_ASSERT_TRUE_MESSAGE
      Src: /src/cJSON/tests/print_object.c:58,1
    - Dst: parse_object
      Src: /src/cJSON/tests/print_object.c:58,1
    - Dst: TEST_ASSERT_TRUE_MESSAGE
      Src: /src/cJSON/tests/print_object.c:61,1
    - Dst: print_object
      Src: /src/cJSON/tests/print_object.c:61,1
    - Dst: TEST_ASSERT_EQUAL_STRING_MESSAGE
      Src: /src/cJSON/tests/print_object.c:62,1
    - Dst: TEST_ASSERT_TRUE_MESSAGE
      Src: /src/cJSON/tests/print_object.c:65,1
    - Dst: print_object
      Src: /src/cJSON/tests/print_object.c:65,1
    - Dst: TEST_ASSERT_EQUAL_STRING_MESSAGE
      Src: /src/cJSON/tests/print_object.c:66,1
    - Dst: reset
      Src: /src/cJSON/tests/print_object.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - expected
    - input
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 27
    functionDepth: 5
    functionLinenumber: 27
    functionLinenumberEnd: 69
    functionName: assert_print_object
    functionSourceFile: /src/cJSON/tests/print_object.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_TRUE_MESSAGE
    - reset
    - TEST_ASSERT_EQUAL_STRING_MESSAGE
    - print_object
    - strlen
    - memset
    - parse_object
    linkageType: ''
    returnType: void
    signature: void assert_print_object(const char * const expected, const char *
      const input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_print_object
      Src: /src/cJSON/tests/print_object.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 6
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: print_object_should_print_empty_objects
    functionSourceFile: /src/cJSON/tests/print_object.c
    functionUses: 0
    functionsReached:
    - assert_print_object
    linkageType: ''
    returnType: void
    signature: void print_object_should_print_empty_objects(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_print_object
      Src: /src/cJSON/tests/print_object.c:79,1
    - Dst: assert_print_object
      Src: /src/cJSON/tests/print_object.c:80,1
    - Dst: assert_print_object
      Src: /src/cJSON/tests/print_object.c:81,1
    - Dst: assert_print_object
      Src: /src/cJSON/tests/print_object.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 6
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: print_object_should_print_objects_with_one_element
    functionSourceFile: /src/cJSON/tests/print_object.c
    functionUses: 0
    functionsReached:
    - assert_print_object
    linkageType: ''
    returnType: void
    signature: void print_object_should_print_objects_with_one_element(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_print_object
      Src: /src/cJSON/tests/print_object.c:87,1
    - Dst: assert_print_object
      Src: /src/cJSON/tests/print_object.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 6
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: print_object_should_print_objects_with_multiple_elements
    functionSourceFile: /src/cJSON/tests/print_object.c
    functionUses: 0
    functionsReached:
    - assert_print_object
    linkageType: ''
    returnType: void
    signature: void print_object_should_print_objects_with_multiple_elements(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_BEGIN
      Src: /src/cJSON/tests/print_object.c:94,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/print_object.c:96,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/print_object.c:97,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/print_object.c:98,1
    - Dst: UNITY_END
      Src: /src/cJSON/tests/print_object.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: CJSON_CDECL::main
    functionSourceFile: /src/cJSON/tests/print_object.c
    functionUses: 0
    functionsReached:
    - UNITY_END
    - RUN_TEST
    - UNITY_BEGIN
    linkageType: ''
    returnType: int
    signature: int CJSON_CDECL main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/common.h:32,1
    - Dst: deallocate
      Src: /src/cJSON/tests/common.h:36,1
    - Dst: deallocate
      Src: /src/cJSON/tests/common.h:40,1
    - Dst: memset
      Src: /src/cJSON/tests/common.h:43,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 44
    functionName: reset
    functionSourceFile: /src/cJSON/tests/common.h
    functionUses: 13
    functionsReached:
    - deallocate
    - cJSON_Delete
    - memset
    linkageType: ''
    returnType: void
    signature: void reset(cJSON *item)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cJSON/tests/common.h:54,1
    - Dst: fseek
      Src: /src/cJSON/tests/common.h:61,1
    - Dst: ftell
      Src: /src/cJSON/tests/common.h:65,1
    - Dst: fseek
      Src: /src/cJSON/tests/common.h:70,1
    - Dst: malloc
      Src: /src/cJSON/tests/common.h:76,1
    - Dst: fread
      Src: /src/cJSON/tests/common.h:83,1
    - Dst: free
      Src: /src/cJSON/tests/common.h:86,1
    - Dst: fclose
      Src: /src/cJSON/tests/common.h:96,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 100
    functionName: read_file
    functionSourceFile: /src/cJSON/tests/common.h
    functionUses: 4
    functionsReached:
    - fseek
    - free
    - ftell
    - fclose
    - malloc
    - fopen
    - fread
    linkageType: ''
    returnType: char
    signature: char * read_file(const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - item
    - ','
    - item_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: assert_has_type
    functionSourceFile: /src/cJSON/tests/common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert_has_type(item, item_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - item
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: assert_has_no_reference
    functionSourceFile: /src/cJSON/tests/common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert_has_no_reference(item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - item
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: assert_has_no_const_string
    functionSourceFile: /src/cJSON/tests/common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert_has_no_const_string(item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - item
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: assert_has_valuestring
    functionSourceFile: /src/cJSON/tests/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert_has_valuestring(item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - item
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: assert_has_no_valuestring
    functionSourceFile: /src/cJSON/tests/common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert_has_no_valuestring(item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - item
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: assert_has_string
    functionSourceFile: /src/cJSON/tests/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert_has_string(item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - item
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: assert_has_no_string
    functionSourceFile: /src/cJSON/tests/common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert_has_no_string(item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - item
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: assert_not_in_list
    functionSourceFile: /src/cJSON/tests/common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert_not_in_list(item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - item
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: assert_has_child
    functionSourceFile: /src/cJSON/tests/common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert_has_child(item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - item
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: assert_has_no_child
    functionSourceFile: /src/cJSON/tests/common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert_has_no_child(item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - item
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: assert_is_invalid
    functionSourceFile: /src/cJSON/tests/common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert_is_invalid(item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_NOT_NULL_MESSAGE
      Src: /src/cJSON/tests/parse_number.c:35,1
    - Dst: assert_not_in_list
      Src: /src/cJSON/tests/parse_number.c:37,1
    - Dst: assert_has_no_child
      Src: /src/cJSON/tests/parse_number.c:38,1
    - Dst: assert_has_type
      Src: /src/cJSON/tests/parse_number.c:39,1
    - Dst: assert_has_no_reference
      Src: /src/cJSON/tests/parse_number.c:40,1
    - Dst: assert_has_no_const_string
      Src: /src/cJSON/tests/parse_number.c:41,1
    - Dst: assert_has_no_valuestring
      Src: /src/cJSON/tests/parse_number.c:42,1
    - Dst: assert_has_no_string
      Src: /src/cJSON/tests/parse_number.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - number_item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: assert_is_number
    functionSourceFile: /src/cJSON/tests/parse_number.c
    functionUses: 0
    functionsReached:
    - assert_has_no_const_string
    - TEST_ASSERT_NOT_NULL_MESSAGE
    - assert_has_no_reference
    - assert_not_in_list
    - assert_has_no_child
    - assert_has_no_string
    - assert_has_no_valuestring
    - assert_has_type
    linkageType: ''
    returnType: void
    signature: void assert_is_number(cJSON *number_item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cJSON/tests/parse_number.c:50,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/parse_number.c:52,1
    - Dst: parse_number
      Src: /src/cJSON/tests/parse_number.c:52,1
    - Dst: assert_is_number
      Src: /src/cJSON/tests/parse_number.c:53,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/parse_number.c:54,1
    - Dst: TEST_ASSERT_EQUAL_DOUBLE
      Src: /src/cJSON/tests/parse_number.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - string
    - integer
    - real
    argTypes:
    - char*
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: assert_parse_number
    functionSourceFile: /src/cJSON/tests/parse_number.c
    functionUses: 0
    functionsReached:
    - parse_number
    - TEST_ASSERT_EQUAL_DOUBLE
    - TEST_ASSERT_EQUAL_INT
    - TEST_ASSERT_TRUE
    - strlen
    - assert_is_number
    linkageType: ''
    returnType: void
    signature: void assert_parse_number(const char *string, int integer, double real)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_parse_number
      Src: /src/cJSON/tests/parse_number.c:60,1
    - Dst: assert_parse_number
      Src: /src/cJSON/tests/parse_number.c:61,1
    - Dst: assert_parse_number
      Src: /src/cJSON/tests/parse_number.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: parse_number_should_parse_zero
    functionSourceFile: /src/cJSON/tests/parse_number.c
    functionUses: 0
    functionsReached:
    - assert_parse_number
    linkageType: ''
    returnType: void
    signature: void parse_number_should_parse_zero(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_parse_number
      Src: /src/cJSON/tests/parse_number.c:67,1
    - Dst: assert_parse_number
      Src: /src/cJSON/tests/parse_number.c:68,1
    - Dst: assert_parse_number
      Src: /src/cJSON/tests/parse_number.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: parse_number_should_parse_negative_integers
    functionSourceFile: /src/cJSON/tests/parse_number.c
    functionUses: 0
    functionsReached:
    - assert_parse_number
    linkageType: ''
    returnType: void
    signature: void parse_number_should_parse_negative_integers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_parse_number
      Src: /src/cJSON/tests/parse_number.c:74,1
    - Dst: assert_parse_number
      Src: /src/cJSON/tests/parse_number.c:75,1
    - Dst: assert_parse_number
      Src: /src/cJSON/tests/parse_number.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: parse_number_should_parse_positive_integers
    functionSourceFile: /src/cJSON/tests/parse_number.c
    functionUses: 0
    functionsReached:
    - assert_parse_number
    linkageType: ''
    returnType: void
    signature: void parse_number_should_parse_positive_integers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_parse_number
      Src: /src/cJSON/tests/parse_number.c:81,1
    - Dst: assert_parse_number
      Src: /src/cJSON/tests/parse_number.c:82,1
    - Dst: assert_parse_number
      Src: /src/cJSON/tests/parse_number.c:83,1
    - Dst: assert_parse_number
      Src: /src/cJSON/tests/parse_number.c:84,1
    - Dst: assert_parse_number
      Src: /src/cJSON/tests/parse_number.c:85,1
    - Dst: assert_parse_number
      Src: /src/cJSON/tests/parse_number.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: parse_number_should_parse_positive_reals
    functionSourceFile: /src/cJSON/tests/parse_number.c
    functionUses: 0
    functionsReached:
    - assert_parse_number
    linkageType: ''
    returnType: void
    signature: void parse_number_should_parse_positive_reals(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_parse_number
      Src: /src/cJSON/tests/parse_number.c:91,1
    - Dst: assert_parse_number
      Src: /src/cJSON/tests/parse_number.c:92,1
    - Dst: assert_parse_number
      Src: /src/cJSON/tests/parse_number.c:93,1
    - Dst: assert_parse_number
      Src: /src/cJSON/tests/parse_number.c:94,1
    - Dst: assert_parse_number
      Src: /src/cJSON/tests/parse_number.c:95,1
    - Dst: assert_parse_number
      Src: /src/cJSON/tests/parse_number.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: parse_number_should_parse_negative_reals
    functionSourceFile: /src/cJSON/tests/parse_number.c
    functionUses: 0
    functionsReached:
    - assert_parse_number
    linkageType: ''
    returnType: void
    signature: void parse_number_should_parse_negative_reals(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cJSON/tests/parse_number.c:102,1
    - Dst: UNITY_BEGIN
      Src: /src/cJSON/tests/parse_number.c:103,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_number.c:104,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_number.c:105,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_number.c:106,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_number.c:107,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_number.c:108,1
    - Dst: UNITY_END
      Src: /src/cJSON/tests/parse_number.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: CJSON_CDECL::main
    functionSourceFile: /src/cJSON/tests/parse_number.c
    functionUses: 0
    functionsReached:
    - UNITY_END
    - RUN_TEST
    - UNITY_BEGIN
    - memset
    linkageType: ''
    returnType: int
    signature: int CJSON_CDECL main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_NOT_NULL_MESSAGE
      Src: /src/cJSON/tests/parse_array.c:35,1
    - Dst: assert_not_in_list
      Src: /src/cJSON/tests/parse_array.c:37,1
    - Dst: assert_has_type
      Src: /src/cJSON/tests/parse_array.c:38,1
    - Dst: assert_has_no_reference
      Src: /src/cJSON/tests/parse_array.c:39,1
    - Dst: assert_has_no_const_string
      Src: /src/cJSON/tests/parse_array.c:40,1
    - Dst: assert_has_no_valuestring
      Src: /src/cJSON/tests/parse_array.c:41,1
    - Dst: assert_has_no_string
      Src: /src/cJSON/tests/parse_array.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - array_item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: assert_is_array
    functionSourceFile: /src/cJSON/tests/parse_array.c
    functionUses: 0
    functionsReached:
    - assert_has_no_const_string
    - TEST_ASSERT_NOT_NULL_MESSAGE
    - assert_not_in_list
    - assert_has_no_reference
    - assert_has_no_string
    - assert_has_no_valuestring
    - assert_has_type
    linkageType: ''
    returnType: void
    signature: void assert_is_array(cJSON *array_item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cJSON/tests/parse_array.c:49,1
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/parse_array.c:52,1
    - Dst: parse_array
      Src: /src/cJSON/tests/parse_array.c:52,1
    - Dst: assert_is_invalid
      Src: /src/cJSON/tests/parse_array.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - json
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 5
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: assert_not_array
    functionSourceFile: /src/cJSON/tests/parse_array.c
    functionUses: 0
    functionsReached:
    - parse_array
    - TEST_ASSERT_FALSE
    - strlen
    - assert_is_invalid
    linkageType: ''
    returnType: void
    signature: void assert_not_array(const char *json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cJSON/tests/parse_array.c:60,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/parse_array.c:63,1
    - Dst: parse_array
      Src: /src/cJSON/tests/parse_array.c:63,1
    - Dst: assert_is_array
      Src: /src/cJSON/tests/parse_array.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - json
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 5
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: assert_parse_array
    functionSourceFile: /src/cJSON/tests/parse_array.c
    functionUses: 0
    functionsReached:
    - parse_array
    - strlen
    - TEST_ASSERT_TRUE
    - assert_is_array
    linkageType: ''
    returnType: void
    signature: void assert_parse_array(const char *json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_parse_array
      Src: /src/cJSON/tests/parse_array.c:69,1
    - Dst: assert_has_no_child
      Src: /src/cJSON/tests/parse_array.c:70,1
    - Dst: assert_parse_array
      Src: /src/cJSON/tests/parse_array.c:72,1
    - Dst: assert_has_no_child
      Src: /src/cJSON/tests/parse_array.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 6
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: parse_array_should_parse_empty_arrays
    functionSourceFile: /src/cJSON/tests/parse_array.c
    functionUses: 0
    functionsReached:
    - assert_has_no_child
    - assert_parse_array
    linkageType: ''
    returnType: void
    signature: void parse_array_should_parse_empty_arrays(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_parse_array
      Src: /src/cJSON/tests/parse_array.c:80,1
    - Dst: assert_has_child
      Src: /src/cJSON/tests/parse_array.c:81,1
    - Dst: assert_has_type
      Src: /src/cJSON/tests/parse_array.c:82,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_array.c:83,1
    - Dst: assert_parse_array
      Src: /src/cJSON/tests/parse_array.c:85,1
    - Dst: assert_has_child
      Src: /src/cJSON/tests/parse_array.c:86,1
    - Dst: assert_has_type
      Src: /src/cJSON/tests/parse_array.c:87,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/parse_array.c:88,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_array.c:89,1
    - Dst: assert_parse_array
      Src: /src/cJSON/tests/parse_array.c:91,1
    - Dst: assert_has_child
      Src: /src/cJSON/tests/parse_array.c:92,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/parse_array.c:93,1
    - Dst: assert_has_type
      Src: /src/cJSON/tests/parse_array.c:94,1
    - Dst: assert_has_no_child
      Src: /src/cJSON/tests/parse_array.c:95,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_array.c:96,1
    - Dst: assert_parse_array
      Src: /src/cJSON/tests/parse_array.c:98,1
    - Dst: assert_has_child
      Src: /src/cJSON/tests/parse_array.c:99,1
    - Dst: assert_has_type
      Src: /src/cJSON/tests/parse_array.c:100,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_array.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 77
    functionDepth: 6
    functionLinenumber: 77
    functionLinenumberEnd: 102
    functionName: parse_array_should_parse_arrays_with_one_element
    functionSourceFile: /src/cJSON/tests/parse_array.c
    functionUses: 0
    functionsReached:
    - reset
    - TEST_ASSERT_NOT_NULL
    - assert_has_child
    - TEST_ASSERT_EQUAL_STRING
    - assert_has_no_child
    - assert_parse_array
    - assert_has_type
    linkageType: ''
    returnType: void
    signature: void parse_array_should_parse_arrays_with_one_element(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_parse_array
      Src: /src/cJSON/tests/parse_array.c:106,1
    - Dst: assert_has_child
      Src: /src/cJSON/tests/parse_array.c:107,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/parse_array.c:108,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/parse_array.c:109,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/parse_array.c:110,1
    - Dst: assert_has_type
      Src: /src/cJSON/tests/parse_array.c:111,1
    - Dst: assert_has_type
      Src: /src/cJSON/tests/parse_array.c:112,1
    - Dst: assert_has_type
      Src: /src/cJSON/tests/parse_array.c:113,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_array.c:114,1
    - Dst: assert_parse_array
      Src: /src/cJSON/tests/parse_array.c:129,1
    - Dst: TEST_ASSERT_BITS
      Src: /src/cJSON/tests/parse_array.c:138,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/parse_array.c:140,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_array.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 104
    functionDepth: 6
    functionLinenumber: 104
    functionLinenumberEnd: 143
    functionName: parse_array_should_parse_arrays_with_multiple_elements
    functionSourceFile: /src/cJSON/tests/parse_array.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_BITS
    - TEST_ASSERT_EQUAL_INT
    - reset
    - TEST_ASSERT_NOT_NULL
    - assert_has_child
    - assert_parse_array
    - TEST_ASSERT_NULL
    - assert_has_type
    linkageType: ''
    returnType: void
    signature: void parse_array_should_parse_arrays_with_multiple_elements(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_not_array
      Src: /src/cJSON/tests/parse_array.c:147,1
    - Dst: assert_not_array
      Src: /src/cJSON/tests/parse_array.c:148,1
    - Dst: assert_not_array
      Src: /src/cJSON/tests/parse_array.c:149,1
    - Dst: assert_not_array
      Src: /src/cJSON/tests/parse_array.c:150,1
    - Dst: assert_not_array
      Src: /src/cJSON/tests/parse_array.c:151,1
    - Dst: assert_not_array
      Src: /src/cJSON/tests/parse_array.c:152,1
    - Dst: assert_not_array
      Src: /src/cJSON/tests/parse_array.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 6
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: parse_array_should_not_parse_non_arrays
    functionSourceFile: /src/cJSON/tests/parse_array.c
    functionUses: 0
    functionsReached:
    - assert_not_array
    linkageType: ''
    returnType: void
    signature: void parse_array_should_not_parse_non_arrays(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cJSON/tests/parse_array.c:159,1
    - Dst: UNITY_BEGIN
      Src: /src/cJSON/tests/parse_array.c:161,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_array.c:162,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_array.c:163,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_array.c:164,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_array.c:165,1
    - Dst: UNITY_END
      Src: /src/cJSON/tests/parse_array.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 167
    functionName: CJSON_CDECL::main
    functionSourceFile: /src/cJSON/tests/parse_array.c
    functionUses: 0
    functionsReached:
    - UNITY_END
    - RUN_TEST
    - UNITY_BEGIN
    - memset
    linkageType: ''
    returnType: int
    signature: int CJSON_CDECL main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Minify
      Src: /src/cJSON/tests/minify_tests.c:37,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/minify_tests.c:38,1
    - Dst: cJSON_Minify
      Src: /src/cJSON/tests/minify_tests.c:40,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/minify_tests.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: cjson_minify_should_not_overflow_buffer
    functionSourceFile: /src/cJSON/tests/minify_tests.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_STRING
    - cJSON_Minify
    linkageType: ''
    returnType: void
    signature: void cjson_minify_should_not_overflow_buffer(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cJSON/tests/minify_tests.c:48,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/minify_tests.c:49,1
    - Dst: strcpy
      Src: /src/cJSON/tests/minify_tests.c:50,1
    - Dst: cJSON_Minify
      Src: /src/cJSON/tests/minify_tests.c:52,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/minify_tests.c:53,1
    - Dst: free
      Src: /src/cJSON/tests/minify_tests.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: cjson_minify_should_remove_single_line_comments
    functionSourceFile: /src/cJSON/tests/minify_tests.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_NOT_NULL
    - cJSON_Minify
    - malloc
    - strcpy
    - TEST_ASSERT_EQUAL_STRING
    - free
    linkageType: ''
    returnType: void
    signature: void cjson_minify_should_remove_single_line_comments(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cJSON/tests/minify_tests.c:62,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/minify_tests.c:63,1
    - Dst: strcpy
      Src: /src/cJSON/tests/minify_tests.c:64,1
    - Dst: cJSON_Minify
      Src: /src/cJSON/tests/minify_tests.c:66,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/minify_tests.c:67,1
    - Dst: free
      Src: /src/cJSON/tests/minify_tests.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: cjson_minify_should_remove_spaces
    functionSourceFile: /src/cJSON/tests/minify_tests.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_NOT_NULL
    - cJSON_Minify
    - malloc
    - strcpy
    - TEST_ASSERT_EQUAL_STRING
    - free
    linkageType: ''
    returnType: void
    signature: void cjson_minify_should_remove_spaces(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cJSON/tests/minify_tests.c:76,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/minify_tests.c:77,1
    - Dst: strcpy
      Src: /src/cJSON/tests/minify_tests.c:78,1
    - Dst: cJSON_Minify
      Src: /src/cJSON/tests/minify_tests.c:80,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/minify_tests.c:81,1
    - Dst: free
      Src: /src/cJSON/tests/minify_tests.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: cjson_minify_should_remove_multiline_comments
    functionSourceFile: /src/cJSON/tests/minify_tests.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_NOT_NULL
    - cJSON_Minify
    - malloc
    - strcpy
    - TEST_ASSERT_EQUAL_STRING
    - free
    linkageType: ''
    returnType: void
    signature: void cjson_minify_should_remove_multiline_comments(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cJSON/tests/minify_tests.c:90,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/minify_tests.c:91,1
    - Dst: strcpy
      Src: /src/cJSON/tests/minify_tests.c:92,1
    - Dst: cJSON_Minify
      Src: /src/cJSON/tests/minify_tests.c:94,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/minify_tests.c:95,1
    - Dst: free
      Src: /src/cJSON/tests/minify_tests.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: cjson_minify_should_not_modify_strings
    functionSourceFile: /src/cJSON/tests/minify_tests.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_NOT_NULL
    - cJSON_Minify
    - malloc
    - strcpy
    - TEST_ASSERT_EQUAL_STRING
    - free
    linkageType: ''
    returnType: void
    signature: void cjson_minify_should_not_modify_strings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cJSON/tests/minify_tests.c:146,1
    - Dst: strcpy
      Src: /src/cJSON/tests/minify_tests.c:147,1
    - Dst: cJSON_Minify
      Src: /src/cJSON/tests/minify_tests.c:149,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/minify_tests.c:150,1
    - Dst: free
      Src: /src/cJSON/tests/minify_tests.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 153
    functionName: cjson_minify_should_minify_json
    functionSourceFile: /src/cJSON/tests/minify_tests.c
    functionUses: 0
    functionsReached:
    - cJSON_Minify
    - malloc
    - strcpy
    - TEST_ASSERT_EQUAL_STRING
    - free
    linkageType: ''
    returnType: void
    signature: void cjson_minify_should_minify_json(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Minify
      Src: /src/cJSON/tests/minify_tests.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: cjson_minify_should_not_loop_infinitely
    functionSourceFile: /src/cJSON/tests/minify_tests.c
    functionUses: 0
    functionsReached:
    - cJSON_Minify
    linkageType: ''
    returnType: void
    signature: void cjson_minify_should_not_loop_infinitely(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_BEGIN
      Src: /src/cJSON/tests/minify_tests.c:163,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/minify_tests.c:165,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/minify_tests.c:166,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/minify_tests.c:167,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/minify_tests.c:168,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/minify_tests.c:169,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/minify_tests.c:170,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/minify_tests.c:171,1
    - Dst: UNITY_END
      Src: /src/cJSON/tests/minify_tests.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 174
    functionName: CJSON_CDECL::main
    functionSourceFile: /src/cJSON/tests/minify_tests.c
    functionUses: 0
    functionsReached:
    - UNITY_END
    - RUN_TEST
    - UNITY_BEGIN
    linkageType: ''
    returnType: int
    signature: int CJSON_CDECL main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateString
      Src: /src/cJSON/tests/misc_utils_tests.c:34,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/misc_utils_tests.c:35,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_utils_tests.c:37,1
    - Dst: cJSONUtils_GetPointer
      Src: /src/cJSON/tests/misc_utils_tests.c:37,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_utils_tests.c:38,1
    - Dst: cJSONUtils_GetPointer
      Src: /src/cJSON/tests/misc_utils_tests.c:38,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_utils_tests.c:39,1
    - Dst: cJSONUtils_GetPointerCaseSensitive
      Src: /src/cJSON/tests/misc_utils_tests.c:39,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_utils_tests.c:40,1
    - Dst: cJSONUtils_GetPointerCaseSensitive
      Src: /src/cJSON/tests/misc_utils_tests.c:40,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_utils_tests.c:41,1
    - Dst: cJSONUtils_GeneratePatches
      Src: /src/cJSON/tests/misc_utils_tests.c:41,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_utils_tests.c:42,1
    - Dst: cJSONUtils_GeneratePatches
      Src: /src/cJSON/tests/misc_utils_tests.c:42,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_utils_tests.c:43,1
    - Dst: cJSONUtils_GeneratePatchesCaseSensitive
      Src: /src/cJSON/tests/misc_utils_tests.c:43,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_utils_tests.c:44,1
    - Dst: cJSONUtils_GeneratePatchesCaseSensitive
      Src: /src/cJSON/tests/misc_utils_tests.c:44,1
    - Dst: cJSONUtils_AddPatchToArray
      Src: /src/cJSON/tests/misc_utils_tests.c:45,1
    - Dst: cJSONUtils_AddPatchToArray
      Src: /src/cJSON/tests/misc_utils_tests.c:46,1
    - Dst: cJSONUtils_AddPatchToArray
      Src: /src/cJSON/tests/misc_utils_tests.c:47,1
    - Dst: cJSONUtils_AddPatchToArray
      Src: /src/cJSON/tests/misc_utils_tests.c:48,1
    - Dst: cJSONUtils_ApplyPatches
      Src: /src/cJSON/tests/misc_utils_tests.c:49,1
    - Dst: cJSONUtils_ApplyPatches
      Src: /src/cJSON/tests/misc_utils_tests.c:50,1
    - Dst: cJSONUtils_ApplyPatchesCaseSensitive
      Src: /src/cJSON/tests/misc_utils_tests.c:51,1
    - Dst: cJSONUtils_ApplyPatchesCaseSensitive
      Src: /src/cJSON/tests/misc_utils_tests.c:52,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_utils_tests.c:53,1
    - Dst: cJSONUtils_MergePatch
      Src: /src/cJSON/tests/misc_utils_tests.c:53,1
    - Dst: cJSON_CreateString
      Src: /src/cJSON/tests/misc_utils_tests.c:54,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_utils_tests.c:55,1
    - Dst: cJSONUtils_MergePatchCaseSensitive
      Src: /src/cJSON/tests/misc_utils_tests.c:55,1
    - Dst: cJSON_CreateString
      Src: /src/cJSON/tests/misc_utils_tests.c:56,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_utils_tests.c:65,1
    - Dst: cJSONUtils_FindPointerFromObjectTo
      Src: /src/cJSON/tests/misc_utils_tests.c:65,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/misc_utils_tests.c:66,1
    - Dst: cJSONUtils_FindPointerFromObjectTo
      Src: /src/cJSON/tests/misc_utils_tests.c:66,1
    - Dst: cJSONUtils_SortObject
      Src: /src/cJSON/tests/misc_utils_tests.c:67,1
    - Dst: cJSONUtils_SortObjectCaseSensitive
      Src: /src/cJSON/tests/misc_utils_tests.c:68,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/misc_utils_tests.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 32
    functionDepth: 7
    functionLinenumber: 32
    functionLinenumberEnd: 71
    functionName: cjson_utils_functions_shouldnt_crash_with_null_pointers
    functionSourceFile: /src/cJSON/tests/misc_utils_tests.c
    functionUses: 0
    functionsReached:
    - cJSONUtils_FindPointerFromObjectTo
    - cJSONUtils_SortObjectCaseSensitive
    - cJSON_Delete
    - cJSONUtils_GetPointerCaseSensitive
    - cJSONUtils_MergePatchCaseSensitive
    - cJSONUtils_MergePatch
    - cJSONUtils_GeneratePatchesCaseSensitive
    - TEST_ASSERT_NOT_NULL
    - cJSONUtils_ApplyPatches
    - cJSONUtils_GeneratePatches
    - cJSONUtils_GetPointer
    - cJSONUtils_AddPatchToArray
    - cJSONUtils_SortObject
    - cJSON_CreateString
    - cJSONUtils_ApplyPatchesCaseSensitive
    - TEST_ASSERT_NULL
    linkageType: ''
    returnType: void
    signature: void cjson_utils_functions_shouldnt_crash_with_null_pointers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_BEGIN
      Src: /src/cJSON/tests/misc_utils_tests.c:75,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/misc_utils_tests.c:77,1
    - Dst: UNITY_END
      Src: /src/cJSON/tests/misc_utils_tests.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: main
    functionSourceFile: /src/cJSON/tests/misc_utils_tests.c
    functionUses: 0
    functionsReached:
    - UNITY_END
    - RUN_TEST
    - UNITY_BEGIN
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_TRUE_MESSAGE
      Src: /src/cJSON/tests/print_string.c:37,1
    - Dst: print_string_ptr
      Src: /src/cJSON/tests/print_string.c:37,1
    - Dst: TEST_ASSERT_EQUAL_STRING_MESSAGE
      Src: /src/cJSON/tests/print_string.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - expected
    - input
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: assert_print_string
    functionSourceFile: /src/cJSON/tests/print_string.c
    functionUses: 0
    functionsReached:
    - print_string_ptr
    - TEST_ASSERT_EQUAL_STRING_MESSAGE
    - TEST_ASSERT_TRUE_MESSAGE
    linkageType: ''
    returnType: void
    signature: void assert_print_string(const char *expected, const char *input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_print_string
      Src: /src/cJSON/tests/print_string.c:43,1
    - Dst: assert_print_string
      Src: /src/cJSON/tests/print_string.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: print_string_should_print_empty_strings
    functionSourceFile: /src/cJSON/tests/print_string.c
    functionUses: 0
    functionsReached:
    - assert_print_string
    linkageType: ''
    returnType: void
    signature: void print_string_should_print_empty_strings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_print_string
      Src: /src/cJSON/tests/print_string.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 61
    functionName: print_string_should_print_ascii
    functionSourceFile: /src/cJSON/tests/print_string.c
    functionUses: 0
    functionsReached:
    - assert_print_string
    linkageType: ''
    returnType: void
    signature: void print_string_should_print_ascii(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_print_string
      Src: /src/cJSON/tests/print_string.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: print_string_should_print_utf8
    functionSourceFile: /src/cJSON/tests/print_string.c
    functionUses: 0
    functionsReached:
    - assert_print_string
    linkageType: ''
    returnType: void
    signature: void print_string_should_print_utf8(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_BEGIN
      Src: /src/cJSON/tests/print_string.c:71,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/print_string.c:73,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/print_string.c:74,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/print_string.c:75,1
    - Dst: UNITY_END
      Src: /src/cJSON/tests/print_string.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: CJSON_CDECL::main
    functionSourceFile: /src/cJSON/tests/print_string.c
    functionUses: 0
    functionsReached:
    - UNITY_END
    - RUN_TEST
    - UNITY_BEGIN
    linkageType: ''
    returnType: int
    signature: int CJSON_CDECL main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cJSON/tests/print_array.c:39,1
    - Dst: memset
      Src: /src/cJSON/tests/print_array.c:56,1
    - Dst: TEST_ASSERT_TRUE_MESSAGE
      Src: /src/cJSON/tests/print_array.c:57,1
    - Dst: parse_array
      Src: /src/cJSON/tests/print_array.c:57,1
    - Dst: TEST_ASSERT_TRUE_MESSAGE
      Src: /src/cJSON/tests/print_array.c:60,1
    - Dst: print_array
      Src: /src/cJSON/tests/print_array.c:60,1
    - Dst: TEST_ASSERT_EQUAL_STRING_MESSAGE
      Src: /src/cJSON/tests/print_array.c:61,1
    - Dst: TEST_ASSERT_TRUE_MESSAGE
      Src: /src/cJSON/tests/print_array.c:64,1
    - Dst: print_array
      Src: /src/cJSON/tests/print_array.c:64,1
    - Dst: TEST_ASSERT_EQUAL_STRING_MESSAGE
      Src: /src/cJSON/tests/print_array.c:65,1
    - Dst: reset
      Src: /src/cJSON/tests/print_array.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - expected
    - input
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 27
    functionDepth: 5
    functionLinenumber: 27
    functionLinenumberEnd: 68
    functionName: assert_print_array
    functionSourceFile: /src/cJSON/tests/print_array.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_TRUE_MESSAGE
    - reset
    - TEST_ASSERT_EQUAL_STRING_MESSAGE
    - parse_array
    - strlen
    - print_array
    - memset
    linkageType: ''
    returnType: void
    signature: void assert_print_array(const char * const expected, const char * const
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_print_array
      Src: /src/cJSON/tests/print_array.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 6
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: print_array_should_print_empty_arrays
    functionSourceFile: /src/cJSON/tests/print_array.c
    functionUses: 0
    functionsReached:
    - assert_print_array
    linkageType: ''
    returnType: void
    signature: void print_array_should_print_empty_arrays(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_print_array
      Src: /src/cJSON/tests/print_array.c:78,1
    - Dst: assert_print_array
      Src: /src/cJSON/tests/print_array.c:79,1
    - Dst: assert_print_array
      Src: /src/cJSON/tests/print_array.c:80,1
    - Dst: assert_print_array
      Src: /src/cJSON/tests/print_array.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 6
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: print_array_should_print_arrays_with_one_element
    functionSourceFile: /src/cJSON/tests/print_array.c
    functionUses: 0
    functionsReached:
    - assert_print_array
    linkageType: ''
    returnType: void
    signature: void print_array_should_print_arrays_with_one_element(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_print_array
      Src: /src/cJSON/tests/print_array.c:86,1
    - Dst: assert_print_array
      Src: /src/cJSON/tests/print_array.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 6
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: print_array_should_print_arrays_with_multiple_elements
    functionSourceFile: /src/cJSON/tests/print_array.c
    functionUses: 0
    functionsReached:
    - assert_print_array
    linkageType: ''
    returnType: void
    signature: void print_array_should_print_arrays_with_multiple_elements(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_BEGIN
      Src: /src/cJSON/tests/print_array.c:93,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/print_array.c:95,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/print_array.c:96,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/print_array.c:97,1
    - Dst: UNITY_END
      Src: /src/cJSON/tests/print_array.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: CJSON_CDECL::main
    functionSourceFile: /src/cJSON/tests/print_array.c
    functionUses: 0
    functionsReached:
    - UNITY_END
    - RUN_TEST
    - UNITY_BEGIN
    linkageType: ''
    returnType: int
    signature: int CJSON_CDECL main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_NULL_MESSAGE
      Src: /src/cJSON/tests/parse_with_opts.c:31,1
    - Dst: cJSON_ParseWithOpts
      Src: /src/cJSON/tests/parse_with_opts.c:31,1
    - Dst: cJSON_ParseWithOpts
      Src: /src/cJSON/tests/parse_with_opts.c:32,1
    - Dst: TEST_ASSERT_NOT_NULL_MESSAGE
      Src: /src/cJSON/tests/parse_with_opts.c:33,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/parse_with_opts.c:34,1
    - Dst: TEST_ASSERT_NULL_MESSAGE
      Src: /src/cJSON/tests/parse_with_opts.c:35,1
    - Dst: cJSON_ParseWithOpts
      Src: /src/cJSON/tests/parse_with_opts.c:35,1
    - Dst: TEST_ASSERT_NULL_MESSAGE
      Src: /src/cJSON/tests/parse_with_opts.c:36,1
    - Dst: cJSON_ParseWithOpts
      Src: /src/cJSON/tests/parse_with_opts.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: parse_with_opts_should_handle_null
    functionSourceFile: /src/cJSON/tests/parse_with_opts.c
    functionUses: 0
    functionsReached:
    - cJSON_ParseWithOpts
    - cJSON_Delete
    - TEST_ASSERT_NULL_MESSAGE
    - TEST_ASSERT_NOT_NULL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void parse_with_opts_should_handle_null(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/parse_with_opts.c:44,1
    - Dst: cJSON_ParseWithOpts
      Src: /src/cJSON/tests/parse_with_opts.c:44,1
    - Dst: TEST_ASSERT_EQUAL_PTR
      Src: /src/cJSON/tests/parse_with_opts.c:45,1
    - Dst: cJSON_GetErrorPtr
      Src: /src/cJSON/tests/parse_with_opts.c:45,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/parse_with_opts.c:47,1
    - Dst: cJSON_ParseWithOpts
      Src: /src/cJSON/tests/parse_with_opts.c:47,1
    - Dst: TEST_ASSERT_EQUAL_PTR
      Src: /src/cJSON/tests/parse_with_opts.c:48,1
    - Dst: TEST_ASSERT_EQUAL_PTR
      Src: /src/cJSON/tests/parse_with_opts.c:49,1
    - Dst: cJSON_GetErrorPtr
      Src: /src/cJSON/tests/parse_with_opts.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: parse_with_opts_should_handle_empty_strings
    functionSourceFile: /src/cJSON/tests/parse_with_opts.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_PTR
    - cJSON_GetErrorPtr
    - cJSON_ParseWithOpts
    - TEST_ASSERT_NULL
    linkageType: ''
    returnType: void
    signature: void parse_with_opts_should_handle_empty_strings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/parse_with_opts.c:57,1
    - Dst: cJSON_ParseWithOpts
      Src: /src/cJSON/tests/parse_with_opts.c:57,1
    - Dst: TEST_ASSERT_EQUAL_PTR
      Src: /src/cJSON/tests/parse_with_opts.c:58,1
    - Dst: strlen
      Src: /src/cJSON/tests/parse_with_opts.c:58,1
    - Dst: TEST_ASSERT_EQUAL_PTR
      Src: /src/cJSON/tests/parse_with_opts.c:59,1
    - Dst: strlen
      Src: /src/cJSON/tests/parse_with_opts.c:59,1
    - Dst: cJSON_GetErrorPtr
      Src: /src/cJSON/tests/parse_with_opts.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: parse_with_opts_should_handle_incomplete_json
    functionSourceFile: /src/cJSON/tests/parse_with_opts.c
    functionUses: 0
    functionsReached:
    - cJSON_ParseWithOpts
    - TEST_ASSERT_EQUAL_PTR
    - strlen
    - cJSON_GetErrorPtr
    - TEST_ASSERT_NULL
    linkageType: ''
    returnType: void
    signature: void parse_with_opts_should_handle_incomplete_json(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_ParseWithOpts
      Src: /src/cJSON/tests/parse_with_opts.c:64,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/parse_with_opts.c:65,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/parse_with_opts.c:66,1
    - Dst: cJSON_ParseWithOpts
      Src: /src/cJSON/tests/parse_with_opts.c:67,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/parse_with_opts.c:68,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/parse_with_opts.c:69,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/parse_with_opts.c:70,1
    - Dst: cJSON_ParseWithOpts
      Src: /src/cJSON/tests/parse_with_opts.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: parse_with_opts_should_require_null_if_requested
    functionSourceFile: /src/cJSON/tests/parse_with_opts.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_NULL
    - cJSON_Delete
    - cJSON_ParseWithOpts
    - TEST_ASSERT_NOT_NULL
    linkageType: ''
    returnType: void
    signature: void parse_with_opts_should_require_null_if_requested(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_ParseWithOpts
      Src: /src/cJSON/tests/parse_with_opts.c:78,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/parse_with_opts.c:79,1
    - Dst: TEST_ASSERT_EQUAL_PTR
      Src: /src/cJSON/tests/parse_with_opts.c:80,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/parse_with_opts.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: parse_with_opts_should_return_parse_end
    functionSourceFile: /src/cJSON/tests/parse_with_opts.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_PTR
    - cJSON_Delete
    - cJSON_ParseWithOpts
    - TEST_ASSERT_NOT_NULL
    linkageType: ''
    returnType: void
    signature: void parse_with_opts_should_return_parse_end(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_ParseWithOpts
      Src: /src/cJSON/tests/parse_with_opts.c:89,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/parse_with_opts.c:90,1
    - Dst: cJSON_ParseWithOpts
      Src: /src/cJSON/tests/parse_with_opts.c:91,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/parse_with_opts.c:92,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/parse_with_opts.c:94,1
    - Dst: cJSON_Compare
      Src: /src/cJSON/tests/parse_with_opts.c:94,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/parse_with_opts.c:96,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/parse_with_opts.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: parse_with_opts_should_parse_utf8_bom
    functionSourceFile: /src/cJSON/tests/parse_with_opts.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_ParseWithOpts
    - TEST_ASSERT_TRUE
    - cJSON_Compare
    - TEST_ASSERT_NOT_NULL
    linkageType: ''
    returnType: void
    signature: void parse_with_opts_should_parse_utf8_bom(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_BEGIN
      Src: /src/cJSON/tests/parse_with_opts.c:102,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_with_opts.c:104,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_with_opts.c:105,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_with_opts.c:106,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_with_opts.c:107,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_with_opts.c:108,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_with_opts.c:109,1
    - Dst: UNITY_END
      Src: /src/cJSON/tests/parse_with_opts.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: CJSON_CDECL::main
    functionSourceFile: /src/cJSON/tests/parse_with_opts.c
    functionUses: 0
    functionsReached:
    - UNITY_END
    - RUN_TEST
    - UNITY_BEGIN
    linkageType: ''
    returnType: int
    signature: int CJSON_CDECL main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_NOT_NULL_MESSAGE
      Src: /src/cJSON/tests/parse_string.c:35,1
    - Dst: assert_not_in_list
      Src: /src/cJSON/tests/parse_string.c:37,1
    - Dst: assert_has_no_child
      Src: /src/cJSON/tests/parse_string.c:38,1
    - Dst: assert_has_type
      Src: /src/cJSON/tests/parse_string.c:39,1
    - Dst: assert_has_no_reference
      Src: /src/cJSON/tests/parse_string.c:40,1
    - Dst: assert_has_no_const_string
      Src: /src/cJSON/tests/parse_string.c:41,1
    - Dst: assert_has_valuestring
      Src: /src/cJSON/tests/parse_string.c:42,1
    - Dst: assert_has_no_string
      Src: /src/cJSON/tests/parse_string.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - string_item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: assert_is_string
    functionSourceFile: /src/cJSON/tests/parse_string.c
    functionUses: 0
    functionsReached:
    - assert_has_no_const_string
    - TEST_ASSERT_NOT_NULL_MESSAGE
    - assert_has_valuestring
    - assert_has_no_reference
    - assert_not_in_list
    - assert_has_no_child
    - assert_has_no_string
    - assert_has_type
    linkageType: ''
    returnType: void
    signature: void assert_is_string(cJSON *string_item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cJSON/tests/parse_string.c:50,1
    - Dst: TEST_ASSERT_TRUE_MESSAGE
      Src: /src/cJSON/tests/parse_string.c:53,1
    - Dst: parse_string
      Src: /src/cJSON/tests/parse_string.c:53,1
    - Dst: assert_is_string
      Src: /src/cJSON/tests/parse_string.c:54,1
    - Dst: TEST_ASSERT_EQUAL_STRING_MESSAGE
      Src: /src/cJSON/tests/parse_string.c:55,1
    - Dst: deallocate
      Src: /src/cJSON/tests/parse_string.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - string
    - expected
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: assert_parse_string
    functionSourceFile: /src/cJSON/tests/parse_string.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_TRUE_MESSAGE
    - TEST_ASSERT_EQUAL_STRING_MESSAGE
    - deallocate
    - strlen
    - parse_string
    - assert_is_string
    linkageType: ''
    returnType: void
    signature: void assert_parse_string(const char *string, const char *expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/cJSON/tests/parse_string.c:64,1
    - Dst: TEST_ASSERT_FALSE_MESSAGE
      Src: /src/cJSON/tests/parse_string.c:67,1
    - Dst: parse_string
      Src: /src/cJSON/tests/parse_string.c:67,1
    - Dst: assert_is_invalid
      Src: /src/cJSON/tests/parse_string.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: assert_not_parse_string
    functionSourceFile: /src/cJSON/tests/parse_string.c
    functionUses: 0
    functionsReached:
    - strlen
    - TEST_ASSERT_FALSE_MESSAGE
    - assert_is_invalid
    - parse_string
    linkageType: ''
    returnType: void
    signature: void assert_not_parse_string(const char * const string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_parse_string
      Src: /src/cJSON/tests/parse_string.c:75,1
    - Dst: assert_parse_string
      Src: /src/cJSON/tests/parse_string.c:76,1
    - Dst: assert_parse_string
      Src: /src/cJSON/tests/parse_string.c:79,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_string.c:82,1
    - Dst: assert_parse_string
      Src: /src/cJSON/tests/parse_string.c:83,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_string.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 4
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: parse_string_should_parse_strings
    functionSourceFile: /src/cJSON/tests/parse_string.c
    functionUses: 0
    functionsReached:
    - reset
    - assert_parse_string
    linkageType: ''
    returnType: void
    signature: void parse_string_should_parse_strings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_parse_string
      Src: /src/cJSON/tests/parse_string.c:89,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_string.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 4
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: parse_string_should_parse_utf16_surrogate_pairs
    functionSourceFile: /src/cJSON/tests/parse_string.c
    functionUses: 0
    functionsReached:
    - reset
    - assert_parse_string
    linkageType: ''
    returnType: void
    signature: void parse_string_should_parse_utf16_surrogate_pairs(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_not_parse_string
      Src: /src/cJSON/tests/parse_string.c:95,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_string.c:96,1
    - Dst: assert_not_parse_string
      Src: /src/cJSON/tests/parse_string.c:97,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_string.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: parse_string_should_not_parse_non_strings
    functionSourceFile: /src/cJSON/tests/parse_string.c
    functionUses: 0
    functionsReached:
    - reset
    - assert_not_parse_string
    linkageType: ''
    returnType: void
    signature: void parse_string_should_not_parse_non_strings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_not_parse_string
      Src: /src/cJSON/tests/parse_string.c:103,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_string.c:104,1
    - Dst: assert_not_parse_string
      Src: /src/cJSON/tests/parse_string.c:105,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_string.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 4
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: parse_string_should_not_parse_invalid_backslash
    functionSourceFile: /src/cJSON/tests/parse_string.c
    functionUses: 0
    functionsReached:
    - reset
    - assert_not_parse_string
    linkageType: ''
    returnType: void
    signature: void parse_string_should_not_parse_invalid_backslash(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_not_parse_string
      Src: /src/cJSON/tests/parse_string.c:111,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_string.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 4
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: parse_string_should_not_overflow_with_closing_backslash
    functionSourceFile: /src/cJSON/tests/parse_string.c
    functionUses: 0
    functionsReached:
    - reset
    - assert_not_parse_string
    linkageType: ''
    returnType: void
    signature: void parse_string_should_not_overflow_with_closing_backslash(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_parse_string
      Src: /src/cJSON/tests/parse_string.c:118,1
    - Dst: reset
      Src: /src/cJSON/tests/parse_string.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 4
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: parse_string_should_parse_bug_94
    functionSourceFile: /src/cJSON/tests/parse_string.c
    functionUses: 0
    functionsReached:
    - reset
    - assert_parse_string
    linkageType: ''
    returnType: void
    signature: void parse_string_should_parse_bug_94(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/cJSON/tests/parse_string.c:125,1
    - Dst: UNITY_BEGIN
      Src: /src/cJSON/tests/parse_string.c:127,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_string.c:128,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_string.c:129,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_string.c:130,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_string.c:131,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_string.c:132,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/parse_string.c:133,1
    - Dst: UNITY_END
      Src: /src/cJSON/tests/parse_string.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: CJSON_CDECL::main
    functionSourceFile: /src/cJSON/tests/parse_string.c
    functionUses: 0
    functionsReached:
    - UNITY_END
    - RUN_TEST
    - UNITY_BEGIN
    - memset
    linkageType: ''
    returnType: int
    signature: int CJSON_CDECL main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/cJSON/tests/old_utils_tests.c:69,1
    - Dst: TEST_ASSERT_EQUAL_PTR
      Src: /src/cJSON/tests/old_utils_tests.c:71,1
    - Dst: cJSONUtils_GetPointer
      Src: /src/cJSON/tests/old_utils_tests.c:71,1
    - Dst: TEST_ASSERT_EQUAL_PTR
      Src: /src/cJSON/tests/old_utils_tests.c:72,1
    - Dst: cJSONUtils_GetPointer
      Src: /src/cJSON/tests/old_utils_tests.c:72,1
    - Dst: cJSON_GetObjectItem
      Src: /src/cJSON/tests/old_utils_tests.c:72,1
    - Dst: TEST_ASSERT_EQUAL_PTR
      Src: /src/cJSON/tests/old_utils_tests.c:73,1
    - Dst: cJSONUtils_GetPointer
      Src: /src/cJSON/tests/old_utils_tests.c:73,1
    - Dst: cJSON_GetObjectItem
      Src: /src/cJSON/tests/old_utils_tests.c:73,1
    - Dst: TEST_ASSERT_EQUAL_PTR
      Src: /src/cJSON/tests/old_utils_tests.c:74,1
    - Dst: cJSONUtils_GetPointer
      Src: /src/cJSON/tests/old_utils_tests.c:74,1
    - Dst: cJSON_GetObjectItem
      Src: /src/cJSON/tests/old_utils_tests.c:74,1
    - Dst: TEST_ASSERT_EQUAL_PTR
      Src: /src/cJSON/tests/old_utils_tests.c:75,1
    - Dst: cJSONUtils_GetPointer
      Src: /src/cJSON/tests/old_utils_tests.c:75,1
    - Dst: cJSON_GetObjectItem
      Src: /src/cJSON/tests/old_utils_tests.c:75,1
    - Dst: TEST_ASSERT_EQUAL_PTR
      Src: /src/cJSON/tests/old_utils_tests.c:76,1
    - Dst: cJSONUtils_GetPointer
      Src: /src/cJSON/tests/old_utils_tests.c:76,1
    - Dst: cJSON_GetObjectItem
      Src: /src/cJSON/tests/old_utils_tests.c:76,1
    - Dst: TEST_ASSERT_EQUAL_PTR
      Src: /src/cJSON/tests/old_utils_tests.c:77,1
    - Dst: cJSONUtils_GetPointer
      Src: /src/cJSON/tests/old_utils_tests.c:77,1
    - Dst: cJSON_GetObjectItem
      Src: /src/cJSON/tests/old_utils_tests.c:77,1
    - Dst: TEST_ASSERT_EQUAL_PTR
      Src: /src/cJSON/tests/old_utils_tests.c:78,1
    - Dst: cJSONUtils_GetPointer
      Src: /src/cJSON/tests/old_utils_tests.c:78,1
    - Dst: cJSON_GetObjectItem
      Src: /src/cJSON/tests/old_utils_tests.c:78,1
    - Dst: TEST_ASSERT_EQUAL_PTR
      Src: /src/cJSON/tests/old_utils_tests.c:79,1
    - Dst: cJSONUtils_GetPointer
      Src: /src/cJSON/tests/old_utils_tests.c:79,1
    - Dst: cJSON_GetObjectItem
      Src: /src/cJSON/tests/old_utils_tests.c:79,1
    - Dst: TEST_ASSERT_EQUAL_PTR
      Src: /src/cJSON/tests/old_utils_tests.c:80,1
    - Dst: cJSONUtils_GetPointer
      Src: /src/cJSON/tests/old_utils_tests.c:80,1
    - Dst: cJSON_GetObjectItem
      Src: /src/cJSON/tests/old_utils_tests.c:80,1
    - Dst: TEST_ASSERT_EQUAL_PTR
      Src: /src/cJSON/tests/old_utils_tests.c:81,1
    - Dst: cJSONUtils_GetPointer
      Src: /src/cJSON/tests/old_utils_tests.c:81,1
    - Dst: cJSON_GetObjectItem
      Src: /src/cJSON/tests/old_utils_tests.c:81,1
    - Dst: TEST_ASSERT_EQUAL_PTR
      Src: /src/cJSON/tests/old_utils_tests.c:82,1
    - Dst: cJSONUtils_GetPointer
      Src: /src/cJSON/tests/old_utils_tests.c:82,1
    - Dst: cJSON_GetObjectItem
      Src: /src/cJSON/tests/old_utils_tests.c:82,1
    - Dst: TEST_ASSERT_EQUAL_PTR
      Src: /src/cJSON/tests/old_utils_tests.c:83,1
    - Dst: cJSONUtils_GetPointer
      Src: /src/cJSON/tests/old_utils_tests.c:83,1
    - Dst: cJSON_GetObjectItem
      Src: /src/cJSON/tests/old_utils_tests.c:83,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/old_utils_tests.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 86
    functionName: json_pointer_tests
    functionSourceFile: /src/cJSON/tests/old_utils_tests.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - TEST_ASSERT_EQUAL_PTR
    - cJSON_GetObjectItem
    - cJSONUtils_GetPointer
    - cJSON_Parse
    linkageType: ''
    returnType: void
    signature: void json_pointer_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cJSON/tests/old_utils_tests.c:101,1
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/old_utils_tests.c:102,1
    - Dst: cJSON_CreateIntArray
      Src: /src/cJSON/tests/old_utils_tests.c:103,1
    - Dst: cJSON_GetArrayItem
      Src: /src/cJSON/tests/old_utils_tests.c:104,1
    - Dst: cJSON_AddItemToObject
      Src: /src/cJSON/tests/old_utils_tests.c:105,1
    - Dst: cJSONUtils_FindPointerFromObjectTo
      Src: /src/cJSON/tests/old_utils_tests.c:107,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/old_utils_tests.c:108,1
    - Dst: free
      Src: /src/cJSON/tests/old_utils_tests.c:109,1
    - Dst: cJSONUtils_FindPointerFromObjectTo
      Src: /src/cJSON/tests/old_utils_tests.c:111,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/old_utils_tests.c:112,1
    - Dst: free
      Src: /src/cJSON/tests/old_utils_tests.c:113,1
    - Dst: cJSONUtils_FindPointerFromObjectTo
      Src: /src/cJSON/tests/old_utils_tests.c:115,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/old_utils_tests.c:116,1
    - Dst: free
      Src: /src/cJSON/tests/old_utils_tests.c:117,1
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/old_utils_tests.c:119,1
    - Dst: cJSON_CreateString
      Src: /src/cJSON/tests/old_utils_tests.c:120,1
    - Dst: cJSON_AddItemToObject
      Src: /src/cJSON/tests/old_utils_tests.c:121,1
    - Dst: cJSONUtils_FindPointerFromObjectTo
      Src: /src/cJSON/tests/old_utils_tests.c:122,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/old_utils_tests.c:123,1
    - Dst: free
      Src: /src/cJSON/tests/old_utils_tests.c:124,1
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/old_utils_tests.c:126,1
    - Dst: cJSON_CreateString
      Src: /src/cJSON/tests/old_utils_tests.c:127,1
    - Dst: cJSON_AddItemToObject
      Src: /src/cJSON/tests/old_utils_tests.c:128,1
    - Dst: cJSONUtils_FindPointerFromObjectTo
      Src: /src/cJSON/tests/old_utils_tests.c:129,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/old_utils_tests.c:130,1
    - Dst: free
      Src: /src/cJSON/tests/old_utils_tests.c:131,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/old_utils_tests.c:133,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/old_utils_tests.c:134,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/old_utils_tests.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 88
    functionDepth: 4
    functionLinenumber: 88
    functionLinenumberEnd: 136
    functionName: misc_tests
    functionSourceFile: /src/cJSON/tests/old_utils_tests.c
    functionUses: 0
    functionsReached:
    - cJSONUtils_FindPointerFromObjectTo
    - cJSON_Delete
    - TEST_ASSERT_EQUAL_STRING
    - printf
    - cJSON_CreateIntArray
    - cJSON_CreateString
    - cJSON_GetArrayItem
    - free
    - cJSON_AddItemToObject
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void misc_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/cJSON/tests/old_utils_tests.c:148,1
    - Dst: cJSON_AddItemToObject
      Src: /src/cJSON/tests/old_utils_tests.c:152,1
    - Dst: cJSON_CreateNumber
      Src: /src/cJSON/tests/old_utils_tests.c:152,1
    - Dst: cJSONUtils_SortObject
      Src: /src/cJSON/tests/old_utils_tests.c:155,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/old_utils_tests.c:161,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/old_utils_tests.c:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 138
    functionDepth: 4
    functionLinenumber: 138
    functionLinenumberEnd: 166
    functionName: sort_tests
    functionSourceFile: /src/cJSON/tests/old_utils_tests.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_CreateNumber
    - TEST_ASSERT_TRUE
    - cJSONUtils_SortObject
    - cJSON_AddItemToObject
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void sort_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cJSON/tests/old_utils_tests.c:175,1
    - Dst: cJSON_Parse
      Src: /src/cJSON/tests/old_utils_tests.c:178,1
    - Dst: cJSON_Parse
      Src: /src/cJSON/tests/old_utils_tests.c:179,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/cJSON/tests/old_utils_tests.c:180,1
    - Dst: cJSONUtils_MergePatch
      Src: /src/cJSON/tests/old_utils_tests.c:181,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/cJSON/tests/old_utils_tests.c:182,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/old_utils_tests.c:183,1
    - Dst: free
      Src: /src/cJSON/tests/old_utils_tests.c:185,1
    - Dst: free
      Src: /src/cJSON/tests/old_utils_tests.c:186,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/old_utils_tests.c:187,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/old_utils_tests.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 168
    functionDepth: 6
    functionLinenumber: 168
    functionLinenumberEnd: 190
    functionName: merge_tests
    functionSourceFile: /src/cJSON/tests/old_utils_tests.c
    functionUses: 0
    functionsReached:
    - cJSON_PrintUnformatted
    - cJSON_Delete
    - cJSONUtils_MergePatch
    - TEST_ASSERT_EQUAL_STRING
    - printf
    - cJSON_Parse
    - free
    linkageType: ''
    returnType: void
    signature: void merge_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/cJSON/tests/old_utils_tests.c:200,1
    - Dst: cJSON_Parse
      Src: /src/cJSON/tests/old_utils_tests.c:201,1
    - Dst: cJSONUtils_GenerateMergePatch
      Src: /src/cJSON/tests/old_utils_tests.c:202,1
    - Dst: cJSONUtils_MergePatch
      Src: /src/cJSON/tests/old_utils_tests.c:203,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/cJSON/tests/old_utils_tests.c:204,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/old_utils_tests.c:205,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/old_utils_tests.c:207,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/old_utils_tests.c:208,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/tests/old_utils_tests.c:209,1
    - Dst: free
      Src: /src/cJSON/tests/old_utils_tests.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 192
    functionDepth: 6
    functionLinenumber: 192
    functionLinenumberEnd: 212
    functionName: generate_merge_tests
    functionSourceFile: /src/cJSON/tests/old_utils_tests.c
    functionUses: 0
    functionsReached:
    - cJSON_PrintUnformatted
    - cJSON_Delete
    - cJSONUtils_GenerateMergePatch
    - cJSONUtils_MergePatch
    - TEST_ASSERT_EQUAL_STRING
    - cJSON_Parse
    - free
    linkageType: ''
    returnType: void
    signature: void generate_merge_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_BEGIN
      Src: /src/cJSON/tests/old_utils_tests.c:216,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/old_utils_tests.c:218,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/old_utils_tests.c:219,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/old_utils_tests.c:220,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/old_utils_tests.c:221,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/old_utils_tests.c:222,1
    - Dst: UNITY_END
      Src: /src/cJSON/tests/old_utils_tests.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 225
    functionName: main
    functionSourceFile: /src/cJSON/tests/old_utils_tests.c
    functionUses: 0
    functionsReached:
    - UNITY_END
    - RUN_TEST
    - UNITY_BEGIN
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/cJSON/tests/unity/test/tests/testparameterized.c:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 11
    functionName: putcharSpy
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testparameterized.c
    functionUses: 0
    functionsReached:
    - putchar
    linkageType: ''
    returnType: void
    signature: void putcharSpy(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: setUp
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testparameterized.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setUp(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testparameterized.c:56,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/test/tests/testparameterized.c:59,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/test/tests/testparameterized.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: tearDown
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testparameterized.c
    functionUses: 0
    functionsReached:
    - UNITY_OUTPUT_CHAR
    - TEST_FAIL_MESSAGE
    - UnityPrint
    linkageType: ''
    returnType: void
    signature: void tearDown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/unity/test/tests/testparameterized.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - Num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: test_TheseShouldAllPass
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testparameterized.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void test_TheseShouldAllPass(int Num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/unity/test/tests/testparameterized.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - Num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 98
    functionName: test_TheseAreEveryOther
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testparameterized.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_TRUE
    linkageType: ''
    returnType: VERIFY_FAILS_END
    signature: VERIFY_FAILS_END test_TheseAreEveryOther(int Num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/unity/test/tests/testparameterized.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: test_NormalPassesStillWork
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testparameterized.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void test_NormalPassesStillWork(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: setUp
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setUp(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: endPutcharSpy
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:68,1
    - Dst: TEST_FAIL_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:72,1
    - Dst: TEST_IGNORE_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:73,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:77,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 80
    functionName: tearDown
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE_MESSAGE
    - UnityPrint
    - endPutcharSpy
    - UNITY_OUTPUT_CHAR
    - TEST_FAIL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void tearDown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 130
    functionName: testUnitySizeInitializationReminder
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void testUnitySizeInitializationReminder(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_PASS
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:134,1
    - Dst: TEST_FAIL_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: testPassShouldEndImmediatelyWithPass
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_PASS
    - TEST_FAIL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void testPassShouldEndImmediatelyWithPass(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:140,1
    - Dst: TEST_ASSERT_TRUE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: testTrue
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - TEST_ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void testTrue(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_FALSE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:147,1
    - Dst: TEST_ASSERT_UNLESS
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: testFalse
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_FALSE
    - TEST_ASSERT_UNLESS
    linkageType: ''
    returnType: void
    signature: void testFalse(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: testPreviousPass
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_INT
    linkageType: ''
    returnType: void
    signature: void testPreviousPass(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: testNotVanilla
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotVanilla(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: testNotTrue
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotTrue(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 176
    functionName: testNotFalse
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotFalse(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: testNotUnless
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotUnless(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: testNotNotEqual
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotNotEqual(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: testFail
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testFail(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:204,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 206
    functionName: testIsNull
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_NULL
    - TEST_ASSERT_NOT_NULL
    linkageType: ''
    returnType: void
    signature: void testIsNull(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 215
    functionName: testIsNullShouldFailIfNot
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testIsNullShouldFailIfNot(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 224
    functionName: testNotNullShouldFailIfNULL
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotNullShouldFailIfNULL(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: testIgnore
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void testIgnore(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: testIgnoreMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void testIgnoreMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: testNotEqualInts
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualInts(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 254
    functionName: testNotEqualInt8s
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualInt8s(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 261
    functionName: testNotEqualInt16s
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualInt16s(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: testNotEqualInt32s
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualInt32s(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 275
    functionName: testNotEqualBits
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualBits(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 287
    functionName: testNotEqualUInts
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualUInts(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 299
    functionName: testNotEqualUInt8s
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualUInt8s(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 311
    functionName: testNotEqualUInt16s
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualUInt16s(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 323
    functionName: testNotEqualUInt32s
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualUInt32s(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 335
    functionName: testNotEqualHex8s
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualHex8s(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 347
    functionName: testNotEqualHex8sIfSigned
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualHex8sIfSigned(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 359
    functionName: testNotEqualHex16s
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualHex16s(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 371
    functionName: testNotEqualHex16sIfSigned
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualHex16sIfSigned(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 383
    functionName: testNotEqualHex32s
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualHex32s(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 395
    functionName: testNotEqualHex32sIfSigned
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualHex32sIfSigned(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:407,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:408,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:409,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:410,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:411,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:412,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:413,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 415
    functionName: testEqualInts
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_INT
    linkageType: ''
    returnType: void
    signature: void testEqualInts(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_INT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:427,1
    - Dst: TEST_ASSERT_EQUAL_INT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:428,1
    - Dst: TEST_ASSERT_EQUAL_INT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:429,1
    - Dst: TEST_ASSERT_EQUAL_INT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:430,1
    - Dst: TEST_ASSERT_EQUAL_INT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:431,1
    - Dst: TEST_ASSERT_EQUAL_INT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:432,1
    - Dst: TEST_ASSERT_EQUAL_INT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 434
    functionName: testEqualInt8s
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_INT8
    linkageType: ''
    returnType: void
    signature: void testEqualInt8s(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_INT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:438,1
    - Dst: TEST_ASSERT_EQUAL_INT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 440
    functionName: testEqualInt8sWhenThereAreDifferencesOutside8Bits
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_INT8
    linkageType: ''
    returnType: void
    signature: void testEqualInt8sWhenThereAreDifferencesOutside8Bits(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_INT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:452,1
    - Dst: TEST_ASSERT_EQUAL_INT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:453,1
    - Dst: TEST_ASSERT_EQUAL_INT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:454,1
    - Dst: TEST_ASSERT_EQUAL_INT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:455,1
    - Dst: TEST_ASSERT_EQUAL_INT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:456,1
    - Dst: TEST_ASSERT_EQUAL_INT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:457,1
    - Dst: TEST_ASSERT_EQUAL_INT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 459
    functionName: testEqualInt16s
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_INT16
    linkageType: ''
    returnType: void
    signature: void testEqualInt16s(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_INT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:471,1
    - Dst: TEST_ASSERT_EQUAL_INT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:472,1
    - Dst: TEST_ASSERT_EQUAL_INT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:473,1
    - Dst: TEST_ASSERT_EQUAL_INT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:474,1
    - Dst: TEST_ASSERT_EQUAL_INT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:475,1
    - Dst: TEST_ASSERT_EQUAL_INT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:476,1
    - Dst: TEST_ASSERT_EQUAL_INT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 478
    functionName: testEqualInt16sNegatives
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_INT16
    linkageType: ''
    returnType: void
    signature: void testEqualInt16sNegatives(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_INT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:482,1
    - Dst: TEST_ASSERT_EQUAL_INT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 484
    functionName: testEqualInt16sWhenThereAreDifferencesOutside16Bits
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_INT16
    linkageType: ''
    returnType: void
    signature: void testEqualInt16sWhenThereAreDifferencesOutside16Bits(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_INT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:496,1
    - Dst: TEST_ASSERT_EQUAL_INT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:497,1
    - Dst: TEST_ASSERT_EQUAL_INT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:498,1
    - Dst: TEST_ASSERT_EQUAL_INT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:499,1
    - Dst: TEST_ASSERT_EQUAL_INT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:500,1
    - Dst: TEST_ASSERT_EQUAL_INT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:501,1
    - Dst: TEST_ASSERT_EQUAL_INT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 503
    functionName: testEqualInt32s
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_INT32
    linkageType: ''
    returnType: void
    signature: void testEqualInt32s(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_INT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:515,1
    - Dst: TEST_ASSERT_EQUAL_INT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:516,1
    - Dst: TEST_ASSERT_EQUAL_INT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:517,1
    - Dst: TEST_ASSERT_EQUAL_INT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:518,1
    - Dst: TEST_ASSERT_EQUAL_INT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:519,1
    - Dst: TEST_ASSERT_EQUAL_INT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:520,1
    - Dst: TEST_ASSERT_EQUAL_INT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 522
    functionName: testEqualInt32sNegatives
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_INT32
    linkageType: ''
    returnType: void
    signature: void testEqualInt32sNegatives(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_UINT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:535,1
    - Dst: TEST_ASSERT_EQUAL_UINT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:536,1
    - Dst: TEST_ASSERT_EQUAL_UINT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:537,1
    - Dst: TEST_ASSERT_EQUAL_UINT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:538,1
    - Dst: TEST_ASSERT_EQUAL_UINT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:539,1
    - Dst: TEST_ASSERT_EQUAL_UINT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:540,1
    - Dst: TEST_ASSERT_EQUAL_UINT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:541,1
    - Dst: TEST_ASSERT_EQUAL_UINT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 543
    functionName: testEqualUints
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_UINT
    linkageType: ''
    returnType: void
    signature: void testEqualUints(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_UINT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:556,1
    - Dst: TEST_ASSERT_EQUAL_UINT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:557,1
    - Dst: TEST_ASSERT_EQUAL_UINT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:558,1
    - Dst: TEST_ASSERT_EQUAL_UINT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:559,1
    - Dst: TEST_ASSERT_EQUAL_UINT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:560,1
    - Dst: TEST_ASSERT_EQUAL_UINT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:561,1
    - Dst: TEST_ASSERT_EQUAL_UINT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 563
    functionName: testEqualUint8s
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_UINT8
    linkageType: ''
    returnType: void
    signature: void testEqualUint8s(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_UINT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:567,1
    - Dst: TEST_ASSERT_EQUAL_UINT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 569
    functionName: testEqualUint8sWhenThereAreDifferencesOutside8Bits
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_UINT8
    linkageType: ''
    returnType: void
    signature: void testEqualUint8sWhenThereAreDifferencesOutside8Bits(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_UINT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:581,1
    - Dst: TEST_ASSERT_EQUAL_UINT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:582,1
    - Dst: TEST_ASSERT_EQUAL_UINT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:583,1
    - Dst: TEST_ASSERT_EQUAL_UINT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:584,1
    - Dst: TEST_ASSERT_EQUAL_UINT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:585,1
    - Dst: TEST_ASSERT_EQUAL_UINT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:586,1
    - Dst: TEST_ASSERT_EQUAL_UINT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 588
    functionName: testEqualUint16s
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_UINT16
    linkageType: ''
    returnType: void
    signature: void testEqualUint16s(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_UINT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:592,1
    - Dst: TEST_ASSERT_EQUAL_UINT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 594
    functionName: testEqualUint16sWhenThereAreDifferencesOutside16Bits
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_UINT16
    linkageType: ''
    returnType: void
    signature: void testEqualUint16sWhenThereAreDifferencesOutside16Bits(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_UINT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:606,1
    - Dst: TEST_ASSERT_EQUAL_UINT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:607,1
    - Dst: TEST_ASSERT_EQUAL_UINT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:608,1
    - Dst: TEST_ASSERT_EQUAL_UINT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:609,1
    - Dst: TEST_ASSERT_EQUAL_UINT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:610,1
    - Dst: TEST_ASSERT_EQUAL_UINT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:611,1
    - Dst: TEST_ASSERT_EQUAL_UINT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 613
    functionName: testEqualUint32s
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_UINT32
    linkageType: ''
    returnType: void
    signature: void testEqualUint32s(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_NOT_EQUAL
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:617,1
    - Dst: TEST_ASSERT_NOT_EQUAL
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:618,1
    - Dst: TEST_ASSERT_NOT_EQUAL
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:619,1
    - Dst: TEST_ASSERT_NOT_EQUAL
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:620,1
    - Dst: TEST_ASSERT_NOT_EQUAL
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:621,1
    - Dst: TEST_ASSERT_NOT_EQUAL
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:622,1
    - Dst: TEST_ASSERT_NOT_EQUAL
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 624
    functionName: testNotEqual
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_NOT_EQUAL
    linkageType: ''
    returnType: void
    signature: void testNotEqual(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_HEX8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:636,1
    - Dst: TEST_ASSERT_EQUAL_HEX8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:637,1
    - Dst: TEST_ASSERT_EQUAL_HEX8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:638,1
    - Dst: TEST_ASSERT_EQUAL_HEX8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:639,1
    - Dst: TEST_ASSERT_EQUAL_HEX8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:640,1
    - Dst: TEST_ASSERT_EQUAL_HEX8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:641,1
    - Dst: TEST_ASSERT_EQUAL_HEX8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 643
    functionName: testEqualHex8s
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_HEX8
    linkageType: ''
    returnType: void
    signature: void testEqualHex8s(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_HEX8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:647,1
    - Dst: TEST_ASSERT_EQUAL_HEX8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 649
    functionName: testEqualHex8sWhenThereAreDifferencesOutside8Bits
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_HEX8
    linkageType: ''
    returnType: void
    signature: void testEqualHex8sWhenThereAreDifferencesOutside8Bits(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_HEX8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:661,1
    - Dst: TEST_ASSERT_EQUAL_HEX8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:662,1
    - Dst: TEST_ASSERT_EQUAL_HEX8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:663,1
    - Dst: TEST_ASSERT_EQUAL_HEX8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:664,1
    - Dst: TEST_ASSERT_EQUAL_HEX8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:665,1
    - Dst: TEST_ASSERT_EQUAL_HEX8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:666,1
    - Dst: TEST_ASSERT_EQUAL_HEX8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 668
    functionName: testEqualHex8sNegatives
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_HEX8
    linkageType: ''
    returnType: void
    signature: void testEqualHex8sNegatives(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_HEX16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:680,1
    - Dst: TEST_ASSERT_EQUAL_HEX16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:681,1
    - Dst: TEST_ASSERT_EQUAL_HEX16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:682,1
    - Dst: TEST_ASSERT_EQUAL_HEX16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:683,1
    - Dst: TEST_ASSERT_EQUAL_HEX16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:684,1
    - Dst: TEST_ASSERT_EQUAL_HEX16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:685,1
    - Dst: TEST_ASSERT_EQUAL_HEX16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 687
    functionName: testEqualHex16s
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_HEX16
    linkageType: ''
    returnType: void
    signature: void testEqualHex16s(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_HEX16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:691,1
    - Dst: TEST_ASSERT_EQUAL_HEX16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 693
    functionName: testEqualHex16sWhenThereAreDifferencesOutside16Bits
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_HEX16
    linkageType: ''
    returnType: void
    signature: void testEqualHex16sWhenThereAreDifferencesOutside16Bits(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_HEX32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:705,1
    - Dst: TEST_ASSERT_EQUAL_HEX32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:706,1
    - Dst: TEST_ASSERT_EQUAL_HEX32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:707,1
    - Dst: TEST_ASSERT_EQUAL_HEX32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:708,1
    - Dst: TEST_ASSERT_EQUAL_HEX32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:709,1
    - Dst: TEST_ASSERT_EQUAL_HEX32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:710,1
    - Dst: TEST_ASSERT_EQUAL_HEX32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 712
    functionName: testEqualHex32s
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_HEX32
    linkageType: ''
    returnType: void
    signature: void testEqualHex32s(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_BITS
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:719,1
    - Dst: TEST_ASSERT_BITS
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:720,1
    - Dst: TEST_ASSERT_BITS
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:721,1
    - Dst: TEST_ASSERT_BITS
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:722,1
    - Dst: TEST_ASSERT_BITS
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:723,1
    - Dst: TEST_ASSERT_BITS_HIGH
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:724,1
    - Dst: TEST_ASSERT_BITS_LOW
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:725,1
    - Dst: TEST_ASSERT_BIT_HIGH
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:726,1
    - Dst: TEST_ASSERT_BIT_LOW
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 728
    functionName: testEqualBits
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_BITS
    - TEST_ASSERT_BIT_HIGH
    - TEST_ASSERT_BITS_HIGH
    - TEST_ASSERT_BIT_LOW
    - TEST_ASSERT_BITS_LOW
    linkageType: ''
    returnType: void
    signature: void testEqualBits(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 737
    functionName: testNotEqualBitHigh
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualBitHigh(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 746
    functionName: testNotEqualBitLow
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualBitLow(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 757
    functionName: testNotEqualBitsHigh
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualBitsHigh(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 767
    functionName: testNotEqualBitsLow
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualBitsLow(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:780,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:781,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:782,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:783,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:784,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:785,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:786,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 788
    functionName: testEqualShorts
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_INT
    linkageType: ''
    returnType: void
    signature: void testEqualShorts(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_UINT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:800,1
    - Dst: TEST_ASSERT_EQUAL_UINT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:801,1
    - Dst: TEST_ASSERT_EQUAL_UINT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:802,1
    - Dst: TEST_ASSERT_EQUAL_UINT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:803,1
    - Dst: TEST_ASSERT_EQUAL_UINT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:804,1
    - Dst: TEST_ASSERT_EQUAL_UINT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:805,1
    - Dst: TEST_ASSERT_EQUAL_UINT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:806,1
    - Dst: TEST_ASSERT_EQUAL_UINT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 808
    functionName: testEqualUShorts
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_UINT
    linkageType: ''
    returnType: void
    signature: void testEqualUShorts(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:820,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:821,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:822,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:823,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:824,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:825,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:826,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 828
    functionName: testEqualChars
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_INT
    linkageType: ''
    returnType: void
    signature: void testEqualChars(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:840,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:841,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:842,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:843,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:844,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:845,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 847
    functionName: testEqualUChars
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_INT
    linkageType: ''
    returnType: void
    signature: void testEqualUChars(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_PTR
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:860,1
    - Dst: TEST_ASSERT_EQUAL_PTR
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:861,1
    - Dst: TEST_ASSERT_EQUAL_PTR
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:862,1
    - Dst: TEST_ASSERT_EQUAL_PTR
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 864
    functionName: testEqualPointers
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_PTR
    linkageType: ''
    returnType: void
    signature: void testEqualPointers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 871
    functionName: testNotEqualPointers
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualPointers(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_INT_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:875,1
    - Dst: TEST_ASSERT_INT_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:876,1
    - Dst: TEST_ASSERT_INT_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:877,1
    - Dst: TEST_ASSERT_INT_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:878,1
    - Dst: TEST_ASSERT_INT_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:880,1
    - Dst: TEST_ASSERT_INT_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:881,1
    - Dst: TEST_ASSERT_INT_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 883
    functionName: testIntsWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_INT_WITHIN
    linkageType: ''
    returnType: void
    signature: void testIntsWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_INT_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:887,1
    - Dst: TEST_ASSERT_INT_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:888,1
    - Dst: TEST_ASSERT_INT_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:889,1
    - Dst: TEST_ASSERT_INT_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:890,1
    - Dst: TEST_ASSERT_INT_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:892,1
    - Dst: TEST_ASSERT_INT_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:893,1
    - Dst: TEST_ASSERT_INT_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 895
    functionName: testIntsWithinDeltaAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_INT_WITHIN_MESSAGE
    linkageType: ''
    returnType: void
    signature: void testIntsWithinDeltaAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 902
    functionName: testIntsNotWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testIntsNotWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 909
    functionName: testIntsNotWithinDeltaAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testIntsNotWithinDeltaAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_UINT_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:913,1
    - Dst: TEST_ASSERT_UINT_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:914,1
    - Dst: TEST_ASSERT_UINT_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 911
    functionDepth: 1
    functionLinenumber: 911
    functionLinenumberEnd: 916
    functionName: testUIntsWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_UINT_WITHIN
    linkageType: ''
    returnType: void
    signature: void testUIntsWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_UINT_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:920,1
    - Dst: TEST_ASSERT_UINT_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:921,1
    - Dst: TEST_ASSERT_UINT_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 918
    functionDepth: 1
    functionLinenumber: 918
    functionLinenumberEnd: 923
    functionName: testUIntsWithinDeltaAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_UINT_WITHIN_MESSAGE
    linkageType: ''
    returnType: void
    signature: void testUIntsWithinDeltaAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 930
    functionName: testUIntsNotWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testUIntsNotWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 937
    functionName: testUIntsNotWithinDeltaAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testUIntsNotWithinDeltaAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 944
    functionName: testUIntsNotWithinDeltaEvenThoughASignedIntWouldPassSmallFirst
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testUIntsNotWithinDeltaEvenThoughASignedIntWouldPassSmallFirst(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 951
    functionName: testUIntsNotWithinDeltaEvenThoughASignedIntWouldPassSmallFirstAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testUIntsNotWithinDeltaEvenThoughASignedIntWouldPassSmallFirstAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 958
    functionName: testUIntsNotWithinDeltaEvenThoughASignedIntWouldPassBigFirst
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testUIntsNotWithinDeltaEvenThoughASignedIntWouldPassBigFirst(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 965
    functionName: testUIntsNotWithinDeltaEvenThoughASignedIntWouldPassBigFirstAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testUIntsNotWithinDeltaEvenThoughASignedIntWouldPassBigFirstAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_HEX32_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:969,1
    - Dst: TEST_ASSERT_HEX32_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:970,1
    - Dst: TEST_ASSERT_HEX32_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 967
    functionDepth: 1
    functionLinenumber: 967
    functionLinenumberEnd: 972
    functionName: testHEX32sWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_HEX32_WITHIN
    linkageType: ''
    returnType: void
    signature: void testHEX32sWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_HEX32_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:976,1
    - Dst: TEST_ASSERT_HEX32_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:977,1
    - Dst: TEST_ASSERT_HEX32_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 979
    functionName: testHEX32sWithinDeltaAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_HEX32_WITHIN_MESSAGE
    linkageType: ''
    returnType: void
    signature: void testHEX32sWithinDeltaAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 986
    functionName: testHEX32sNotWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testHEX32sNotWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 993
    functionName: testHEX32sNotWithinDeltaAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testHEX32sNotWithinDeltaAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1000
    functionName: testHEX32sNotWithinDeltaEvenThoughASignedIntWouldPass
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testHEX32sNotWithinDeltaEvenThoughASignedIntWouldPass(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1007
    functionName: testHEX32sNotWithinDeltaEvenThoughASignedIntWouldPassAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testHEX32sNotWithinDeltaEvenThoughASignedIntWouldPassAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_HEX16_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1011,1
    - Dst: TEST_ASSERT_HEX16_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1012,1
    - Dst: TEST_ASSERT_HEX16_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1014
    functionName: testHEX16sWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_HEX16_WITHIN
    linkageType: ''
    returnType: void
    signature: void testHEX16sWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_HEX16_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1018,1
    - Dst: TEST_ASSERT_HEX16_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1019,1
    - Dst: TEST_ASSERT_HEX16_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1016
    functionDepth: 1
    functionLinenumber: 1016
    functionLinenumberEnd: 1021
    functionName: testHEX16sWithinDeltaAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_HEX16_WITHIN_MESSAGE
    linkageType: ''
    returnType: void
    signature: void testHEX16sWithinDeltaAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_HEX16_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1023
    functionDepth: 1
    functionLinenumber: 1023
    functionLinenumberEnd: 1026
    functionName: testHEX16sWithinDeltaWhenThereAreDifferenceOutsideOf16Bits
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_HEX16_WITHIN
    linkageType: ''
    returnType: void
    signature: void testHEX16sWithinDeltaWhenThereAreDifferenceOutsideOf16Bits(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_HEX16_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1028
    functionDepth: 1
    functionLinenumber: 1028
    functionLinenumberEnd: 1031
    functionName: testHEX16sWithinDeltaWhenThereAreDifferenceOutsideOf16BitsAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_HEX16_WITHIN_MESSAGE
    linkageType: ''
    returnType: void
    signature: void testHEX16sWithinDeltaWhenThereAreDifferenceOutsideOf16BitsAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1038
    functionName: testHEX16sNotWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testHEX16sNotWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1045
    functionName: testHEX16sNotWithinDeltaAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testHEX16sNotWithinDeltaAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_HEX8_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1049,1
    - Dst: TEST_ASSERT_HEX8_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1050,1
    - Dst: TEST_ASSERT_HEX8_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1052
    functionName: testHEX8sWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_HEX8_WITHIN
    linkageType: ''
    returnType: void
    signature: void testHEX8sWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_HEX8_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1056,1
    - Dst: TEST_ASSERT_HEX8_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1057,1
    - Dst: TEST_ASSERT_HEX8_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1054
    functionDepth: 1
    functionLinenumber: 1054
    functionLinenumberEnd: 1059
    functionName: testHEX8sWithinDeltaAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_HEX8_WITHIN_MESSAGE
    linkageType: ''
    returnType: void
    signature: void testHEX8sWithinDeltaAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_HEX8_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1064
    functionName: testHEX8sWithinDeltaWhenThereAreDifferenceOutsideOf8Bits
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_HEX8_WITHIN
    linkageType: ''
    returnType: void
    signature: void testHEX8sWithinDeltaWhenThereAreDifferenceOutsideOf8Bits(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_HEX8_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1066
    functionDepth: 1
    functionLinenumber: 1066
    functionLinenumberEnd: 1069
    functionName: testHEX8sWithinDeltaWhenThereAreDifferenceOutsideOf8BitsAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_HEX8_WITHIN_MESSAGE
    linkageType: ''
    returnType: void
    signature: void testHEX8sWithinDeltaWhenThereAreDifferenceOutsideOf8BitsAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1076
    functionName: testHEX8sNotWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testHEX8sNotWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1083
    functionName: testHEX8sNotWithinDeltaAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testHEX8sNotWithinDeltaAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_UINT32_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1089,1
    - Dst: TEST_ASSERT_UINT32_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1090,1
    - Dst: TEST_ASSERT_UINT32_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1087
    functionDepth: 1
    functionLinenumber: 1087
    functionLinenumberEnd: 1092
    functionName: testUINT32sWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_UINT32_WITHIN
    linkageType: ''
    returnType: void
    signature: void testUINT32sWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_UINT32_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1096,1
    - Dst: TEST_ASSERT_UINT32_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1097,1
    - Dst: TEST_ASSERT_UINT32_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1094
    functionDepth: 1
    functionLinenumber: 1094
    functionLinenumberEnd: 1099
    functionName: testUINT32sWithinDeltaAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_UINT32_WITHIN_MESSAGE
    linkageType: ''
    returnType: void
    signature: void testUINT32sWithinDeltaAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1106
    functionName: testUINT32sNotWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testUINT32sNotWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1113
    functionName: testUINT32sNotWithinDeltaAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testUINT32sNotWithinDeltaAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1120
    functionName: testUINT32sNotWithinDeltaEvenThoughASignedIntWouldPass
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testUINT32sNotWithinDeltaEvenThoughASignedIntWouldPass(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1127
    functionName: testUINT32sNotWithinDeltaEvenThoughASignedIntWouldPassAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testUINT32sNotWithinDeltaEvenThoughASignedIntWouldPassAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_UINT16_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1131,1
    - Dst: TEST_ASSERT_UINT16_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1132,1
    - Dst: TEST_ASSERT_UINT16_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1134
    functionName: testUINT16sWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_UINT16_WITHIN
    linkageType: ''
    returnType: void
    signature: void testUINT16sWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_UINT16_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1138,1
    - Dst: TEST_ASSERT_UINT16_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1139,1
    - Dst: TEST_ASSERT_UINT16_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1136
    functionDepth: 1
    functionLinenumber: 1136
    functionLinenumberEnd: 1141
    functionName: testUINT16sWithinDeltaAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_UINT16_WITHIN_MESSAGE
    linkageType: ''
    returnType: void
    signature: void testUINT16sWithinDeltaAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_UINT16_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1143
    functionDepth: 1
    functionLinenumber: 1143
    functionLinenumberEnd: 1146
    functionName: testUINT16sWithinDeltaWhenThereAreDifferenceOutsideOf16Bits
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_UINT16_WITHIN
    linkageType: ''
    returnType: void
    signature: void testUINT16sWithinDeltaWhenThereAreDifferenceOutsideOf16Bits(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_UINT16_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1148
    functionDepth: 1
    functionLinenumber: 1148
    functionLinenumberEnd: 1151
    functionName: testUINT16sWithinDeltaWhenThereAreDifferenceOutsideOf16BitsAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_UINT16_WITHIN_MESSAGE
    linkageType: ''
    returnType: void
    signature: void testUINT16sWithinDeltaWhenThereAreDifferenceOutsideOf16BitsAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1158
    functionName: testUINT16sNotWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testUINT16sNotWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1165
    functionName: testUINT16sNotWithinDeltaAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testUINT16sNotWithinDeltaAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_UINT8_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1169,1
    - Dst: TEST_ASSERT_UINT8_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1170,1
    - Dst: TEST_ASSERT_UINT8_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1167
    functionDepth: 1
    functionLinenumber: 1167
    functionLinenumberEnd: 1172
    functionName: testUINT8sWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_UINT8_WITHIN
    linkageType: ''
    returnType: void
    signature: void testUINT8sWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_UINT8_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1176,1
    - Dst: TEST_ASSERT_UINT8_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1177,1
    - Dst: TEST_ASSERT_UINT8_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1174
    functionDepth: 1
    functionLinenumber: 1174
    functionLinenumberEnd: 1179
    functionName: testUINT8sWithinDeltaAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_UINT8_WITHIN_MESSAGE
    linkageType: ''
    returnType: void
    signature: void testUINT8sWithinDeltaAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_UINT8_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1181
    functionDepth: 1
    functionLinenumber: 1181
    functionLinenumberEnd: 1184
    functionName: testUINT8sWithinDeltaWhenThereAreDifferenceOutsideOf8Bits
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_UINT8_WITHIN
    linkageType: ''
    returnType: void
    signature: void testUINT8sWithinDeltaWhenThereAreDifferenceOutsideOf8Bits(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_UINT8_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1186
    functionDepth: 1
    functionLinenumber: 1186
    functionLinenumberEnd: 1189
    functionName: testUINT8sWithinDeltaWhenThereAreDifferenceOutsideOf8BitsAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_UINT8_WITHIN_MESSAGE
    linkageType: ''
    returnType: void
    signature: void testUINT8sWithinDeltaWhenThereAreDifferenceOutsideOf8BitsAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1196
    functionName: testUINT8sNotWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testUINT8sNotWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1203
    functionName: testUINT8sNotWithinDeltaAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testUINT8sNotWithinDeltaAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_INT32_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1207,1
    - Dst: TEST_ASSERT_INT32_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1208,1
    - Dst: TEST_ASSERT_INT32_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1205
    functionDepth: 1
    functionLinenumber: 1205
    functionLinenumberEnd: 1210
    functionName: testINT32sWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_INT32_WITHIN
    linkageType: ''
    returnType: void
    signature: void testINT32sWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_INT32_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1212
    functionDepth: 1
    functionLinenumber: 1212
    functionLinenumberEnd: 1215
    functionName: testINT32sWithinDeltaAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_INT32_WITHIN_MESSAGE
    linkageType: ''
    returnType: void
    signature: void testINT32sWithinDeltaAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1222
    functionName: testINT32sNotWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testINT32sNotWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1229
    functionName: testINT32sNotWithinDeltaAndDifferenceOverflows
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testINT32sNotWithinDeltaAndDifferenceOverflows(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1235
    functionName: testINT32sNotWithinDeltaAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testINT32sNotWithinDeltaAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_INT16_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1239,1
    - Dst: TEST_ASSERT_INT16_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1240,1
    - Dst: TEST_ASSERT_INT16_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1237
    functionDepth: 1
    functionLinenumber: 1237
    functionLinenumberEnd: 1242
    functionName: testINT16sWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_INT16_WITHIN
    linkageType: ''
    returnType: void
    signature: void testINT16sWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_INT16_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1244
    functionDepth: 1
    functionLinenumber: 1244
    functionLinenumberEnd: 1247
    functionName: testINT16sWithinDeltaAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_INT16_WITHIN_MESSAGE
    linkageType: ''
    returnType: void
    signature: void testINT16sWithinDeltaAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_INT16_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1249
    functionDepth: 1
    functionLinenumber: 1249
    functionLinenumberEnd: 1252
    functionName: testINT16sWithinDeltaWhenThereAreDifferenceOutsideOf16Bits
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_INT16_WITHIN
    linkageType: ''
    returnType: void
    signature: void testINT16sWithinDeltaWhenThereAreDifferenceOutsideOf16Bits(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_INT16_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1254
    functionDepth: 1
    functionLinenumber: 1254
    functionLinenumberEnd: 1257
    functionName: testINT16sWithinDeltaWhenThereAreDifferenceOutsideOf16BitsAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_INT16_WITHIN_MESSAGE
    linkageType: ''
    returnType: void
    signature: void testINT16sWithinDeltaWhenThereAreDifferenceOutsideOf16BitsAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1264
    functionName: testINT16sNotWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testINT16sNotWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1271
    functionName: testINT16sNotWithinDeltaAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testINT16sNotWithinDeltaAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_INT8_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1275,1
    - Dst: TEST_ASSERT_INT8_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1276,1
    - Dst: TEST_ASSERT_INT8_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1273
    functionDepth: 1
    functionLinenumber: 1273
    functionLinenumberEnd: 1278
    functionName: testINT8sWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_INT8_WITHIN
    linkageType: ''
    returnType: void
    signature: void testINT8sWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_INT8_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1280
    functionDepth: 1
    functionLinenumber: 1280
    functionLinenumberEnd: 1283
    functionName: testINT8sWithinDeltaAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_INT8_WITHIN_MESSAGE
    linkageType: ''
    returnType: void
    signature: void testINT8sWithinDeltaAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_INT8_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1285
    functionDepth: 1
    functionLinenumber: 1285
    functionLinenumberEnd: 1288
    functionName: testINT8sWithinDeltaWhenThereAreDifferenceOutsideOf8Bits
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_INT8_WITHIN
    linkageType: ''
    returnType: void
    signature: void testINT8sWithinDeltaWhenThereAreDifferenceOutsideOf8Bits(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_INT8_WITHIN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1290
    functionDepth: 1
    functionLinenumber: 1290
    functionLinenumberEnd: 1293
    functionName: testINT8sWithinDeltaWhenThereAreDifferenceOutsideOf8BitsAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_INT8_WITHIN_MESSAGE
    linkageType: ''
    returnType: void
    signature: void testINT8sWithinDeltaWhenThereAreDifferenceOutsideOf8BitsAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1300
    functionName: testINT8sNotWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testINT8sNotWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1307
    functionName: testINT8sNotWithinDeltaAndCustomMessage
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testINT8sNotWithinDeltaAndCustomMessage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_GREATER_THAN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1321,1
    - Dst: TEST_ASSERT_GREATER_THAN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1322,1
    - Dst: TEST_ASSERT_GREATER_THAN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1323,1
    - Dst: TEST_ASSERT_GREATER_THAN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1311
    functionDepth: 1
    functionLinenumber: 1311
    functionLinenumberEnd: 1325
    functionName: testGreaterThan
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_GREATER_THAN
    linkageType: ''
    returnType: void
    signature: void testGreaterThan(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_GREATER_THAN_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1337,1
    - Dst: TEST_ASSERT_GREATER_THAN_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1338,1
    - Dst: TEST_ASSERT_GREATER_THAN_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1339,1
    - Dst: TEST_ASSERT_GREATER_THAN_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1327
    functionDepth: 1
    functionLinenumber: 1327
    functionLinenumberEnd: 1341
    functionName: testGreaterThanINT
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_GREATER_THAN_INT
    linkageType: ''
    returnType: void
    signature: void testGreaterThanINT(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_GREATER_THAN_INT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1354,1
    - Dst: TEST_ASSERT_GREATER_THAN_INT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1355,1
    - Dst: TEST_ASSERT_GREATER_THAN_INT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1356,1
    - Dst: TEST_ASSERT_GREATER_THAN_INT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1344
    functionDepth: 1
    functionLinenumber: 1344
    functionLinenumberEnd: 1358
    functionName: testGreaterThanINT8
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_GREATER_THAN_INT8
    linkageType: ''
    returnType: void
    signature: void testGreaterThanINT8(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_GREATER_THAN_INT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1370,1
    - Dst: TEST_ASSERT_GREATER_THAN_INT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1371,1
    - Dst: TEST_ASSERT_GREATER_THAN_INT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1372,1
    - Dst: TEST_ASSERT_GREATER_THAN_INT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1360
    functionDepth: 1
    functionLinenumber: 1360
    functionLinenumberEnd: 1374
    functionName: testGreaterThanINT16
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_GREATER_THAN_INT16
    linkageType: ''
    returnType: void
    signature: void testGreaterThanINT16(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_GREATER_THAN_INT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1386,1
    - Dst: TEST_ASSERT_GREATER_THAN_INT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1387,1
    - Dst: TEST_ASSERT_GREATER_THAN_INT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1388,1
    - Dst: TEST_ASSERT_GREATER_THAN_INT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1376
    functionDepth: 1
    functionLinenumber: 1376
    functionLinenumberEnd: 1390
    functionName: testGreaterThanINT32
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_GREATER_THAN_INT32
    linkageType: ''
    returnType: void
    signature: void testGreaterThanINT32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_GREATER_THAN_UINT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1402,1
    - Dst: TEST_ASSERT_GREATER_THAN_UINT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1403,1
    - Dst: TEST_ASSERT_GREATER_THAN_UINT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1404,1
    - Dst: TEST_ASSERT_GREATER_THAN_UINT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1392
    functionDepth: 1
    functionLinenumber: 1392
    functionLinenumberEnd: 1406
    functionName: testGreaterThanUINT
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_GREATER_THAN_UINT
    linkageType: ''
    returnType: void
    signature: void testGreaterThanUINT(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_GREATER_THAN_UINT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1419,1
    - Dst: TEST_ASSERT_GREATER_THAN_UINT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1420,1
    - Dst: TEST_ASSERT_GREATER_THAN_UINT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1421,1
    - Dst: TEST_ASSERT_GREATER_THAN_UINT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1409
    functionDepth: 1
    functionLinenumber: 1409
    functionLinenumberEnd: 1423
    functionName: testGreaterThanUINT8
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_GREATER_THAN_UINT8
    linkageType: ''
    returnType: void
    signature: void testGreaterThanUINT8(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_GREATER_THAN_UINT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1435,1
    - Dst: TEST_ASSERT_GREATER_THAN_UINT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1436,1
    - Dst: TEST_ASSERT_GREATER_THAN_UINT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1437,1
    - Dst: TEST_ASSERT_GREATER_THAN_UINT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1425
    functionDepth: 1
    functionLinenumber: 1425
    functionLinenumberEnd: 1439
    functionName: testGreaterThanUINT16
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_GREATER_THAN_UINT16
    linkageType: ''
    returnType: void
    signature: void testGreaterThanUINT16(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_GREATER_THAN_UINT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1451,1
    - Dst: TEST_ASSERT_GREATER_THAN_UINT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1452,1
    - Dst: TEST_ASSERT_GREATER_THAN_UINT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1453,1
    - Dst: TEST_ASSERT_GREATER_THAN_UINT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1441
    functionDepth: 1
    functionLinenumber: 1441
    functionLinenumberEnd: 1455
    functionName: testGreaterThanUINT32
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_GREATER_THAN_UINT32
    linkageType: ''
    returnType: void
    signature: void testGreaterThanUINT32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_GREATER_THAN_HEX8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1467,1
    - Dst: TEST_ASSERT_GREATER_THAN_HEX8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1468,1
    - Dst: TEST_ASSERT_GREATER_THAN_HEX8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1469,1
    - Dst: TEST_ASSERT_GREATER_THAN_HEX8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1457
    functionDepth: 1
    functionLinenumber: 1457
    functionLinenumberEnd: 1471
    functionName: testGreaterThanHEX8
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_GREATER_THAN_HEX8
    linkageType: ''
    returnType: void
    signature: void testGreaterThanHEX8(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_GREATER_THAN_HEX16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1483,1
    - Dst: TEST_ASSERT_GREATER_THAN_HEX16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1484,1
    - Dst: TEST_ASSERT_GREATER_THAN_HEX16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1485,1
    - Dst: TEST_ASSERT_GREATER_THAN_HEX16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1473
    functionDepth: 1
    functionLinenumber: 1473
    functionLinenumberEnd: 1487
    functionName: testGreaterThanHEX16
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_GREATER_THAN_HEX16
    linkageType: ''
    returnType: void
    signature: void testGreaterThanHEX16(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_GREATER_THAN_HEX32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1499,1
    - Dst: TEST_ASSERT_GREATER_THAN_HEX32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1500,1
    - Dst: TEST_ASSERT_GREATER_THAN_HEX32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1501,1
    - Dst: TEST_ASSERT_GREATER_THAN_HEX32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1503
    functionName: testGreaterThanHEX32
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_GREATER_THAN_HEX32
    linkageType: ''
    returnType: void
    signature: void testGreaterThanHEX32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1506
    functionDepth: 0
    functionLinenumber: 1506
    functionLinenumberEnd: 1511
    functionName: testNotGreaterThan
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotGreaterThan(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_LESS_THAN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1523,1
    - Dst: TEST_ASSERT_LESS_THAN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1524,1
    - Dst: TEST_ASSERT_LESS_THAN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1525,1
    - Dst: TEST_ASSERT_LESS_THAN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1513
    functionDepth: 1
    functionLinenumber: 1513
    functionLinenumberEnd: 1527
    functionName: testLessThan
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_LESS_THAN
    linkageType: ''
    returnType: void
    signature: void testLessThan(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_LESS_THAN_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1539,1
    - Dst: TEST_ASSERT_LESS_THAN_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1540,1
    - Dst: TEST_ASSERT_LESS_THAN_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1541,1
    - Dst: TEST_ASSERT_LESS_THAN_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1529
    functionDepth: 1
    functionLinenumber: 1529
    functionLinenumberEnd: 1543
    functionName: testLessThanINT
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_LESS_THAN_INT
    linkageType: ''
    returnType: void
    signature: void testLessThanINT(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_LESS_THAN_INT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1556,1
    - Dst: TEST_ASSERT_LESS_THAN_INT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1557,1
    - Dst: TEST_ASSERT_LESS_THAN_INT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1558,1
    - Dst: TEST_ASSERT_LESS_THAN_INT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1546
    functionDepth: 1
    functionLinenumber: 1546
    functionLinenumberEnd: 1560
    functionName: testLessThanINT8
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_LESS_THAN_INT8
    linkageType: ''
    returnType: void
    signature: void testLessThanINT8(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_LESS_THAN_INT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1572,1
    - Dst: TEST_ASSERT_LESS_THAN_INT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1573,1
    - Dst: TEST_ASSERT_LESS_THAN_INT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1574,1
    - Dst: TEST_ASSERT_LESS_THAN_INT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1562
    functionDepth: 1
    functionLinenumber: 1562
    functionLinenumberEnd: 1576
    functionName: testLessThanINT16
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_LESS_THAN_INT16
    linkageType: ''
    returnType: void
    signature: void testLessThanINT16(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_LESS_THAN_INT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1588,1
    - Dst: TEST_ASSERT_LESS_THAN_INT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1589,1
    - Dst: TEST_ASSERT_LESS_THAN_INT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1590,1
    - Dst: TEST_ASSERT_LESS_THAN_INT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1578
    functionDepth: 1
    functionLinenumber: 1578
    functionLinenumberEnd: 1592
    functionName: testLessThanINT32
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_LESS_THAN_INT32
    linkageType: ''
    returnType: void
    signature: void testLessThanINT32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_LESS_THAN_UINT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1604,1
    - Dst: TEST_ASSERT_LESS_THAN_UINT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1605,1
    - Dst: TEST_ASSERT_LESS_THAN_UINT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1606,1
    - Dst: TEST_ASSERT_LESS_THAN_UINT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1594
    functionDepth: 1
    functionLinenumber: 1594
    functionLinenumberEnd: 1608
    functionName: testLessThanUINT
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_LESS_THAN_UINT
    linkageType: ''
    returnType: void
    signature: void testLessThanUINT(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_LESS_THAN_UINT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1621,1
    - Dst: TEST_ASSERT_LESS_THAN_UINT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1622,1
    - Dst: TEST_ASSERT_LESS_THAN_UINT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1623,1
    - Dst: TEST_ASSERT_LESS_THAN_UINT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1611
    functionDepth: 1
    functionLinenumber: 1611
    functionLinenumberEnd: 1625
    functionName: testLessThanUINT8
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_LESS_THAN_UINT8
    linkageType: ''
    returnType: void
    signature: void testLessThanUINT8(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_LESS_THAN_UINT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1637,1
    - Dst: TEST_ASSERT_LESS_THAN_UINT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1638,1
    - Dst: TEST_ASSERT_LESS_THAN_UINT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1639,1
    - Dst: TEST_ASSERT_LESS_THAN_UINT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1627
    functionDepth: 1
    functionLinenumber: 1627
    functionLinenumberEnd: 1641
    functionName: testLessThanUINT16
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_LESS_THAN_UINT16
    linkageType: ''
    returnType: void
    signature: void testLessThanUINT16(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_LESS_THAN_UINT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1653,1
    - Dst: TEST_ASSERT_LESS_THAN_UINT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1654,1
    - Dst: TEST_ASSERT_LESS_THAN_UINT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1655,1
    - Dst: TEST_ASSERT_LESS_THAN_UINT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1643
    functionDepth: 1
    functionLinenumber: 1643
    functionLinenumberEnd: 1657
    functionName: testLessThanUINT32
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_LESS_THAN_UINT32
    linkageType: ''
    returnType: void
    signature: void testLessThanUINT32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_LESS_THAN_HEX8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1669,1
    - Dst: TEST_ASSERT_LESS_THAN_HEX8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1670,1
    - Dst: TEST_ASSERT_LESS_THAN_HEX8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1671,1
    - Dst: TEST_ASSERT_LESS_THAN_HEX8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1659
    functionDepth: 1
    functionLinenumber: 1659
    functionLinenumberEnd: 1673
    functionName: testLessThanHEX8
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_LESS_THAN_HEX8
    linkageType: ''
    returnType: void
    signature: void testLessThanHEX8(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_LESS_THAN_HEX16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1685,1
    - Dst: TEST_ASSERT_LESS_THAN_HEX16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1686,1
    - Dst: TEST_ASSERT_LESS_THAN_HEX16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1687,1
    - Dst: TEST_ASSERT_LESS_THAN_HEX16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1675
    functionDepth: 1
    functionLinenumber: 1675
    functionLinenumberEnd: 1689
    functionName: testLessThanHEX16
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_LESS_THAN_HEX16
    linkageType: ''
    returnType: void
    signature: void testLessThanHEX16(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_LESS_THAN_HEX32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1701,1
    - Dst: TEST_ASSERT_LESS_THAN_HEX32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1702,1
    - Dst: TEST_ASSERT_LESS_THAN_HEX32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1703,1
    - Dst: TEST_ASSERT_LESS_THAN_HEX32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1691
    functionDepth: 1
    functionLinenumber: 1691
    functionLinenumberEnd: 1705
    functionName: testLessThanHEX32
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_LESS_THAN_HEX32
    linkageType: ''
    returnType: void
    signature: void testLessThanHEX32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1713
      start: 1708
    functionDepth: 0
    functionLinenumber: 1708
    functionLinenumberEnd: 1713
    functionName: testNotLessThan
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotLessThan(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1722,1
    - Dst: TEST_ASSERT_EQUAL_STRING_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1723,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1724,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1725,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1727
      start: 1718
    functionDepth: 1
    functionLinenumber: 1718
    functionLinenumberEnd: 1727
    functionName: testEqualStrings
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_STRING
    - TEST_ASSERT_EQUAL_STRING_MESSAGE
    linkageType: ''
    returnType: void
    signature: void testEqualStrings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_STRING_LEN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1732,1
    - Dst: strlen
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1732,1
    - Dst: TEST_ASSERT_EQUAL_STRING_LEN_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1733,1
    - Dst: TEST_ASSERT_EQUAL_STRING_LEN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1734,1
    - Dst: TEST_ASSERT_EQUAL_STRING_LEN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1735,1
    - Dst: TEST_ASSERT_EQUAL_STRING_LEN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1729
    functionDepth: 1
    functionLinenumber: 1729
    functionLinenumberEnd: 1737
    functionName: testEqualStringsLen
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_STRING_LEN
    - strlen
    - TEST_ASSERT_EQUAL_STRING_LEN_MESSAGE
    linkageType: ''
    returnType: void
    signature: void testEqualStringsLen(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1743,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1744,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1745,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1746,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1739
    functionDepth: 1
    functionLinenumber: 1739
    functionLinenumberEnd: 1748
    functionName: testEqualStringsWithCarriageReturnsAndLineFeeds
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_STRING
    linkageType: ''
    returnType: void
    signature: void testEqualStringsWithCarriageReturnsAndLineFeeds(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1755
      start: 1750
    functionDepth: 0
    functionLinenumber: 1750
    functionLinenumberEnd: 1755
    functionName: testNotEqualString1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualString1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1757
    functionDepth: 0
    functionLinenumber: 1757
    functionLinenumberEnd: 1762
    functionName: testNotEqualStringLen1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualStringLen1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1764
    functionDepth: 0
    functionLinenumber: 1764
    functionLinenumberEnd: 1769
    functionName: testNotEqualString2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualString2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1771
    functionDepth: 0
    functionLinenumber: 1771
    functionLinenumberEnd: 1776
    functionName: testNotEqualStringLen2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualStringLen2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1783
      start: 1778
    functionDepth: 0
    functionLinenumber: 1778
    functionLinenumberEnd: 1783
    functionName: testNotEqualString3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualString3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1785
    functionDepth: 0
    functionLinenumber: 1785
    functionLinenumberEnd: 1790
    functionName: testNotEqualStringLen3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualStringLen3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1797
      start: 1792
    functionDepth: 0
    functionLinenumber: 1792
    functionLinenumberEnd: 1797
    functionName: testNotEqualString4
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualString4(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1799
    functionDepth: 0
    functionLinenumber: 1799
    functionLinenumberEnd: 1804
    functionName: testNotEqualStringLen4
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualStringLen4(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1813
      start: 1806
    functionDepth: 0
    functionLinenumber: 1806
    functionLinenumberEnd: 1813
    functionName: testNotEqualString5
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualString5(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1815
    functionDepth: 0
    functionLinenumber: 1815
    functionLinenumberEnd: 1820
    functionName: testNotEqualString_ExpectedStringIsNull
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualString_ExpectedStringIsNull(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1822
    functionDepth: 0
    functionLinenumber: 1822
    functionLinenumberEnd: 1827
    functionName: testNotEqualStringLen_ExpectedStringIsNull
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualStringLen_ExpectedStringIsNull(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1834
    functionName: testNotEqualString_ActualStringIsNull
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualString_ActualStringIsNull(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1841
      start: 1836
    functionDepth: 0
    functionLinenumber: 1836
    functionLinenumberEnd: 1841
    functionName: testNotEqualStringLen_ActualStringIsNull
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualStringLen_ActualStringIsNull(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_STRING_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1848,1
    - Dst: TEST_ASSERT_EQUAL_STRING_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1849,1
    - Dst: TEST_ASSERT_EQUAL_STRING_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1850,1
    - Dst: TEST_ASSERT_EQUAL_STRING_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1852
      start: 1843
    functionDepth: 1
    functionLinenumber: 1843
    functionLinenumberEnd: 1852
    functionName: testEqualStringArrays
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_STRING_ARRAY
    linkageType: ''
    returnType: void
    signature: void testEqualStringArrays(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1854
    functionDepth: 0
    functionLinenumber: 1854
    functionLinenumberEnd: 1862
    functionName: testNotEqualStringArray1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualStringArray1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1864
    functionDepth: 0
    functionLinenumber: 1864
    functionLinenumberEnd: 1872
    functionName: testNotEqualStringArray2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualStringArray2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1882
      start: 1874
    functionDepth: 0
    functionLinenumber: 1874
    functionLinenumberEnd: 1882
    functionName: testNotEqualStringArray3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualStringArray3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1884
    functionDepth: 0
    functionLinenumber: 1884
    functionLinenumberEnd: 1892
    functionName: testNotEqualStringArray4
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualStringArray4(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1902
      start: 1894
    functionDepth: 0
    functionLinenumber: 1894
    functionLinenumberEnd: 1902
    functionName: testNotEqualStringArray5
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualStringArray5(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1912
      start: 1904
    functionDepth: 0
    functionLinenumber: 1904
    functionLinenumberEnd: 1912
    functionName: testNotEqualStringArray6
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualStringArray6(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_STRING_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1920
      start: 1914
    functionDepth: 1
    functionLinenumber: 1914
    functionLinenumberEnd: 1920
    functionName: testEqualStringArrayIfBothNulls
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_STRING_ARRAY
    linkageType: ''
    returnType: void
    signature: void testEqualStringArrayIfBothNulls(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1930
      start: 1922
    functionDepth: 0
    functionLinenumber: 1922
    functionLinenumberEnd: 1930
    functionName: testNotEqualStringArrayLengthZero
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualStringArrayLengthZero(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EACH_EQUAL_STRING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1938,1
    - Dst: TEST_ASSERT_EACH_EQUAL_STRING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1939,1
    - Dst: TEST_ASSERT_EACH_EQUAL_STRING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1940,1
    - Dst: TEST_ASSERT_EACH_EQUAL_STRING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1942
      start: 1932
    functionDepth: 1
    functionLinenumber: 1932
    functionLinenumberEnd: 1942
    functionName: testEqualStringEachEqual
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EACH_EQUAL_STRING
    linkageType: ''
    returnType: void
    signature: void testEqualStringEachEqual(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1944
    functionDepth: 0
    functionLinenumber: 1944
    functionLinenumberEnd: 1951
    functionName: testNotEqualStringEachEqual1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualStringEachEqual1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1960
      start: 1953
    functionDepth: 0
    functionLinenumber: 1953
    functionLinenumberEnd: 1960
    functionName: testNotEqualStringEachEqual2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualStringEachEqual2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1969
      start: 1962
    functionDepth: 0
    functionLinenumber: 1962
    functionLinenumberEnd: 1969
    functionName: testNotEqualStringEachEqual3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualStringEachEqual3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1978
      start: 1971
    functionDepth: 0
    functionLinenumber: 1971
    functionLinenumberEnd: 1978
    functionName: testNotEqualStringEachEqual4
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualStringEachEqual4(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1985
      start: 1980
    functionDepth: 0
    functionLinenumber: 1980
    functionLinenumberEnd: 1985
    functionName: testNotEqualStringEachEqual5
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualStringEachEqual5(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_MEMORY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1991,1
    - Dst: TEST_ASSERT_EQUAL_MEMORY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1992,1
    - Dst: TEST_ASSERT_EQUAL_MEMORY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1993,1
    - Dst: TEST_ASSERT_EQUAL_MEMORY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1994,1
    - Dst: TEST_ASSERT_EQUAL_MEMORY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1995,1
    - Dst: TEST_ASSERT_EQUAL_MEMORY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:1996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1997
      start: 1987
    functionDepth: 1
    functionLinenumber: 1987
    functionLinenumberEnd: 1997
    functionName: testEqualMemory
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_MEMORY
    linkageType: ''
    returnType: void
    signature: void testEqualMemory(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2004
      start: 1999
    functionDepth: 0
    functionLinenumber: 1999
    functionLinenumberEnd: 2004
    functionName: testNotEqualMemory1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualMemory1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2011
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2011
    functionName: testNotEqualMemory2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualMemory2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 2013
    functionDepth: 0
    functionLinenumber: 2013
    functionLinenumberEnd: 2018
    functionName: testNotEqualMemory3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualMemory3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2025
      start: 2020
    functionDepth: 0
    functionLinenumber: 2020
    functionLinenumberEnd: 2025
    functionName: testNotEqualMemory4
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualMemory4(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2032
      start: 2027
    functionDepth: 0
    functionLinenumber: 2027
    functionLinenumberEnd: 2032
    functionName: testNotEqualMemoryLengthZero
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualMemoryLengthZero(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_INT_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2041,1
    - Dst: TEST_ASSERT_EQUAL_INT_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2042,1
    - Dst: TEST_ASSERT_EQUAL_INT_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2043,1
    - Dst: TEST_ASSERT_EQUAL_INT_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2044,1
    - Dst: TEST_ASSERT_EQUAL_INT_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2045,1
    - Dst: TEST_ASSERT_EQUAL_INT_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2047
      start: 2034
    functionDepth: 1
    functionLinenumber: 2034
    functionLinenumberEnd: 2047
    functionName: testEqualIntArrays
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_INT_ARRAY
    linkageType: ''
    returnType: void
    signature: void testEqualIntArrays(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2057
      start: 2049
    functionDepth: 0
    functionLinenumber: 2049
    functionLinenumberEnd: 2057
    functionName: testNotEqualIntArraysNullExpected
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualIntArraysNullExpected(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 2059
    functionDepth: 0
    functionLinenumber: 2059
    functionLinenumberEnd: 2067
    functionName: testNotEqualIntArraysNullActual
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualIntArraysNullActual(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2077
      start: 2069
    functionDepth: 0
    functionLinenumber: 2069
    functionLinenumberEnd: 2077
    functionName: testNotEqualIntArrays1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualIntArrays1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2087
      start: 2079
    functionDepth: 0
    functionLinenumber: 2079
    functionLinenumberEnd: 2087
    functionName: testNotEqualIntArrays2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualIntArrays2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2097
      start: 2089
    functionDepth: 0
    functionLinenumber: 2089
    functionLinenumberEnd: 2097
    functionName: testNotEqualIntArrays3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualIntArrays3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2107
      start: 2099
    functionDepth: 0
    functionLinenumber: 2099
    functionLinenumberEnd: 2107
    functionName: testNotEqualIntArraysLengthZero
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualIntArraysLengthZero(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EACH_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2116,1
    - Dst: TEST_ASSERT_EACH_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2117,1
    - Dst: TEST_ASSERT_EACH_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2118,1
    - Dst: TEST_ASSERT_EACH_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2119,1
    - Dst: TEST_ASSERT_EACH_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2121
      start: 2109
    functionDepth: 1
    functionLinenumber: 2109
    functionLinenumberEnd: 2121
    functionName: testEqualIntEachEqual
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EACH_EQUAL_INT
    linkageType: ''
    returnType: void
    signature: void testEqualIntEachEqual(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2123
    functionDepth: 0
    functionLinenumber: 2123
    functionLinenumberEnd: 2130
    functionName: testNotEqualIntEachEqualNullActual
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualIntEachEqualNullActual(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2132
    functionDepth: 0
    functionLinenumber: 2132
    functionLinenumberEnd: 2139
    functionName: testNotEqualIntEachEqual1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualIntEachEqual1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2148
      start: 2141
    functionDepth: 0
    functionLinenumber: 2141
    functionLinenumberEnd: 2148
    functionName: testNotEqualIntEachEqual2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualIntEachEqual2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2157
      start: 2150
    functionDepth: 0
    functionLinenumber: 2150
    functionLinenumberEnd: 2157
    functionName: testNotEqualIntEachEqual3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualIntEachEqual3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2166
      start: 2159
    functionDepth: 0
    functionLinenumber: 2159
    functionLinenumberEnd: 2166
    functionName: testNotEqualEachEqualLengthZero
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualEachEqualLengthZero(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_PTR_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2178,1
    - Dst: TEST_ASSERT_EQUAL_PTR_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2179,1
    - Dst: TEST_ASSERT_EQUAL_PTR_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2180,1
    - Dst: TEST_ASSERT_EQUAL_PTR_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2181,1
    - Dst: TEST_ASSERT_EQUAL_PTR_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2168
    functionDepth: 1
    functionLinenumber: 2168
    functionLinenumberEnd: 2183
    functionName: testEqualPtrArrays
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_PTR_ARRAY
    linkageType: ''
    returnType: void
    signature: void testEqualPtrArrays(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2185
    functionDepth: 0
    functionLinenumber: 2185
    functionLinenumberEnd: 2195
    functionName: testNotEqualPtrArraysNullExpected
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualPtrArraysNullExpected(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2207
      start: 2197
    functionDepth: 0
    functionLinenumber: 2197
    functionLinenumberEnd: 2207
    functionName: testNotEqualPtrArraysNullActual
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualPtrArraysNullActual(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 2209
    functionDepth: 0
    functionLinenumber: 2209
    functionLinenumberEnd: 2220
    functionName: testNotEqualPtrArrays1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualPtrArrays1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2233
      start: 2222
    functionDepth: 0
    functionLinenumber: 2222
    functionLinenumberEnd: 2233
    functionName: testNotEqualPtrArrays2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualPtrArrays2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2246
      start: 2235
    functionDepth: 0
    functionLinenumber: 2235
    functionLinenumberEnd: 2246
    functionName: testNotEqualPtrArrays3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualPtrArrays3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EACH_EQUAL_PTR
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2258,1
    - Dst: TEST_ASSERT_EACH_EQUAL_PTR
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2259,1
    - Dst: TEST_ASSERT_EACH_EQUAL_PTR
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2260,1
    - Dst: TEST_ASSERT_EACH_EQUAL_PTR
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2261,1
    - Dst: TEST_ASSERT_EACH_EQUAL_PTR
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2263
      start: 2248
    functionDepth: 1
    functionLinenumber: 2248
    functionLinenumberEnd: 2263
    functionName: testEqualPtrEachEqual
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EACH_EQUAL_PTR
    linkageType: ''
    returnType: void
    signature: void testEqualPtrEachEqual(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2274
      start: 2265
    functionDepth: 0
    functionLinenumber: 2265
    functionLinenumberEnd: 2274
    functionName: testNotEqualPtrEachEqualNullExpected
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualPtrEachEqualNullExpected(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2284
      start: 2276
    functionDepth: 0
    functionLinenumber: 2276
    functionLinenumberEnd: 2284
    functionName: testNotEqualPtrEachEqualNullActual
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualPtrEachEqualNullActual(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2295
      start: 2286
    functionDepth: 0
    functionLinenumber: 2286
    functionLinenumberEnd: 2295
    functionName: testNotEqualPtrEachEqual1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualPtrEachEqual1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2306
      start: 2297
    functionDepth: 0
    functionLinenumber: 2297
    functionLinenumberEnd: 2306
    functionName: testNotEqualPtrEachEqual2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualPtrEachEqual2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2317
      start: 2308
    functionDepth: 0
    functionLinenumber: 2308
    functionLinenumberEnd: 2317
    functionName: testNotEqualPtrEachEqual3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualPtrEachEqual3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_INT8_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2326,1
    - Dst: TEST_ASSERT_EQUAL_INT8_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2327,1
    - Dst: TEST_ASSERT_EQUAL_INT8_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2328,1
    - Dst: TEST_ASSERT_EQUAL_INT8_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2329,1
    - Dst: TEST_ASSERT_EQUAL_INT8_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2331
      start: 2319
    functionDepth: 1
    functionLinenumber: 2319
    functionLinenumberEnd: 2331
    functionName: testEqualInt8Arrays
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_INT8_ARRAY
    linkageType: ''
    returnType: void
    signature: void testEqualInt8Arrays(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2341
      start: 2333
    functionDepth: 0
    functionLinenumber: 2333
    functionLinenumberEnd: 2341
    functionName: testNotEqualInt8Arrays
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualInt8Arrays(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EACH_EQUAL_INT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2350,1
    - Dst: TEST_ASSERT_EACH_EQUAL_INT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2351,1
    - Dst: TEST_ASSERT_EACH_EQUAL_INT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2352,1
    - Dst: TEST_ASSERT_EACH_EQUAL_INT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2353,1
    - Dst: TEST_ASSERT_EACH_EQUAL_INT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2355
      start: 2343
    functionDepth: 1
    functionLinenumber: 2343
    functionLinenumberEnd: 2355
    functionName: testEqualInt8EachEqual
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EACH_EQUAL_INT8
    linkageType: ''
    returnType: void
    signature: void testEqualInt8EachEqual(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2364
      start: 2357
    functionDepth: 0
    functionLinenumber: 2357
    functionLinenumberEnd: 2364
    functionName: testNotEqualInt8EachEqual
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualInt8EachEqual(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_UINT_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2373,1
    - Dst: TEST_ASSERT_EQUAL_UINT_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2374,1
    - Dst: TEST_ASSERT_EQUAL_UINT_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2375,1
    - Dst: TEST_ASSERT_EQUAL_UINT_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2376,1
    - Dst: TEST_ASSERT_EQUAL_UINT_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2378
      start: 2366
    functionDepth: 1
    functionLinenumber: 2366
    functionLinenumberEnd: 2378
    functionName: testEqualUIntArrays
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_UINT_ARRAY
    linkageType: ''
    returnType: void
    signature: void testEqualUIntArrays(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2388
      start: 2380
    functionDepth: 0
    functionLinenumber: 2380
    functionLinenumberEnd: 2388
    functionName: testNotEqualUIntArrays1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualUIntArrays1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2398
      start: 2390
    functionDepth: 0
    functionLinenumber: 2390
    functionLinenumberEnd: 2398
    functionName: testNotEqualUIntArrays2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualUIntArrays2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2408
      start: 2400
    functionDepth: 0
    functionLinenumber: 2400
    functionLinenumberEnd: 2408
    functionName: testNotEqualUIntArrays3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualUIntArrays3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EACH_EQUAL_UINT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2417,1
    - Dst: TEST_ASSERT_EACH_EQUAL_UINT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2418,1
    - Dst: TEST_ASSERT_EACH_EQUAL_UINT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2419,1
    - Dst: TEST_ASSERT_EACH_EQUAL_UINT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2420,1
    - Dst: TEST_ASSERT_EACH_EQUAL_UINT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2422
      start: 2410
    functionDepth: 1
    functionLinenumber: 2410
    functionLinenumberEnd: 2422
    functionName: testEqualUIntEachEqual
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EACH_EQUAL_UINT
    linkageType: ''
    returnType: void
    signature: void testEqualUIntEachEqual(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2424
    functionDepth: 0
    functionLinenumber: 2424
    functionLinenumberEnd: 2431
    functionName: testNotEqualUIntEachEqual1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualUIntEachEqual1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2433
    functionDepth: 0
    functionLinenumber: 2433
    functionLinenumberEnd: 2440
    functionName: testNotEqualUIntEachEqual2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualUIntEachEqual2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2449
      start: 2442
    functionDepth: 0
    functionLinenumber: 2442
    functionLinenumberEnd: 2449
    functionName: testNotEqualUIntEachEqual3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualUIntEachEqual3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_INT16_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2458,1
    - Dst: TEST_ASSERT_EQUAL_INT16_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2459,1
    - Dst: TEST_ASSERT_EQUAL_INT16_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2460,1
    - Dst: TEST_ASSERT_EQUAL_INT16_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2461,1
    - Dst: TEST_ASSERT_EQUAL_INT16_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2463
      start: 2451
    functionDepth: 1
    functionLinenumber: 2451
    functionLinenumberEnd: 2463
    functionName: testEqualInt16Arrays
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_INT16_ARRAY
    linkageType: ''
    returnType: void
    signature: void testEqualInt16Arrays(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2473
      start: 2465
    functionDepth: 0
    functionLinenumber: 2465
    functionLinenumberEnd: 2473
    functionName: testNotEqualInt16Arrays
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualInt16Arrays(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EACH_EQUAL_INT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2482,1
    - Dst: TEST_ASSERT_EACH_EQUAL_INT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2483,1
    - Dst: TEST_ASSERT_EACH_EQUAL_INT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2484,1
    - Dst: TEST_ASSERT_EACH_EQUAL_INT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2485,1
    - Dst: TEST_ASSERT_EACH_EQUAL_INT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2475
    functionDepth: 1
    functionLinenumber: 2475
    functionLinenumberEnd: 2487
    functionName: testEqualInt16EachEqual
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EACH_EQUAL_INT16
    linkageType: ''
    returnType: void
    signature: void testEqualInt16EachEqual(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2496
      start: 2489
    functionDepth: 0
    functionLinenumber: 2489
    functionLinenumberEnd: 2496
    functionName: testNotEqualInt16EachEqual
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualInt16EachEqual(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_INT32_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2505,1
    - Dst: TEST_ASSERT_EQUAL_INT32_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2506,1
    - Dst: TEST_ASSERT_EQUAL_INT32_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2507,1
    - Dst: TEST_ASSERT_EQUAL_INT32_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2508,1
    - Dst: TEST_ASSERT_EQUAL_INT32_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2510
      start: 2498
    functionDepth: 1
    functionLinenumber: 2498
    functionLinenumberEnd: 2510
    functionName: testEqualInt32Arrays
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_INT32_ARRAY
    linkageType: ''
    returnType: void
    signature: void testEqualInt32Arrays(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2520
      start: 2512
    functionDepth: 0
    functionLinenumber: 2512
    functionLinenumberEnd: 2520
    functionName: testNotEqualInt32Arrays
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualInt32Arrays(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EACH_EQUAL_INT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2529,1
    - Dst: TEST_ASSERT_EACH_EQUAL_INT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2530,1
    - Dst: TEST_ASSERT_EACH_EQUAL_INT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2531,1
    - Dst: TEST_ASSERT_EACH_EQUAL_INT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2532,1
    - Dst: TEST_ASSERT_EACH_EQUAL_INT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2534
      start: 2522
    functionDepth: 1
    functionLinenumber: 2522
    functionLinenumberEnd: 2534
    functionName: testEqualInt32EachEqual
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EACH_EQUAL_INT32
    linkageType: ''
    returnType: void
    signature: void testEqualInt32EachEqual(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2543
      start: 2536
    functionDepth: 0
    functionLinenumber: 2536
    functionLinenumberEnd: 2543
    functionName: testNotEqualInt32EachEqual
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualInt32EachEqual(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_UINT8_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2552,1
    - Dst: TEST_ASSERT_EQUAL_UINT8_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2553,1
    - Dst: TEST_ASSERT_EQUAL_UINT8_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2554,1
    - Dst: TEST_ASSERT_EQUAL_UINT8_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2555,1
    - Dst: TEST_ASSERT_EQUAL_UINT8_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2557
      start: 2545
    functionDepth: 1
    functionLinenumber: 2545
    functionLinenumberEnd: 2557
    functionName: testEqualUINT8Arrays
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_UINT8_ARRAY
    linkageType: ''
    returnType: void
    signature: void testEqualUINT8Arrays(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2567
      start: 2559
    functionDepth: 0
    functionLinenumber: 2559
    functionLinenumberEnd: 2567
    functionName: testNotEqualUINT8Arrays1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualUINT8Arrays1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2577
      start: 2569
    functionDepth: 0
    functionLinenumber: 2569
    functionLinenumberEnd: 2577
    functionName: testNotEqualUINT8Arrays2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualUINT8Arrays2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2587
      start: 2579
    functionDepth: 0
    functionLinenumber: 2579
    functionLinenumberEnd: 2587
    functionName: testNotEqualUINT8Arrays3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualUINT8Arrays3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_UINT16_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2597,1
    - Dst: TEST_ASSERT_EQUAL_UINT16_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2598,1
    - Dst: TEST_ASSERT_EQUAL_UINT16_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2599,1
    - Dst: TEST_ASSERT_EQUAL_UINT16_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2600,1
    - Dst: TEST_ASSERT_EQUAL_UINT16_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2602
      start: 2590
    functionDepth: 1
    functionLinenumber: 2590
    functionLinenumberEnd: 2602
    functionName: testEqualUINT16Arrays
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_UINT16_ARRAY
    linkageType: ''
    returnType: void
    signature: void testEqualUINT16Arrays(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2612
      start: 2604
    functionDepth: 0
    functionLinenumber: 2604
    functionLinenumberEnd: 2612
    functionName: testNotEqualUINT16Arrays1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualUINT16Arrays1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2622
      start: 2614
    functionDepth: 0
    functionLinenumber: 2614
    functionLinenumberEnd: 2622
    functionName: testNotEqualUINT16Arrays2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualUINT16Arrays2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2632
      start: 2624
    functionDepth: 0
    functionLinenumber: 2624
    functionLinenumberEnd: 2632
    functionName: testNotEqualUINT16Arrays3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualUINT16Arrays3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_UINT32_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2641,1
    - Dst: TEST_ASSERT_EQUAL_UINT32_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2642,1
    - Dst: TEST_ASSERT_EQUAL_UINT32_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2643,1
    - Dst: TEST_ASSERT_EQUAL_UINT32_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2644,1
    - Dst: TEST_ASSERT_EQUAL_UINT32_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2646
      start: 2634
    functionDepth: 1
    functionLinenumber: 2634
    functionLinenumberEnd: 2646
    functionName: testEqualUINT32Arrays
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_UINT32_ARRAY
    linkageType: ''
    returnType: void
    signature: void testEqualUINT32Arrays(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2656
      start: 2648
    functionDepth: 0
    functionLinenumber: 2648
    functionLinenumberEnd: 2656
    functionName: testNotEqualUINT32Arrays1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualUINT32Arrays1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2666
      start: 2658
    functionDepth: 0
    functionLinenumber: 2658
    functionLinenumberEnd: 2666
    functionName: testNotEqualUINT32Arrays2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualUINT32Arrays2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2668
    functionDepth: 0
    functionLinenumber: 2668
    functionLinenumberEnd: 2676
    functionName: testNotEqualUINT32Arrays3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualUINT32Arrays3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_HEX_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2685,1
    - Dst: TEST_ASSERT_EQUAL_HEX_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2686,1
    - Dst: TEST_ASSERT_EQUAL_HEX_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2687,1
    - Dst: TEST_ASSERT_EQUAL_HEX32_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2688,1
    - Dst: TEST_ASSERT_EQUAL_HEX32_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2690
      start: 2678
    functionDepth: 1
    functionLinenumber: 2678
    functionLinenumberEnd: 2690
    functionName: testEqualHEXArrays
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_HEX_ARRAY
    - TEST_ASSERT_EQUAL_HEX32_ARRAY
    linkageType: ''
    returnType: void
    signature: void testEqualHEXArrays(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2700
      start: 2692
    functionDepth: 0
    functionLinenumber: 2692
    functionLinenumberEnd: 2700
    functionName: testNotEqualHEXArrays1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualHEXArrays1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2710
      start: 2702
    functionDepth: 0
    functionLinenumber: 2702
    functionLinenumberEnd: 2710
    functionName: testNotEqualHEXArrays2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualHEXArrays2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2720
      start: 2712
    functionDepth: 0
    functionLinenumber: 2712
    functionLinenumberEnd: 2720
    functionName: testNotEqualHEXArrays3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualHEXArrays3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_HEX32_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2729,1
    - Dst: TEST_ASSERT_EQUAL_HEX32_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2730,1
    - Dst: TEST_ASSERT_EQUAL_HEX32_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2731,1
    - Dst: TEST_ASSERT_EQUAL_HEX32_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2732,1
    - Dst: TEST_ASSERT_EQUAL_HEX32_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2734
      start: 2722
    functionDepth: 1
    functionLinenumber: 2722
    functionLinenumberEnd: 2734
    functionName: testEqualHEX32Arrays
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_HEX32_ARRAY
    linkageType: ''
    returnType: void
    signature: void testEqualHEX32Arrays(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2744
      start: 2736
    functionDepth: 0
    functionLinenumber: 2736
    functionLinenumberEnd: 2744
    functionName: testNotEqualHEX32Arrays1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualHEX32Arrays1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2754
      start: 2746
    functionDepth: 0
    functionLinenumber: 2746
    functionLinenumberEnd: 2754
    functionName: testNotEqualHEX32Arrays2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualHEX32Arrays2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2756
    functionDepth: 0
    functionLinenumber: 2756
    functionLinenumberEnd: 2764
    functionName: testNotEqualHEX32Arrays3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualHEX32Arrays3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_HEX16_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2773,1
    - Dst: TEST_ASSERT_EQUAL_HEX16_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2774,1
    - Dst: TEST_ASSERT_EQUAL_HEX16_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2775,1
    - Dst: TEST_ASSERT_EQUAL_HEX16_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2776,1
    - Dst: TEST_ASSERT_EQUAL_HEX16_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2778
      start: 2766
    functionDepth: 1
    functionLinenumber: 2766
    functionLinenumberEnd: 2778
    functionName: testEqualHEX16Arrays
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_HEX16_ARRAY
    linkageType: ''
    returnType: void
    signature: void testEqualHEX16Arrays(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2788
      start: 2780
    functionDepth: 0
    functionLinenumber: 2780
    functionLinenumberEnd: 2788
    functionName: testNotEqualHEX16Arrays1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualHEX16Arrays1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2798
      start: 2790
    functionDepth: 0
    functionLinenumber: 2790
    functionLinenumberEnd: 2798
    functionName: testNotEqualHEX16Arrays2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualHEX16Arrays2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2808
      start: 2800
    functionDepth: 0
    functionLinenumber: 2800
    functionLinenumberEnd: 2808
    functionName: testNotEqualHEX16Arrays3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualHEX16Arrays3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_HEX8_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2817,1
    - Dst: TEST_ASSERT_EQUAL_HEX8_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2818,1
    - Dst: TEST_ASSERT_EQUAL_HEX8_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2819,1
    - Dst: TEST_ASSERT_EQUAL_HEX8_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2820,1
    - Dst: TEST_ASSERT_EQUAL_HEX8_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2822
      start: 2810
    functionDepth: 1
    functionLinenumber: 2810
    functionLinenumberEnd: 2822
    functionName: testEqualHEX8Arrays
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_HEX8_ARRAY
    linkageType: ''
    returnType: void
    signature: void testEqualHEX8Arrays(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2832
      start: 2824
    functionDepth: 0
    functionLinenumber: 2824
    functionLinenumberEnd: 2832
    functionName: testNotEqualHEX8Arrays1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualHEX8Arrays1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2842
      start: 2834
    functionDepth: 0
    functionLinenumber: 2834
    functionLinenumberEnd: 2842
    functionName: testNotEqualHEX8Arrays2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualHEX8Arrays2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2852
      start: 2844
    functionDepth: 0
    functionLinenumber: 2844
    functionLinenumberEnd: 2852
    functionName: testNotEqualHEX8Arrays3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualHEX8Arrays3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EACH_EQUAL_UINT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2861,1
    - Dst: TEST_ASSERT_EACH_EQUAL_UINT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2862,1
    - Dst: TEST_ASSERT_EACH_EQUAL_UINT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2863,1
    - Dst: TEST_ASSERT_EACH_EQUAL_UINT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2864,1
    - Dst: TEST_ASSERT_EACH_EQUAL_UINT8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2866
      start: 2854
    functionDepth: 1
    functionLinenumber: 2854
    functionLinenumberEnd: 2866
    functionName: testEqualUINT8EachEqual
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EACH_EQUAL_UINT8
    linkageType: ''
    returnType: void
    signature: void testEqualUINT8EachEqual(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2875
      start: 2868
    functionDepth: 0
    functionLinenumber: 2868
    functionLinenumberEnd: 2875
    functionName: testNotEqualUINT8EachEqual1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualUINT8EachEqual1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2884
      start: 2877
    functionDepth: 0
    functionLinenumber: 2877
    functionLinenumberEnd: 2884
    functionName: testNotEqualUINT8EachEqual2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualUINT8EachEqual2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2893
      start: 2886
    functionDepth: 0
    functionLinenumber: 2886
    functionLinenumberEnd: 2893
    functionName: testNotEqualUINT8EachEqual3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualUINT8EachEqual3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EACH_EQUAL_UINT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2902,1
    - Dst: TEST_ASSERT_EACH_EQUAL_UINT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2903,1
    - Dst: TEST_ASSERT_EACH_EQUAL_UINT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2904,1
    - Dst: TEST_ASSERT_EACH_EQUAL_UINT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2905,1
    - Dst: TEST_ASSERT_EACH_EQUAL_UINT16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2906,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2907
      start: 2895
    functionDepth: 1
    functionLinenumber: 2895
    functionLinenumberEnd: 2907
    functionName: testEqualUINT16EachEqual
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EACH_EQUAL_UINT16
    linkageType: ''
    returnType: void
    signature: void testEqualUINT16EachEqual(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2916
      start: 2909
    functionDepth: 0
    functionLinenumber: 2909
    functionLinenumberEnd: 2916
    functionName: testNotEqualUINT16EachEqual1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualUINT16EachEqual1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2925
      start: 2918
    functionDepth: 0
    functionLinenumber: 2918
    functionLinenumberEnd: 2925
    functionName: testNotEqualUINT16EachEqual2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualUINT16EachEqual2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2934
      start: 2927
    functionDepth: 0
    functionLinenumber: 2927
    functionLinenumberEnd: 2934
    functionName: testNotEqualUINT16EachEqual3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualUINT16EachEqual3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EACH_EQUAL_UINT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2943,1
    - Dst: TEST_ASSERT_EACH_EQUAL_UINT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2944,1
    - Dst: TEST_ASSERT_EACH_EQUAL_UINT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2945,1
    - Dst: TEST_ASSERT_EACH_EQUAL_UINT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2946,1
    - Dst: TEST_ASSERT_EACH_EQUAL_UINT32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2948
      start: 2936
    functionDepth: 1
    functionLinenumber: 2936
    functionLinenumberEnd: 2948
    functionName: testEqualUINT32EachEqual
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EACH_EQUAL_UINT32
    linkageType: ''
    returnType: void
    signature: void testEqualUINT32EachEqual(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2957
      start: 2950
    functionDepth: 0
    functionLinenumber: 2950
    functionLinenumberEnd: 2957
    functionName: testNotEqualUINT32EachEqual1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualUINT32EachEqual1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2966
      start: 2959
    functionDepth: 0
    functionLinenumber: 2959
    functionLinenumberEnd: 2966
    functionName: testNotEqualUINT32EachEqual2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualUINT32EachEqual2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2975
      start: 2968
    functionDepth: 0
    functionLinenumber: 2968
    functionLinenumberEnd: 2975
    functionName: testNotEqualUINT32EachEqual3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualUINT32EachEqual3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EACH_EQUAL_HEX
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2984,1
    - Dst: TEST_ASSERT_EACH_EQUAL_HEX
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2985,1
    - Dst: TEST_ASSERT_EACH_EQUAL_HEX
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2986,1
    - Dst: TEST_ASSERT_EACH_EQUAL_HEX
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2987,1
    - Dst: TEST_ASSERT_EACH_EQUAL_HEX
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:2988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2989
      start: 2977
    functionDepth: 1
    functionLinenumber: 2977
    functionLinenumberEnd: 2989
    functionName: testEqualHEXEachEqual
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EACH_EQUAL_HEX
    linkageType: ''
    returnType: void
    signature: void testEqualHEXEachEqual(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2998
      start: 2991
    functionDepth: 0
    functionLinenumber: 2991
    functionLinenumberEnd: 2998
    functionName: testNotEqualHEXEachEqual1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualHEXEachEqual1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3007
      start: 3000
    functionDepth: 0
    functionLinenumber: 3000
    functionLinenumberEnd: 3007
    functionName: testNotEqualHEXEachEqual2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualHEXEachEqual2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3016
      start: 3009
    functionDepth: 0
    functionLinenumber: 3009
    functionLinenumberEnd: 3016
    functionName: testNotEqualHEXEachEqual3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualHEXEachEqual3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EACH_EQUAL_HEX32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3025,1
    - Dst: TEST_ASSERT_EACH_EQUAL_HEX32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3026,1
    - Dst: TEST_ASSERT_EACH_EQUAL_HEX32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3027,1
    - Dst: TEST_ASSERT_EACH_EQUAL_HEX32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3028,1
    - Dst: TEST_ASSERT_EACH_EQUAL_HEX32
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3030
      start: 3018
    functionDepth: 1
    functionLinenumber: 3018
    functionLinenumberEnd: 3030
    functionName: testEqualHEX32EachEqual
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EACH_EQUAL_HEX32
    linkageType: ''
    returnType: void
    signature: void testEqualHEX32EachEqual(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3039
      start: 3032
    functionDepth: 0
    functionLinenumber: 3032
    functionLinenumberEnd: 3039
    functionName: testNotEqualHEX32EachEqual1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualHEX32EachEqual1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3048
      start: 3041
    functionDepth: 0
    functionLinenumber: 3041
    functionLinenumberEnd: 3048
    functionName: testNotEqualHEX32EachEqual2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualHEX32EachEqual2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3057
      start: 3050
    functionDepth: 0
    functionLinenumber: 3050
    functionLinenumberEnd: 3057
    functionName: testNotEqualHEX32EachEqual3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualHEX32EachEqual3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EACH_EQUAL_HEX16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3066,1
    - Dst: TEST_ASSERT_EACH_EQUAL_HEX16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3067,1
    - Dst: TEST_ASSERT_EACH_EQUAL_HEX16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3068,1
    - Dst: TEST_ASSERT_EACH_EQUAL_HEX16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3069,1
    - Dst: TEST_ASSERT_EACH_EQUAL_HEX16
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3071
      start: 3059
    functionDepth: 1
    functionLinenumber: 3059
    functionLinenumberEnd: 3071
    functionName: testEqualHEX16EachEqual
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EACH_EQUAL_HEX16
    linkageType: ''
    returnType: void
    signature: void testEqualHEX16EachEqual(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3080
      start: 3073
    functionDepth: 0
    functionLinenumber: 3073
    functionLinenumberEnd: 3080
    functionName: testNotEqualHEX16EachEqual1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualHEX16EachEqual1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3089
      start: 3082
    functionDepth: 0
    functionLinenumber: 3082
    functionLinenumberEnd: 3089
    functionName: testNotEqualHEX16EachEqual2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualHEX16EachEqual2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3098
      start: 3091
    functionDepth: 0
    functionLinenumber: 3091
    functionLinenumberEnd: 3098
    functionName: testNotEqualHEX16EachEqual3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualHEX16EachEqual3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EACH_EQUAL_HEX8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3107,1
    - Dst: TEST_ASSERT_EACH_EQUAL_HEX8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3108,1
    - Dst: TEST_ASSERT_EACH_EQUAL_HEX8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3109,1
    - Dst: TEST_ASSERT_EACH_EQUAL_HEX8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3110,1
    - Dst: TEST_ASSERT_EACH_EQUAL_HEX8
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3112
      start: 3100
    functionDepth: 1
    functionLinenumber: 3100
    functionLinenumberEnd: 3112
    functionName: testEqualHEX8EachEqual
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EACH_EQUAL_HEX8
    linkageType: ''
    returnType: void
    signature: void testEqualHEX8EachEqual(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3121
      start: 3114
    functionDepth: 0
    functionLinenumber: 3114
    functionLinenumberEnd: 3121
    functionName: testNotEqualHEX8EachEqual1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualHEX8EachEqual1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3130
      start: 3123
    functionDepth: 0
    functionLinenumber: 3123
    functionLinenumberEnd: 3130
    functionName: testNotEqualHEX8EachEqual2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualHEX8EachEqual2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3139
      start: 3132
    functionDepth: 0
    functionLinenumber: 3132
    functionLinenumberEnd: 3139
    functionName: testNotEqualHEX8EachEqual3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualHEX8EachEqual3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_MEMORY_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3148,1
    - Dst: TEST_ASSERT_EQUAL_MEMORY_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3149,1
    - Dst: TEST_ASSERT_EQUAL_MEMORY_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3150,1
    - Dst: TEST_ASSERT_EQUAL_MEMORY_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3151,1
    - Dst: TEST_ASSERT_EQUAL_MEMORY_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3153
      start: 3141
    functionDepth: 1
    functionLinenumber: 3141
    functionLinenumberEnd: 3153
    functionName: testEqualMemoryArrays
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_MEMORY_ARRAY
    linkageType: ''
    returnType: void
    signature: void testEqualMemoryArrays(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3163
      start: 3155
    functionDepth: 0
    functionLinenumber: 3155
    functionLinenumberEnd: 3163
    functionName: testNotEqualMemoryArraysExpectedNull
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualMemoryArraysExpectedNull(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3173
      start: 3165
    functionDepth: 0
    functionLinenumber: 3165
    functionLinenumberEnd: 3173
    functionName: testNotEqualMemoryArraysActualNull
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualMemoryArraysActualNull(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3183
      start: 3175
    functionDepth: 0
    functionLinenumber: 3175
    functionLinenumberEnd: 3183
    functionName: testNotEqualMemoryArrays1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualMemoryArrays1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3193
      start: 3185
    functionDepth: 0
    functionLinenumber: 3185
    functionLinenumberEnd: 3193
    functionName: testNotEqualMemoryArrays2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualMemoryArrays2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3203
      start: 3195
    functionDepth: 0
    functionLinenumber: 3195
    functionLinenumberEnd: 3203
    functionName: testNotEqualMemoryArrays3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualMemoryArrays3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EACH_EQUAL_MEMORY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3213,1
    - Dst: TEST_ASSERT_EACH_EQUAL_MEMORY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3214,1
    - Dst: TEST_ASSERT_EACH_EQUAL_MEMORY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3215,1
    - Dst: TEST_ASSERT_EACH_EQUAL_MEMORY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3216,1
    - Dst: TEST_ASSERT_EACH_EQUAL_MEMORY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3218
      start: 3205
    functionDepth: 1
    functionLinenumber: 3205
    functionLinenumberEnd: 3218
    functionName: testEqualMemoryEachEqual
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EACH_EQUAL_MEMORY
    linkageType: ''
    returnType: void
    signature: void testEqualMemoryEachEqual(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3228
      start: 3220
    functionDepth: 0
    functionLinenumber: 3220
    functionLinenumberEnd: 3228
    functionName: testNotEqualMemoryEachEqualExpectedNull
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualMemoryEachEqualExpectedNull(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3238
      start: 3230
    functionDepth: 0
    functionLinenumber: 3230
    functionLinenumberEnd: 3238
    functionName: testNotEqualMemoryEachEqualActualNull
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualMemoryEachEqualActualNull(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3248
      start: 3240
    functionDepth: 0
    functionLinenumber: 3240
    functionLinenumberEnd: 3248
    functionName: testNotEqualMemoryEachEqual1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualMemoryEachEqual1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3258
      start: 3250
    functionDepth: 0
    functionLinenumber: 3250
    functionLinenumberEnd: 3258
    functionName: testNotEqualMemoryEachEqual2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualMemoryEachEqual2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3268
      start: 3260
    functionDepth: 0
    functionLinenumber: 3260
    functionLinenumberEnd: 3268
    functionName: testNotEqualMemoryEachEqual3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void testNotEqualMemoryEachEqual3(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_PROTECT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3274,1
    - Dst: TEST_ABORT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3277,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3286
      start: 3270
    functionDepth: 1
    functionLinenumber: 3270
    functionLinenumberEnd: 3286
    functionName: testProtection
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_PROTECT
    - TEST_ABORT
    - TEST_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void testProtection(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3292
      start: 3288
    functionDepth: 1
    functionLinenumber: 3288
    functionLinenumberEnd: 3292
    functionName: testIgnoredAndThenFailInTearDown
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testIgnoredAndThenFailInTearDown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3296
      start: 3295
    functionDepth: 0
    functionLinenumber: 3295
    functionLinenumberEnd: 3296
    functionName: USING_SPY_AS
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: USING_SPY_AS(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3297
      start: 3296
    functionDepth: 0
    functionLinenumber: 3296
    functionLinenumberEnd: 3297
    functionName: ASSIGN_VALUE
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSIGN_VALUE(a)
  - 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: 3299
      start: 3298
    functionDepth: 0
    functionLinenumber: 3298
    functionLinenumberEnd: 3299
    functionName: EXPAND_AND_USE_2ND
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPAND_AND_USE_2ND(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3300
      start: 3299
    functionDepth: 0
    functionLinenumber: 3299
    functionLinenumberEnd: 3300
    functionName: SECOND_PARAM
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECOND_PARAM(a, b, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3312
      start: 3312
    functionDepth: 0
    functionLinenumber: 3312
    functionLinenumberEnd: 3312
    functionName: startPutcharSpy
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void startPutcharSpy(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3314
      start: 3314
    functionDepth: 0
    functionLinenumber: 3314
    functionLinenumberEnd: 3314
    functionName: endPutcharSpy
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void endPutcharSpy(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3324
      start: 3316
    functionDepth: 0
    functionLinenumber: 3316
    functionLinenumberEnd: 3324
    functionName: getBufferPutcharSpy
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * getBufferPutcharSpy(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3336
      start: 3326
    functionDepth: 0
    functionLinenumber: 3326
    functionLinenumberEnd: 3336
    functionName: putcharSpy
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - putchar
    linkageType: ''
    returnType: void
    signature: void putcharSpy(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: startPutcharSpy
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3342,1
    - Dst: UnityConcludeTest
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3343,1
    - Dst: endPutcharSpy
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3344,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3345,1
    - Dst: startPutcharSpy
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3347,1
    - Dst: UnityEnd
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3348,1
    - Dst: endPutcharSpy
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3350,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3352
      start: 3338
    functionDepth: 1
    functionLinenumber: 3338
    functionLinenumberEnd: 3352
    functionName: testFailureCountIncrementsAndIsReturnedAtEnd
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - UnityConcludeTest
    - startPutcharSpy
    - UnityEnd
    - endPutcharSpy
    - TEST_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void testFailureCountIncrementsAndIsReturnedAtEnd(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3357,1
    - Dst: startPutcharSpy
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3359,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3360,1
    - Dst: endPutcharSpy
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3361,1
    - Dst: TEST_ASSERT_EQUAL_STRING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3362,1
    - Dst: getBufferPutcharSpy
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3364
      start: 3354
    functionDepth: 1
    functionLinenumber: 3354
    functionLinenumberEnd: 3364
    functionName: testCstringsEscapeSequence
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - UnityPrint
    - TEST_IGNORE
    - startPutcharSpy
    - TEST_ASSERT_EQUAL_STRING
    - endPutcharSpy
    - getBufferPutcharSpy
    linkageType: ''
    returnType: void
    signature: void testCstringsEscapeSequence(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3369,1
    - Dst: startPutcharSpy
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3371,1
    - Dst: UnityPrintNumberHex
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3372,1
    - Dst: endPutcharSpy
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3373,1
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3374,1
    - Dst: strlen
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3374,1
    - Dst: getBufferPutcharSpy
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3376
      start: 3366
    functionDepth: 1
    functionLinenumber: 3366
    functionLinenumberEnd: 3376
    functionName: testHexPrintsUpToMaxNumberOfNibbles
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_INT
    - TEST_IGNORE
    - startPutcharSpy
    - UnityPrintNumberHex
    - strlen
    - endPutcharSpy
    - getBufferPutcharSpy
    linkageType: ''
    returnType: void
    signature: void testHexPrintsUpToMaxNumberOfNibbles(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3382
      start: 3378
    functionDepth: 0
    functionLinenumber: 3378
    functionLinenumberEnd: 3382
    functionName: TEST_ASSERT_EQUAL_PRINT_NUMBERS
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_PRINT_NUMBERS(expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3387
      start: 3383
    functionDepth: 0
    functionLinenumber: 3383
    functionLinenumberEnd: 3387
    functionName: TEST_ASSERT_EQUAL_PRINT_UNSIGNED_NUMBERS
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_PRINT_UNSIGNED_NUMBERS(expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE_MESSAGE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3391,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_NUMBERS
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3393,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_NUMBERS
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3394,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_NUMBERS
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3395,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_NUMBERS
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3396,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_NUMBERS
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3397,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_NUMBERS
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3400
      start: 3388
    functionDepth: 1
    functionLinenumber: 3388
    functionLinenumberEnd: 3400
    functionName: testPrintNumbers32
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_PRINT_NUMBERS
    - TEST_IGNORE_MESSAGE
    linkageType: ''
    returnType: void
    signature: void testPrintNumbers32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3405,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_UNSIGNED_NUMBERS
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3407,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_UNSIGNED_NUMBERS
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3408,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_UNSIGNED_NUMBERS
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3409,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_UNSIGNED_NUMBERS
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3410,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_UNSIGNED_NUMBERS
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3413
      start: 3402
    functionDepth: 1
    functionLinenumber: 3402
    functionLinenumberEnd: 3413
    functionName: testPrintNumbersUnsigned32
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EQUAL_PRINT_UNSIGNED_NUMBERS
    linkageType: ''
    returnType: void
    signature: void testPrintNumbersUnsigned32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3420,1
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3423,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_NUMBERS
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3425,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_NUMBERS
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3426,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_NUMBERS
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3427,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_NUMBERS
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3431
      start: 3417
    functionDepth: 1
    functionLinenumber: 3417
    functionLinenumberEnd: 3431
    functionName: testPrintNumbersInt64
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EQUAL_PRINT_NUMBERS
    linkageType: ''
    returnType: void
    signature: void testPrintNumbersInt64(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3436,1
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3439,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_UNSIGNED_NUMBERS
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3441,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_UNSIGNED_NUMBERS
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3442,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_UNSIGNED_NUMBERS
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3443,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_UNSIGNED_NUMBERS
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3447
      start: 3433
    functionDepth: 1
    functionLinenumber: 3433
    functionLinenumberEnd: 3447
    functionName: testPrintNumbersUInt64
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EQUAL_PRINT_UNSIGNED_NUMBERS
    linkageType: ''
    returnType: void
    signature: void testPrintNumbersUInt64(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3452,1
    - Dst: TEST_ASSERT_EQUAL_HEX64
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3462,1
    - Dst: TEST_ASSERT_EQUAL_HEX64
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3463,1
    - Dst: TEST_ASSERT_EQUAL_HEX64
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3464,1
    - Dst: TEST_ASSERT_EQUAL_HEX64
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3465,1
    - Dst: TEST_ASSERT_EQUAL_HEX64
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3466,1
    - Dst: TEST_ASSERT_EQUAL_HEX64
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3467,1
    - Dst: TEST_ASSERT_EQUAL_HEX64
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3470
      start: 3449
    functionDepth: 1
    functionLinenumber: 3449
    functionLinenumberEnd: 3470
    functionName: testEqualHex64s
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EQUAL_HEX64
    linkageType: ''
    returnType: void
    signature: void testEqualHex64s(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3475,1
    - Dst: TEST_ASSERT_EQUAL_UINT64
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3485,1
    - Dst: TEST_ASSERT_EQUAL_UINT64
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3486,1
    - Dst: TEST_ASSERT_EQUAL_UINT64
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3487,1
    - Dst: TEST_ASSERT_EQUAL_UINT64
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3488,1
    - Dst: TEST_ASSERT_EQUAL_UINT64
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3489,1
    - Dst: TEST_ASSERT_EQUAL_UINT64
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3490,1
    - Dst: TEST_ASSERT_EQUAL_UINT64
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3493
      start: 3472
    functionDepth: 1
    functionLinenumber: 3472
    functionLinenumberEnd: 3493
    functionName: testEqualUint64s
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EQUAL_UINT64
    linkageType: ''
    returnType: void
    signature: void testEqualUint64s(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3498,1
    - Dst: TEST_ASSERT_EQUAL_INT64
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3508,1
    - Dst: TEST_ASSERT_EQUAL_INT64
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3509,1
    - Dst: TEST_ASSERT_EQUAL_INT64
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3510,1
    - Dst: TEST_ASSERT_EQUAL_INT64
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3511,1
    - Dst: TEST_ASSERT_EQUAL_INT64
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3512,1
    - Dst: TEST_ASSERT_EQUAL_INT64
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3513,1
    - Dst: TEST_ASSERT_EQUAL_INT64
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3516
      start: 3495
    functionDepth: 1
    functionLinenumber: 3495
    functionLinenumberEnd: 3516
    functionName: testEqualInt64s
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EQUAL_INT64
    linkageType: ''
    returnType: void
    signature: void testEqualInt64s(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3533
      start: 3519
    functionDepth: 1
    functionLinenumber: 3519
    functionLinenumberEnd: 3533
    functionName: testNotEqualHex64s
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualHex64s(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3549
      start: 3535
    functionDepth: 1
    functionLinenumber: 3535
    functionLinenumberEnd: 3549
    functionName: testNotEqualUint64s
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualUint64s(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3565
      start: 3551
    functionDepth: 1
    functionLinenumber: 3551
    functionLinenumberEnd: 3565
    functionName: testNotEqualInt64s
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualInt64s(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3581
      start: 3567
    functionDepth: 1
    functionLinenumber: 3567
    functionLinenumberEnd: 3581
    functionName: testNotEqualHex64sIfSigned
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualHex64sIfSigned(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3586,1
    - Dst: TEST_ASSERT_HEX64_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3588,1
    - Dst: TEST_ASSERT_HEX64_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3589,1
    - Dst: TEST_ASSERT_HEX64_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3592
      start: 3583
    functionDepth: 1
    functionLinenumber: 3583
    functionLinenumberEnd: 3592
    functionName: testHEX64sWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_HEX64_WITHIN
    linkageType: ''
    returnType: void
    signature: void testHEX64sWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3603
      start: 3594
    functionDepth: 1
    functionLinenumber: 3594
    functionLinenumberEnd: 3603
    functionName: testHEX64sNotWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testHEX64sNotWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3614
      start: 3605
    functionDepth: 1
    functionLinenumber: 3605
    functionLinenumberEnd: 3614
    functionName: testHEX64sNotWithinDeltaEvenThoughASignedIntWouldPass
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testHEX64sNotWithinDeltaEvenThoughASignedIntWouldPass(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3619,1
    - Dst: TEST_ASSERT_UINT64_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3621,1
    - Dst: TEST_ASSERT_UINT64_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3622,1
    - Dst: TEST_ASSERT_UINT64_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3625
      start: 3616
    functionDepth: 1
    functionLinenumber: 3616
    functionLinenumberEnd: 3625
    functionName: testUINT64sWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_UINT64_WITHIN
    linkageType: ''
    returnType: void
    signature: void testUINT64sWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3636
      start: 3627
    functionDepth: 1
    functionLinenumber: 3627
    functionLinenumberEnd: 3636
    functionName: testUINT64sNotWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testUINT64sNotWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3647
      start: 3638
    functionDepth: 1
    functionLinenumber: 3638
    functionLinenumberEnd: 3647
    functionName: testUINT64sNotWithinDeltaEvenThoughASignedIntWouldPass
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testUINT64sNotWithinDeltaEvenThoughASignedIntWouldPass(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3652,1
    - Dst: TEST_ASSERT_INT64_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3654,1
    - Dst: TEST_ASSERT_INT64_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3655,1
    - Dst: TEST_ASSERT_INT64_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3658
      start: 3649
    functionDepth: 1
    functionLinenumber: 3649
    functionLinenumberEnd: 3658
    functionName: testINT64sWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_INT64_WITHIN
    linkageType: ''
    returnType: void
    signature: void testINT64sWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3669
      start: 3660
    functionDepth: 1
    functionLinenumber: 3660
    functionLinenumberEnd: 3669
    functionName: testINT64sNotWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testINT64sNotWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3680
      start: 3671
    functionDepth: 1
    functionLinenumber: 3671
    functionLinenumberEnd: 3680
    functionName: testINT64sNotWithinDeltaAndDifferenceOverflows
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testINT64sNotWithinDeltaAndDifferenceOverflows(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3685,1
    - Dst: TEST_ASSERT_EQUAL_HEX64_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3692,1
    - Dst: TEST_ASSERT_EQUAL_HEX64_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3693,1
    - Dst: TEST_ASSERT_EQUAL_HEX64_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3694,1
    - Dst: TEST_ASSERT_EQUAL_HEX64_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3695,1
    - Dst: TEST_ASSERT_EQUAL_HEX64_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3698
      start: 3682
    functionDepth: 1
    functionLinenumber: 3682
    functionLinenumberEnd: 3698
    functionName: testEqualHEX64Arrays
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EQUAL_HEX64_ARRAY
    linkageType: ''
    returnType: void
    signature: void testEqualHEX64Arrays(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3703,1
    - Dst: TEST_ASSERT_EQUAL_UINT64_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3710,1
    - Dst: TEST_ASSERT_EQUAL_UINT64_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3711,1
    - Dst: TEST_ASSERT_EQUAL_UINT64_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3712,1
    - Dst: TEST_ASSERT_EQUAL_UINT64_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3713,1
    - Dst: TEST_ASSERT_EQUAL_UINT64_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3716
      start: 3700
    functionDepth: 1
    functionLinenumber: 3700
    functionLinenumberEnd: 3716
    functionName: testEqualUint64Arrays
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EQUAL_UINT64_ARRAY
    linkageType: ''
    returnType: void
    signature: void testEqualUint64Arrays(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3721,1
    - Dst: TEST_ASSERT_EQUAL_INT64_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3728,1
    - Dst: TEST_ASSERT_EQUAL_INT64_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3729,1
    - Dst: TEST_ASSERT_EQUAL_INT64_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3730,1
    - Dst: TEST_ASSERT_EQUAL_INT64_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3731,1
    - Dst: TEST_ASSERT_EQUAL_INT64_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3734
      start: 3718
    functionDepth: 1
    functionLinenumber: 3718
    functionLinenumberEnd: 3734
    functionName: testEqualInt64Arrays
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EQUAL_INT64_ARRAY
    linkageType: ''
    returnType: void
    signature: void testEqualInt64Arrays(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3749
      start: 3737
    functionDepth: 1
    functionLinenumber: 3737
    functionLinenumberEnd: 3749
    functionName: testNotEqualHEX64Arrays1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualHEX64Arrays1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3763
      start: 3751
    functionDepth: 1
    functionLinenumber: 3751
    functionLinenumberEnd: 3763
    functionName: testNotEqualHEX64Arrays2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualHEX64Arrays2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3777
      start: 3765
    functionDepth: 1
    functionLinenumber: 3765
    functionLinenumberEnd: 3777
    functionName: testNotEqualUint64Arrays
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualUint64Arrays(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3791
      start: 3779
    functionDepth: 1
    functionLinenumber: 3779
    functionLinenumberEnd: 3791
    functionName: testNotEqualInt64Arrays
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualInt64Arrays(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3797,1
    - Dst: TEST_ASSERT_FLOAT_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3799,1
    - Dst: TEST_ASSERT_FLOAT_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3800,1
    - Dst: TEST_ASSERT_FLOAT_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3801,1
    - Dst: TEST_ASSERT_FLOAT_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3804
      start: 3794
    functionDepth: 1
    functionLinenumber: 3794
    functionLinenumberEnd: 3804
    functionName: testFloatsWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_FLOAT_WITHIN
    linkageType: ''
    returnType: void
    signature: void testFloatsWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3815
      start: 3806
    functionDepth: 1
    functionLinenumber: 3806
    functionLinenumberEnd: 3815
    functionName: testFloatsNotWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testFloatsNotWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3820,1
    - Dst: TEST_ASSERT_EQUAL_FLOAT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3822,1
    - Dst: TEST_ASSERT_EQUAL_FLOAT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3823,1
    - Dst: TEST_ASSERT_EQUAL_FLOAT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3824,1
    - Dst: TEST_ASSERT_EQUAL_FLOAT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3827
      start: 3817
    functionDepth: 1
    functionLinenumber: 3817
    functionLinenumberEnd: 3827
    functionName: testFloatsEqual
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EQUAL_FLOAT
    linkageType: ''
    returnType: void
    signature: void testFloatsEqual(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3838
      start: 3829
    functionDepth: 1
    functionLinenumber: 3829
    functionLinenumberEnd: 3838
    functionName: testFloatsNotEqual
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testFloatsNotEqual(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3849
      start: 3840
    functionDepth: 1
    functionLinenumber: 3840
    functionLinenumberEnd: 3849
    functionName: testFloatsNotEqualNegative1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testFloatsNotEqualNegative1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3860
      start: 3851
    functionDepth: 1
    functionLinenumber: 3851
    functionLinenumberEnd: 3860
    functionName: testFloatsNotEqualNegative2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testFloatsNotEqualNegative2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3871
      start: 3862
    functionDepth: 1
    functionLinenumber: 3862
    functionLinenumberEnd: 3871
    functionName: testFloatsNotEqualActualNaN
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testFloatsNotEqualActualNaN(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3882
      start: 3873
    functionDepth: 1
    functionLinenumber: 3873
    functionLinenumberEnd: 3882
    functionName: testFloatsNotEqualExpectedNaN
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testFloatsNotEqualExpectedNaN(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3887,1
    - Dst: TEST_ASSERT_EQUAL_FLOAT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3891
      start: 3884
    functionDepth: 1
    functionLinenumber: 3884
    functionLinenumberEnd: 3891
    functionName: testFloatsEqualBothNaN
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EQUAL_FLOAT
    linkageType: ''
    returnType: void
    signature: void testFloatsEqualBothNaN(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3902
      start: 3893
    functionDepth: 1
    functionLinenumber: 3893
    functionLinenumberEnd: 3902
    functionName: testFloatsNotEqualInfNaN
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testFloatsNotEqualInfNaN(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3913
      start: 3904
    functionDepth: 1
    functionLinenumber: 3904
    functionLinenumberEnd: 3913
    functionName: testFloatsNotEqualNaNInf
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testFloatsNotEqualNaNInf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3924
      start: 3915
    functionDepth: 1
    functionLinenumber: 3915
    functionLinenumberEnd: 3924
    functionName: testFloatsNotEqualActualInf
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testFloatsNotEqualActualInf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3935
      start: 3926
    functionDepth: 1
    functionLinenumber: 3926
    functionLinenumberEnd: 3935
    functionName: testFloatsNotEqualExpectedInf
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testFloatsNotEqualExpectedInf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3940,1
    - Dst: TEST_ASSERT_EQUAL_FLOAT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3944
      start: 3937
    functionDepth: 1
    functionLinenumber: 3937
    functionLinenumberEnd: 3944
    functionName: testFloatsEqualBothInf
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EQUAL_FLOAT
    linkageType: ''
    returnType: void
    signature: void testFloatsEqualBothInf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3955
      start: 3946
    functionDepth: 1
    functionLinenumber: 3946
    functionLinenumberEnd: 3955
    functionName: testFloatsNotEqualPlusMinusInf
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testFloatsNotEqualPlusMinusInf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3960,1
    - Dst: TEST_ASSERT_FLOAT_IS_INF
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3964
      start: 3957
    functionDepth: 1
    functionLinenumber: 3957
    functionLinenumberEnd: 3964
    functionName: testFloatIsPosInf1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_FLOAT_IS_INF
    linkageType: ''
    returnType: void
    signature: void testFloatIsPosInf1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3975
      start: 3966
    functionDepth: 1
    functionLinenumber: 3966
    functionLinenumberEnd: 3975
    functionName: testFloatIsPosInf2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testFloatIsPosInf2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3980,1
    - Dst: TEST_ASSERT_FLOAT_IS_NEG_INF
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3984
      start: 3977
    functionDepth: 1
    functionLinenumber: 3977
    functionLinenumberEnd: 3984
    functionName: testFloatIsNegInf1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_FLOAT_IS_NEG_INF
    linkageType: ''
    returnType: void
    signature: void testFloatIsNegInf1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:3989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3995
      start: 3986
    functionDepth: 1
    functionLinenumber: 3986
    functionLinenumberEnd: 3995
    functionName: testFloatIsNegInf2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testFloatIsNegInf2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4006
      start: 3997
    functionDepth: 1
    functionLinenumber: 3997
    functionLinenumberEnd: 4006
    functionName: testFloatIsNotPosInf1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testFloatIsNotPosInf1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4011,1
    - Dst: TEST_ASSERT_FLOAT_IS_NOT_INF
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4015
      start: 4008
    functionDepth: 1
    functionLinenumber: 4008
    functionLinenumberEnd: 4015
    functionName: testFloatIsNotPosInf2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_FLOAT_IS_NOT_INF
    linkageType: ''
    returnType: void
    signature: void testFloatIsNotPosInf2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4026
      start: 4017
    functionDepth: 1
    functionLinenumber: 4017
    functionLinenumberEnd: 4026
    functionName: testFloatIsNotNegInf
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testFloatIsNotNegInf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4031,1
    - Dst: TEST_ASSERT_FLOAT_IS_NAN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4035
      start: 4028
    functionDepth: 1
    functionLinenumber: 4028
    functionLinenumberEnd: 4035
    functionName: testFloatIsNan1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_FLOAT_IS_NAN
    linkageType: ''
    returnType: void
    signature: void testFloatIsNan1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4046
      start: 4037
    functionDepth: 1
    functionLinenumber: 4037
    functionLinenumberEnd: 4046
    functionName: testFloatIsNan2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testFloatIsNan2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4057
      start: 4048
    functionDepth: 1
    functionLinenumber: 4048
    functionLinenumberEnd: 4057
    functionName: testFloatIsNotNan1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testFloatIsNotNan1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4062,1
    - Dst: TEST_ASSERT_FLOAT_IS_NOT_NAN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4066
      start: 4059
    functionDepth: 1
    functionLinenumber: 4059
    functionLinenumberEnd: 4066
    functionName: testFloatIsNotNan2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_FLOAT_IS_NOT_NAN
    linkageType: ''
    returnType: void
    signature: void testFloatIsNotNan2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4077
      start: 4068
    functionDepth: 1
    functionLinenumber: 4068
    functionLinenumberEnd: 4077
    functionName: testFloatInfIsNotNan
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testFloatInfIsNotNan(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4088
      start: 4079
    functionDepth: 1
    functionLinenumber: 4079
    functionLinenumberEnd: 4088
    functionName: testFloatNanIsNotInf
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testFloatNanIsNotInf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4093,1
    - Dst: TEST_ASSERT_FLOAT_IS_DETERMINATE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4095,1
    - Dst: TEST_ASSERT_FLOAT_IS_DETERMINATE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4096,1
    - Dst: TEST_ASSERT_FLOAT_IS_DETERMINATE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4099
      start: 4090
    functionDepth: 1
    functionLinenumber: 4090
    functionLinenumberEnd: 4099
    functionName: testFloatIsDeterminate1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_FLOAT_IS_DETERMINATE
    linkageType: ''
    returnType: void
    signature: void testFloatIsDeterminate1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4110
      start: 4101
    functionDepth: 1
    functionLinenumber: 4101
    functionLinenumberEnd: 4110
    functionName: testFloatIsDeterminate2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testFloatIsDeterminate2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4115,1
    - Dst: TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4117,1
    - Dst: TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4118,1
    - Dst: TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4121
      start: 4112
    functionDepth: 1
    functionLinenumber: 4112
    functionLinenumberEnd: 4121
    functionName: testFloatIsNotDeterminate1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE
    linkageType: ''
    returnType: void
    signature: void testFloatIsNotDeterminate1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4132
      start: 4123
    functionDepth: 1
    functionLinenumber: 4123
    functionLinenumberEnd: 4132
    functionName: testFloatIsNotDeterminate2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testFloatIsNotDeterminate2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4143
      start: 4134
    functionDepth: 1
    functionLinenumber: 4134
    functionLinenumberEnd: 4143
    functionName: testFloatTraitFailsOnInvalidTrait
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testFloatTraitFailsOnInvalidTrait(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4149,1
    - Dst: TEST_ASSERT_EQUAL_FLOAT_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4156,1
    - Dst: TEST_ASSERT_EQUAL_FLOAT_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4157,1
    - Dst: TEST_ASSERT_EQUAL_FLOAT_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4158,1
    - Dst: TEST_ASSERT_EQUAL_FLOAT_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4159,1
    - Dst: TEST_ASSERT_EQUAL_FLOAT_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4160,1
    - Dst: TEST_ASSERT_EQUAL_FLOAT_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4163
      start: 4146
    functionDepth: 1
    functionLinenumber: 4146
    functionLinenumberEnd: 4163
    functionName: testEqualFloatArrays
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EQUAL_FLOAT_ARRAY
    linkageType: ''
    returnType: void
    signature: void testEqualFloatArrays(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4177
      start: 4165
    functionDepth: 1
    functionLinenumber: 4165
    functionLinenumberEnd: 4177
    functionName: testNotEqualFloatArraysExpectedNull
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualFloatArraysExpectedNull(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4191
      start: 4179
    functionDepth: 1
    functionLinenumber: 4179
    functionLinenumberEnd: 4191
    functionName: testNotEqualFloatArraysActualNull
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualFloatArraysActualNull(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4205
      start: 4193
    functionDepth: 1
    functionLinenumber: 4193
    functionLinenumberEnd: 4205
    functionName: testNotEqualFloatArrays1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualFloatArrays1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4219
      start: 4207
    functionDepth: 1
    functionLinenumber: 4207
    functionLinenumberEnd: 4219
    functionName: testNotEqualFloatArrays2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualFloatArrays2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4233
      start: 4221
    functionDepth: 1
    functionLinenumber: 4221
    functionLinenumberEnd: 4233
    functionName: testNotEqualFloatArrays3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualFloatArrays3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4247
      start: 4235
    functionDepth: 1
    functionLinenumber: 4235
    functionLinenumberEnd: 4247
    functionName: testNotEqualFloatArraysNegative1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualFloatArraysNegative1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4261
      start: 4249
    functionDepth: 1
    functionLinenumber: 4249
    functionLinenumberEnd: 4261
    functionName: testNotEqualFloatArraysNegative2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualFloatArraysNegative2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4275
      start: 4263
    functionDepth: 1
    functionLinenumber: 4263
    functionLinenumberEnd: 4275
    functionName: testNotEqualFloatArraysNegative3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualFloatArraysNegative3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4280,1
    - Dst: TEST_ASSERT_EQUAL_FLOAT_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4287
      start: 4277
    functionDepth: 1
    functionLinenumber: 4277
    functionLinenumberEnd: 4287
    functionName: testEqualFloatArraysNaN
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EQUAL_FLOAT_ARRAY
    linkageType: ''
    returnType: void
    signature: void testEqualFloatArraysNaN(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4292,1
    - Dst: TEST_ASSERT_EQUAL_FLOAT_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4299
      start: 4289
    functionDepth: 1
    functionLinenumber: 4289
    functionLinenumberEnd: 4299
    functionName: testEqualFloatArraysInf
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EQUAL_FLOAT_ARRAY
    linkageType: ''
    returnType: void
    signature: void testEqualFloatArraysInf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4313
      start: 4301
    functionDepth: 1
    functionLinenumber: 4301
    functionLinenumberEnd: 4313
    functionName: testNotEqualFloatArraysLengthZero
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualFloatArraysLengthZero(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4318,1
    - Dst: TEST_ASSERT_EACH_EQUAL_FLOAT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4325,1
    - Dst: TEST_ASSERT_EACH_EQUAL_FLOAT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4326,1
    - Dst: TEST_ASSERT_EACH_EQUAL_FLOAT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4327,1
    - Dst: TEST_ASSERT_EACH_EQUAL_FLOAT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4328,1
    - Dst: TEST_ASSERT_EACH_EQUAL_FLOAT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4331
      start: 4315
    functionDepth: 1
    functionLinenumber: 4315
    functionLinenumberEnd: 4331
    functionName: testEqualFloatEachEqual
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EACH_EQUAL_FLOAT
    linkageType: ''
    returnType: void
    signature: void testEqualFloatEachEqual(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4344
      start: 4333
    functionDepth: 1
    functionLinenumber: 4333
    functionLinenumberEnd: 4344
    functionName: testNotEqualFloatEachEqualActualNull
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualFloatEachEqualActualNull(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4357
      start: 4346
    functionDepth: 1
    functionLinenumber: 4346
    functionLinenumberEnd: 4357
    functionName: testNotEqualFloatEachEqual1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualFloatEachEqual1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4370
      start: 4359
    functionDepth: 1
    functionLinenumber: 4359
    functionLinenumberEnd: 4370
    functionName: testNotEqualFloatEachEqual2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualFloatEachEqual2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4383
      start: 4372
    functionDepth: 1
    functionLinenumber: 4372
    functionLinenumberEnd: 4383
    functionName: testNotEqualFloatEachEqual3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualFloatEachEqual3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4396
      start: 4385
    functionDepth: 1
    functionLinenumber: 4385
    functionLinenumberEnd: 4396
    functionName: testNotEqualFloatEachEqualNegative1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualFloatEachEqualNegative1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4409
      start: 4398
    functionDepth: 1
    functionLinenumber: 4398
    functionLinenumberEnd: 4409
    functionName: testNotEqualFloatEachEqualNegative2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualFloatEachEqualNegative2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4422
      start: 4411
    functionDepth: 1
    functionLinenumber: 4411
    functionLinenumberEnd: 4422
    functionName: testNotEqualFloatEachEqualNegative3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualFloatEachEqualNegative3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4427,1
    - Dst: TEST_ASSERT_EACH_EQUAL_FLOAT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4433
      start: 4424
    functionDepth: 1
    functionLinenumber: 4424
    functionLinenumberEnd: 4433
    functionName: testEqualFloatEachEqualNaN
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EACH_EQUAL_FLOAT
    linkageType: ''
    returnType: void
    signature: void testEqualFloatEachEqualNaN(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4438,1
    - Dst: TEST_ASSERT_EACH_EQUAL_FLOAT
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4444
      start: 4435
    functionDepth: 1
    functionLinenumber: 4435
    functionLinenumberEnd: 4444
    functionName: testEqualFloatEachEqualInf
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EACH_EQUAL_FLOAT
    linkageType: ''
    returnType: void
    signature: void testEqualFloatEachEqualInf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4457
      start: 4446
    functionDepth: 1
    functionLinenumber: 4446
    functionLinenumberEnd: 4457
    functionName: testNotEqualFloatEachEqualLengthZero
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualFloatEachEqualLengthZero(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4463
      start: 4459
    functionDepth: 0
    functionLinenumber: 4459
    functionLinenumberEnd: 4463
    functionName: TEST_ASSERT_EQUAL_PRINT_FLOATING
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_PRINT_FLOATING(expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4467,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4469,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4470,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4471,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4472,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4473,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4474,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4475,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4476,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4477,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4478,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4479,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4480,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4482,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4483,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4484,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4485,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4486,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4487,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4488,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4489,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4490,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4491,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4492,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4493,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4495,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4496,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4497,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4498,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4499,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4500,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4502,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4503,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4504,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4505,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4507,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4510
      start: 4464
    functionDepth: 1
    functionLinenumber: 4464
    functionLinenumberEnd: 4510
    functionName: testFloatPrinting
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EQUAL_PRINT_FLOATING
    linkageType: ''
    returnType: void
    signature: void testFloatPrinting(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4515,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4517,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4518,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4522
      start: 4512
    functionDepth: 1
    functionLinenumber: 4512
    functionLinenumberEnd: 4522
    functionName: testFloatPrintingInfinityAndNaN
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EQUAL_PRINT_FLOATING
    linkageType: ''
    returnType: void
    signature: void testFloatPrintingInfinityAndNaN(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: startPutcharSpy
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4531,1
    - Dst: UnityPrintFloat
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4533,1
    - Dst: sprintf
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4535,1
    - Dst: strcmp
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4538,1
    - Dst: strcpy
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4538,1
    - Dst: isfinite
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4544,1
    - Dst: sprintf
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4544,1
    - Dst: strcpy
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4544,1
    - Dst: isfinite
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4545,1
    - Dst: sprintf
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4545,1
    - Dst: strcpy
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4545,1
    - Dst: strcmp
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4547,1
    - Dst: getBufferPutcharSpy
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4547,1
    - Dst: strcmp
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4548,1
    - Dst: getBufferPutcharSpy
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4548,1
    - Dst: strcmp
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4549,1
    - Dst: getBufferPutcharSpy
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4549,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4552,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4554
      start: 4525
    functionDepth: 1
    functionLinenumber: 4525
    functionLinenumberEnd: 4554
    functionName: printFloatValue
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - isfinite
    - startPutcharSpy
    - sprintf
    - strcpy
    - TEST_ASSERT_EQUAL_PRINT_FLOATING
    - strcmp
    - UnityPrintFloat
    - getBufferPutcharSpy
    linkageType: ''
    returnType: void
    signature: void printFloatValue(float f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4560,1
    - Dst: printFloatValue
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4565,1
    - Dst: printFloatValue
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4566,1
    - Dst: printFloatValue
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4567,1
    - Dst: printFloatValue
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4568,1
    - Dst: printFloatValue
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4577,1
    - Dst: printFloatValue
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4578,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4581
      start: 4557
    functionDepth: 2
    functionLinenumber: 4557
    functionLinenumberEnd: 4581
    functionName: testFloatPrintingRandomSamples
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - printFloatValue
    linkageType: ''
    returnType: void
    signature: void testFloatPrintingRandomSamples(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4588,1
    - Dst: TEST_ASSERT_DOUBLE_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4590,1
    - Dst: TEST_ASSERT_DOUBLE_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4591,1
    - Dst: TEST_ASSERT_DOUBLE_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4592,1
    - Dst: TEST_ASSERT_DOUBLE_WITHIN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4595
      start: 4585
    functionDepth: 1
    functionLinenumber: 4585
    functionLinenumberEnd: 4595
    functionName: testDoublesWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_DOUBLE_WITHIN
    linkageType: ''
    returnType: void
    signature: void testDoublesWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4606
      start: 4597
    functionDepth: 1
    functionLinenumber: 4597
    functionLinenumberEnd: 4606
    functionName: testDoublesNotWithinDelta
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testDoublesNotWithinDelta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4612,1
    - Dst: TEST_ASSERT_EQUAL_DOUBLE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4614,1
    - Dst: TEST_ASSERT_EQUAL_DOUBLE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4615,1
    - Dst: TEST_ASSERT_EQUAL_DOUBLE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4616,1
    - Dst: TEST_ASSERT_EQUAL_DOUBLE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4619
      start: 4609
    functionDepth: 1
    functionLinenumber: 4609
    functionLinenumberEnd: 4619
    functionName: testDoublesEqual
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EQUAL_DOUBLE
    linkageType: ''
    returnType: void
    signature: void testDoublesEqual(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4630
      start: 4621
    functionDepth: 1
    functionLinenumber: 4621
    functionLinenumberEnd: 4630
    functionName: testDoublesNotEqual
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testDoublesNotEqual(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4641
      start: 4632
    functionDepth: 1
    functionLinenumber: 4632
    functionLinenumberEnd: 4641
    functionName: testDoublesNotEqualNegative1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testDoublesNotEqualNegative1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4652
      start: 4643
    functionDepth: 1
    functionLinenumber: 4643
    functionLinenumberEnd: 4652
    functionName: testDoublesNotEqualNegative2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testDoublesNotEqualNegative2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4663
      start: 4654
    functionDepth: 1
    functionLinenumber: 4654
    functionLinenumberEnd: 4663
    functionName: testDoublesNotEqualActualNaN
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testDoublesNotEqualActualNaN(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4674
      start: 4665
    functionDepth: 1
    functionLinenumber: 4665
    functionLinenumberEnd: 4674
    functionName: testDoublesNotEqualExpectedNaN
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testDoublesNotEqualExpectedNaN(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4679,1
    - Dst: TEST_ASSERT_EQUAL_DOUBLE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4683
      start: 4676
    functionDepth: 1
    functionLinenumber: 4676
    functionLinenumberEnd: 4683
    functionName: testDoublesEqualBothNaN
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EQUAL_DOUBLE
    linkageType: ''
    returnType: void
    signature: void testDoublesEqualBothNaN(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4694
      start: 4685
    functionDepth: 1
    functionLinenumber: 4685
    functionLinenumberEnd: 4694
    functionName: testDoublesNotEqualInfNaN
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testDoublesNotEqualInfNaN(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4705
      start: 4696
    functionDepth: 1
    functionLinenumber: 4696
    functionLinenumberEnd: 4705
    functionName: testDoublesNotEqualNaNInf
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testDoublesNotEqualNaNInf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4716
      start: 4707
    functionDepth: 1
    functionLinenumber: 4707
    functionLinenumberEnd: 4716
    functionName: testDoublesNotEqualActualInf
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testDoublesNotEqualActualInf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4727
      start: 4718
    functionDepth: 1
    functionLinenumber: 4718
    functionLinenumberEnd: 4727
    functionName: testDoublesNotEqualExpectedInf
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testDoublesNotEqualExpectedInf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4732,1
    - Dst: TEST_ASSERT_EQUAL_DOUBLE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4736
      start: 4729
    functionDepth: 1
    functionLinenumber: 4729
    functionLinenumberEnd: 4736
    functionName: testDoublesEqualBothInf
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EQUAL_DOUBLE
    linkageType: ''
    returnType: void
    signature: void testDoublesEqualBothInf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4747
      start: 4738
    functionDepth: 1
    functionLinenumber: 4738
    functionLinenumberEnd: 4747
    functionName: testDoublesNotEqualPlusMinusInf
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testDoublesNotEqualPlusMinusInf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4752,1
    - Dst: TEST_ASSERT_DOUBLE_IS_INF
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4756
      start: 4749
    functionDepth: 1
    functionLinenumber: 4749
    functionLinenumberEnd: 4756
    functionName: testDoubleIsPosInf1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_DOUBLE_IS_INF
    linkageType: ''
    returnType: void
    signature: void testDoubleIsPosInf1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4767
      start: 4758
    functionDepth: 1
    functionLinenumber: 4758
    functionLinenumberEnd: 4767
    functionName: testDoubleIsPosInf2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testDoubleIsPosInf2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4772,1
    - Dst: TEST_ASSERT_DOUBLE_IS_NEG_INF
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4776
      start: 4769
    functionDepth: 1
    functionLinenumber: 4769
    functionLinenumberEnd: 4776
    functionName: testDoubleIsNegInf1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_DOUBLE_IS_NEG_INF
    linkageType: ''
    returnType: void
    signature: void testDoubleIsNegInf1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4787
      start: 4778
    functionDepth: 1
    functionLinenumber: 4778
    functionLinenumberEnd: 4787
    functionName: testDoubleIsNegInf2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testDoubleIsNegInf2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4798
      start: 4789
    functionDepth: 1
    functionLinenumber: 4789
    functionLinenumberEnd: 4798
    functionName: testDoubleIsNotPosInf1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testDoubleIsNotPosInf1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4803,1
    - Dst: TEST_ASSERT_DOUBLE_IS_NOT_INF
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4807
      start: 4800
    functionDepth: 1
    functionLinenumber: 4800
    functionLinenumberEnd: 4807
    functionName: testDoubleIsNotPosInf2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_DOUBLE_IS_NOT_INF
    linkageType: ''
    returnType: void
    signature: void testDoubleIsNotPosInf2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4818
      start: 4809
    functionDepth: 1
    functionLinenumber: 4809
    functionLinenumberEnd: 4818
    functionName: testDoubleIsNotNegInf
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testDoubleIsNotNegInf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4823,1
    - Dst: TEST_ASSERT_DOUBLE_IS_NAN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4827
      start: 4820
    functionDepth: 1
    functionLinenumber: 4820
    functionLinenumberEnd: 4827
    functionName: testDoubleIsNan1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_DOUBLE_IS_NAN
    linkageType: ''
    returnType: void
    signature: void testDoubleIsNan1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4838
      start: 4829
    functionDepth: 1
    functionLinenumber: 4829
    functionLinenumberEnd: 4838
    functionName: testDoubleIsNan2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testDoubleIsNan2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4849
      start: 4840
    functionDepth: 1
    functionLinenumber: 4840
    functionLinenumberEnd: 4849
    functionName: testDoubleIsNotNan1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testDoubleIsNotNan1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4854,1
    - Dst: TEST_ASSERT_DOUBLE_IS_NOT_NAN
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4858
      start: 4851
    functionDepth: 1
    functionLinenumber: 4851
    functionLinenumberEnd: 4858
    functionName: testDoubleIsNotNan2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_DOUBLE_IS_NOT_NAN
    linkageType: ''
    returnType: void
    signature: void testDoubleIsNotNan2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4869
      start: 4860
    functionDepth: 1
    functionLinenumber: 4860
    functionLinenumberEnd: 4869
    functionName: testDoubleInfIsNotNan
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testDoubleInfIsNotNan(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4880
      start: 4871
    functionDepth: 1
    functionLinenumber: 4871
    functionLinenumberEnd: 4880
    functionName: testDoubleNanIsNotInf
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testDoubleNanIsNotInf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4885,1
    - Dst: TEST_ASSERT_DOUBLE_IS_DETERMINATE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4887,1
    - Dst: TEST_ASSERT_DOUBLE_IS_DETERMINATE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4888,1
    - Dst: TEST_ASSERT_DOUBLE_IS_DETERMINATE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4891
      start: 4882
    functionDepth: 1
    functionLinenumber: 4882
    functionLinenumberEnd: 4891
    functionName: testDoubleIsDeterminate1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_DOUBLE_IS_DETERMINATE
    linkageType: ''
    returnType: void
    signature: void testDoubleIsDeterminate1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4902
      start: 4893
    functionDepth: 1
    functionLinenumber: 4893
    functionLinenumberEnd: 4902
    functionName: testDoubleIsDeterminate2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testDoubleIsDeterminate2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4907,1
    - Dst: TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4909,1
    - Dst: TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4910,1
    - Dst: TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4913
      start: 4904
    functionDepth: 1
    functionLinenumber: 4904
    functionLinenumberEnd: 4913
    functionName: testDoubleIsNotDeterminate1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE
    linkageType: ''
    returnType: void
    signature: void testDoubleIsNotDeterminate1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4924
      start: 4915
    functionDepth: 1
    functionLinenumber: 4915
    functionLinenumberEnd: 4924
    functionName: testDoubleIsNotDeterminate2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testDoubleIsNotDeterminate2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4935
      start: 4926
    functionDepth: 1
    functionLinenumber: 4926
    functionLinenumberEnd: 4935
    functionName: testDoubleTraitFailsOnInvalidTrait
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testDoubleTraitFailsOnInvalidTrait(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4940,1
    - Dst: TEST_ASSERT_EQUAL_DOUBLE_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4947,1
    - Dst: TEST_ASSERT_EQUAL_DOUBLE_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4948,1
    - Dst: TEST_ASSERT_EQUAL_DOUBLE_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4949,1
    - Dst: TEST_ASSERT_EQUAL_DOUBLE_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4950,1
    - Dst: TEST_ASSERT_EQUAL_DOUBLE_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4951,1
    - Dst: TEST_ASSERT_EQUAL_DOUBLE_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4954
      start: 4937
    functionDepth: 1
    functionLinenumber: 4937
    functionLinenumberEnd: 4954
    functionName: testEqualDoubleArrays
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EQUAL_DOUBLE_ARRAY
    linkageType: ''
    returnType: void
    signature: void testEqualDoubleArrays(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4968
      start: 4956
    functionDepth: 1
    functionLinenumber: 4956
    functionLinenumberEnd: 4968
    functionName: testNotEqualDoubleArraysExpectedNull
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualDoubleArraysExpectedNull(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4982
      start: 4970
    functionDepth: 1
    functionLinenumber: 4970
    functionLinenumberEnd: 4982
    functionName: testNotEqualDoubleArraysActualNull
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualDoubleArraysActualNull(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:4987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4996
      start: 4984
    functionDepth: 1
    functionLinenumber: 4984
    functionLinenumberEnd: 4996
    functionName: testNotEqualDoubleArrays1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualDoubleArrays1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5010
      start: 4998
    functionDepth: 1
    functionLinenumber: 4998
    functionLinenumberEnd: 5010
    functionName: testNotEqualDoubleArrays2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualDoubleArrays2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5024
      start: 5012
    functionDepth: 1
    functionLinenumber: 5012
    functionLinenumberEnd: 5024
    functionName: testNotEqualDoubleArrays3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualDoubleArrays3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5038
      start: 5026
    functionDepth: 1
    functionLinenumber: 5026
    functionLinenumberEnd: 5038
    functionName: testNotEqualDoubleArraysNegative1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualDoubleArraysNegative1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5052
      start: 5040
    functionDepth: 1
    functionLinenumber: 5040
    functionLinenumberEnd: 5052
    functionName: testNotEqualDoubleArraysNegative2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualDoubleArraysNegative2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5066
      start: 5054
    functionDepth: 1
    functionLinenumber: 5054
    functionLinenumberEnd: 5066
    functionName: testNotEqualDoubleArraysNegative3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualDoubleArraysNegative3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5071,1
    - Dst: TEST_ASSERT_EQUAL_DOUBLE_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5078
      start: 5068
    functionDepth: 1
    functionLinenumber: 5068
    functionLinenumberEnd: 5078
    functionName: testEqualDoubleArraysNaN
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EQUAL_DOUBLE_ARRAY
    linkageType: ''
    returnType: void
    signature: void testEqualDoubleArraysNaN(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5083,1
    - Dst: TEST_ASSERT_EQUAL_DOUBLE_ARRAY
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5090
      start: 5080
    functionDepth: 1
    functionLinenumber: 5080
    functionLinenumberEnd: 5090
    functionName: testEqualDoubleArraysInf
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EQUAL_DOUBLE_ARRAY
    linkageType: ''
    returnType: void
    signature: void testEqualDoubleArraysInf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5104
      start: 5092
    functionDepth: 1
    functionLinenumber: 5092
    functionLinenumberEnd: 5104
    functionName: testNotEqualDoubleArraysLengthZero
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualDoubleArraysLengthZero(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5109,1
    - Dst: TEST_ASSERT_EACH_EQUAL_DOUBLE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5116,1
    - Dst: TEST_ASSERT_EACH_EQUAL_DOUBLE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5117,1
    - Dst: TEST_ASSERT_EACH_EQUAL_DOUBLE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5118,1
    - Dst: TEST_ASSERT_EACH_EQUAL_DOUBLE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5119,1
    - Dst: TEST_ASSERT_EACH_EQUAL_DOUBLE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5122
      start: 5106
    functionDepth: 1
    functionLinenumber: 5106
    functionLinenumberEnd: 5122
    functionName: testEqualDoubleEachEqual
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EACH_EQUAL_DOUBLE
    linkageType: ''
    returnType: void
    signature: void testEqualDoubleEachEqual(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5135
      start: 5124
    functionDepth: 1
    functionLinenumber: 5124
    functionLinenumberEnd: 5135
    functionName: testNotEqualDoubleEachEqualActualNull
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualDoubleEachEqualActualNull(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5148
      start: 5137
    functionDepth: 1
    functionLinenumber: 5137
    functionLinenumberEnd: 5148
    functionName: testNotEqualDoubleEachEqual1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualDoubleEachEqual1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5161
      start: 5150
    functionDepth: 1
    functionLinenumber: 5150
    functionLinenumberEnd: 5161
    functionName: testNotEqualDoubleEachEqual2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualDoubleEachEqual2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5174
      start: 5163
    functionDepth: 1
    functionLinenumber: 5163
    functionLinenumberEnd: 5174
    functionName: testNotEqualDoubleEachEqual3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualDoubleEachEqual3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5187
      start: 5176
    functionDepth: 1
    functionLinenumber: 5176
    functionLinenumberEnd: 5187
    functionName: testNotEqualDoubleEachEqualNegative1
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualDoubleEachEqualNegative1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5200
      start: 5189
    functionDepth: 1
    functionLinenumber: 5189
    functionLinenumberEnd: 5200
    functionName: testNotEqualDoubleEachEqualNegative2
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualDoubleEachEqualNegative2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5213
      start: 5202
    functionDepth: 1
    functionLinenumber: 5202
    functionLinenumberEnd: 5213
    functionName: testNotEqualDoubleEachEqualNegative3
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualDoubleEachEqualNegative3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5218,1
    - Dst: TEST_ASSERT_EACH_EQUAL_DOUBLE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5224
      start: 5215
    functionDepth: 1
    functionLinenumber: 5215
    functionLinenumberEnd: 5224
    functionName: testEqualDoubleEachEqualNaN
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EACH_EQUAL_DOUBLE
    linkageType: ''
    returnType: void
    signature: void testEqualDoubleEachEqualNaN(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5229,1
    - Dst: TEST_ASSERT_EACH_EQUAL_DOUBLE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5235
      start: 5226
    functionDepth: 1
    functionLinenumber: 5226
    functionLinenumberEnd: 5235
    functionName: testEqualDoubleEachEqualInf
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EACH_EQUAL_DOUBLE
    linkageType: ''
    returnType: void
    signature: void testEqualDoubleEachEqualInf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5248
      start: 5237
    functionDepth: 1
    functionLinenumber: 5237
    functionLinenumberEnd: 5248
    functionName: testNotEqualDoubleEachEqualLengthZero
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void testNotEqualDoubleEachEqualLengthZero(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5253,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5255,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5256,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5257,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5258,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5259,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5260,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5261,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5262,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5263,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5265,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5266,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5267,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5270
      start: 5250
    functionDepth: 1
    functionLinenumber: 5250
    functionLinenumberEnd: 5270
    functionName: testDoublePrinting
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EQUAL_PRINT_FLOATING
    linkageType: ''
    returnType: void
    signature: void testDoublePrinting(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5275,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5277,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5278,1
    - Dst: TEST_ASSERT_EQUAL_PRINT_FLOATING
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5282
      start: 5272
    functionDepth: 1
    functionLinenumber: 5272
    functionLinenumberEnd: 5282
    functionName: testDoublePrintingInfinityAndNaN
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - TEST_ASSERT_EQUAL_PRINT_FLOATING
    linkageType: ''
    returnType: void
    signature: void testDoublePrintingInfinityAndNaN(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5289,1
    - Dst: UNITY_SET_DETAIL
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5297
      start: 5286
    functionDepth: 1
    functionLinenumber: 5286
    functionLinenumberEnd: 5297
    functionName: testThatDetailsCanBeHandleOneDetail
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - UNITY_SET_DETAIL
    linkageType: ''
    returnType: void
    signature: void testThatDetailsCanBeHandleOneDetail(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5302,1
    - Dst: UNITY_SET_DETAILS
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5310
      start: 5299
    functionDepth: 1
    functionLinenumber: 5299
    functionLinenumberEnd: 5310
    functionName: testThatDetailsCanHandleTestFail
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - UNITY_SET_DETAILS
    linkageType: ''
    returnType: void
    signature: void testThatDetailsCanHandleTestFail(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5315,1
    - Dst: UNITY_SET_DETAILS
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5323
      start: 5312
    functionDepth: 1
    functionLinenumber: 5312
    functionLinenumberEnd: 5323
    functionName: testThatDetailsCanBeHandleTwoDetails
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - UNITY_SET_DETAILS
    linkageType: ''
    returnType: void
    signature: void testThatDetailsCanBeHandleTwoDetails(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5328,1
    - Dst: UNITY_SET_DETAILS
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5330,1
    - Dst: UNITY_SET_DETAIL
      Src: /src/cJSON/tests/unity/test/tests/testunity.c:5331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5337
      start: 5325
    functionDepth: 1
    functionLinenumber: 5325
    functionLinenumberEnd: 5337
    functionName: testThatDetailsCanBeHandleSingleDetailClearingTwoDetails
    functionSourceFile: /src/cJSON/tests/unity/test/tests/testunity.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    - UNITY_SET_DETAILS
    - UNITY_SET_DETAIL
    linkageType: ''
    returnType: void
    signature: void testThatDetailsCanBeHandleSingleDetailClearingTwoDetails(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TestFunc
    - ','
    - TestLineNum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 27
    functionName: RUN_TEST
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_yaml.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST(TestFunc, TestLineNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mockstanky_Init
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_yaml.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: CMock_Init
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_yaml.c
    functionUses: 0
    functionsReached:
    - Mockstanky_Init
    linkageType: ''
    returnType: void
    signature: void CMock_Init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mockstanky_Verify
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_yaml.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: CMock_Verify
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_yaml.c
    functionUses: 0
    functionsReached:
    - Mockstanky_Verify
    linkageType: ''
    returnType: void
    signature: void CMock_Verify(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mockstanky_Destroy
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_yaml.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: CMock_Destroy
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_yaml.c
    functionUses: 0
    functionsReached:
    - Mockstanky_Destroy
    linkageType: ''
    returnType: void
    signature: void CMock_Destroy(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: a_yaml_setup
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_yaml.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: suite_setup
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_yaml.c
    functionUses: 0
    functionsReached:
    - a_yaml_setup
    linkageType: ''
    returnType: int
    signature: int suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMock_Verify
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_yaml.c:72,1
    - Dst: CMock_Destroy
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_yaml.c:73,1
    - Dst: tearDown
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_yaml.c:74,1
    - Dst: CMock_Init
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_yaml.c:75,1
    - Dst: setUp
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_yaml.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: resetTest
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_yaml.c
    functionUses: 0
    functionsReached:
    - CMock_Verify
    - CMock_Destroy
    - tearDown
    - setUp
    - CMock_Init
    linkageType: ''
    returnType: void
    signature: void resetTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: suite_setup
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_yaml.c:83,1
    - Dst: UnityBegin
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_yaml.c:84,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_yaml.c:85,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_yaml.c:86,1
    - Dst: CMock_Guts_MemFreeFinal
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_yaml.c:88,1
    - Dst: UnityEnd
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_yaml.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: main
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_yaml.c
    functionUses: 0
    functionsReached:
    - UnityBegin
    - CMock_Guts_MemFreeFinal
    - UnityEnd
    - RUN_TEST
    - suite_setup
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TestFunc
    - ','
    - TestLineNum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 24
    functionName: RUN_TEST
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_def.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST(TestFunc, TestLineNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mockstanky_Init
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_def.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: CMock_Init
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_def.c
    functionUses: 1
    functionsReached:
    - Mockstanky_Init
    linkageType: ''
    returnType: void
    signature: void CMock_Init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mockstanky_Verify
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_def.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: CMock_Verify
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_def.c
    functionUses: 1
    functionsReached:
    - Mockstanky_Verify
    linkageType: ''
    returnType: void
    signature: void CMock_Verify(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mockstanky_Destroy
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_def.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: CMock_Destroy
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_def.c
    functionUses: 1
    functionsReached:
    - Mockstanky_Destroy
    linkageType: ''
    returnType: void
    signature: void CMock_Destroy(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMock_Verify
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_def.c:59,1
    - Dst: CMock_Destroy
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_def.c:60,1
    - Dst: tearDown
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_def.c:61,1
    - Dst: CMock_Init
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_def.c:62,1
    - Dst: setUp
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_def.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: resetTest
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_def.c
    functionUses: 0
    functionsReached:
    - CMock_Verify
    - CMock_Destroy
    - tearDown
    - setUp
    - CMock_Init
    linkageType: ''
    returnType: void
    signature: void resetTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnityBegin
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_def.c:70,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_def.c:71,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_def.c:72,1
    - Dst: CMock_Guts_MemFreeFinal
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_def.c:74,1
    - Dst: UnityEnd
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_def.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: main
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_def.c
    functionUses: 0
    functionsReached:
    - UnityBegin
    - RUN_TEST
    - UnityEnd
    - CMock_Guts_MemFreeFinal
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - TestFunc
    - ','
    - TestLineNum
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 21
    functionName: RUN_TEST
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_param.c
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST(TestFunc, TestLineNum, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tearDown
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_param.c:43,1
    - Dst: setUp
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_param.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: resetTest
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_param.c
    functionUses: 0
    functionsReached:
    - tearDown
    - setUp
    linkageType: ''
    returnType: void
    signature: void resetTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnityBegin
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_param.c:51,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_param.c:52,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_param.c:53,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_param.c:54,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_param.c:55,1
    - Dst: UnityEnd
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_param.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: main
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_param.c
    functionUses: 0
    functionsReached:
    - UnityBegin
    - RUN_TEST
    - UnityEnd
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TestFunc
    - ','
    - TestLineNum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 23
    functionName: RUN_TEST
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_cmd.c
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST(TestFunc, TestLineNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tearDown
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_cmd.c:46,1
    - Dst: setUp
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_cmd.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: resetTest
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_cmd.c
    functionUses: 0
    functionsReached:
    - tearDown
    - setUp
    linkageType: ''
    returnType: void
    signature: void resetTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnityBegin
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_cmd.c:54,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_cmd.c:55,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_cmd.c:56,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_cmd.c:57,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_cmd.c:58,1
    - Dst: UnityEnd
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_cmd.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: main
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_cmd.c
    functionUses: 0
    functionsReached:
    - UnityBegin
    - RUN_TEST
    - UnityEnd
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TestFunc
    - ','
    - TestLineNum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 24
    functionName: RUN_TEST
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run2.c
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST(TestFunc, TestLineNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mockstanky_Init
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run2.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: CMock_Init
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run2.c
    functionUses: 2
    functionsReached:
    - Mockstanky_Init
    linkageType: ''
    returnType: void
    signature: void CMock_Init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mockstanky_Verify
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run2.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: CMock_Verify
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run2.c
    functionUses: 2
    functionsReached:
    - Mockstanky_Verify
    linkageType: ''
    returnType: void
    signature: void CMock_Verify(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mockstanky_Destroy
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run2.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: CMock_Destroy
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run2.c
    functionUses: 2
    functionsReached:
    - Mockstanky_Destroy
    linkageType: ''
    returnType: void
    signature: void CMock_Destroy(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: a_custom_setup
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run2.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: suite_setup
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run2.c
    functionUses: 1
    functionsReached:
    - a_custom_setup
    linkageType: ''
    returnType: int
    signature: int suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: a_custom_teardown
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run2.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_failures
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: suite_teardown
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run2.c
    functionUses: 0
    functionsReached:
    - a_custom_teardown
    linkageType: ''
    returnType: int
    signature: int suite_teardown(int num_failures)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMock_Verify
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run2.c:71,1
    - Dst: CMock_Destroy
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run2.c:72,1
    - Dst: tearDown
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run2.c:73,1
    - Dst: CMock_Init
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run2.c:74,1
    - Dst: setUp
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run2.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: resetTest
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run2.c
    functionUses: 0
    functionsReached:
    - CMock_Verify
    - CMock_Destroy
    - tearDown
    - setUp
    - CMock_Init
    linkageType: ''
    returnType: void
    signature: void resetTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: suite_setup
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run2.c:82,1
    - Dst: UnityBegin
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run2.c:83,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run2.c:84,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run2.c:85,1
    - Dst: CMock_Guts_MemFreeFinal
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run2.c:87,1
    - Dst: suite_teardown
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run2.c:88,1
    - Dst: UnityEnd
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run2.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: main
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run2.c
    functionUses: 0
    functionsReached:
    - UnityBegin
    - CMock_Guts_MemFreeFinal
    - suite_teardown
    - UnityEnd
    - RUN_TEST
    - suite_setup
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TestFunc
    - ','
    - TestLineNum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 23
    functionName: RUN_TEST
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_yaml.c
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST(TestFunc, TestLineNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: a_yaml_setup
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_yaml.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: suite_setup
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_yaml.c
    functionUses: 2
    functionsReached:
    - a_yaml_setup
    linkageType: ''
    returnType: int
    signature: int suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tearDown
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_yaml.c:55,1
    - Dst: setUp
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_yaml.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: resetTest
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_yaml.c
    functionUses: 0
    functionsReached:
    - tearDown
    - setUp
    linkageType: ''
    returnType: void
    signature: void resetTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: suite_setup
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_yaml.c:63,1
    - Dst: UnityBegin
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_yaml.c:64,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_yaml.c:65,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_yaml.c:66,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_yaml.c:67,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_yaml.c:68,1
    - Dst: UnityEnd
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_yaml.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: main
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_yaml.c
    functionUses: 0
    functionsReached:
    - UnityBegin
    - RUN_TEST
    - UnityEnd
    - suite_setup
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TestFunc
    - ','
    - TestLineNum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 24
    functionName: RUN_TEST
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new2.c
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST(TestFunc, TestLineNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mockstanky_Init
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new2.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: CMock_Init
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new2.c
    functionUses: 3
    functionsReached:
    - Mockstanky_Init
    linkageType: ''
    returnType: void
    signature: void CMock_Init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mockstanky_Verify
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new2.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: CMock_Verify
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new2.c
    functionUses: 3
    functionsReached:
    - Mockstanky_Verify
    linkageType: ''
    returnType: void
    signature: void CMock_Verify(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mockstanky_Destroy
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new2.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: CMock_Destroy
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new2.c
    functionUses: 3
    functionsReached:
    - Mockstanky_Destroy
    linkageType: ''
    returnType: void
    signature: void CMock_Destroy(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: a_custom_setup
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new2.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: suite_setup
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new2.c
    functionUses: 3
    functionsReached:
    - a_custom_setup
    linkageType: ''
    returnType: int
    signature: int suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: a_custom_teardown
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new2.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_failures
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: suite_teardown
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new2.c
    functionUses: 1
    functionsReached:
    - a_custom_teardown
    linkageType: ''
    returnType: int
    signature: int suite_teardown(int num_failures)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMock_Verify
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new2.c:71,1
    - Dst: CMock_Destroy
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new2.c:72,1
    - Dst: tearDown
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new2.c:73,1
    - Dst: CMock_Init
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new2.c:74,1
    - Dst: setUp
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new2.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: resetTest
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new2.c
    functionUses: 0
    functionsReached:
    - CMock_Verify
    - CMock_Destroy
    - tearDown
    - setUp
    - CMock_Init
    linkageType: ''
    returnType: void
    signature: void resetTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: suite_setup
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new2.c:82,1
    - Dst: UnityBegin
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new2.c:83,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new2.c:84,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new2.c:85,1
    - Dst: CMock_Guts_MemFreeFinal
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new2.c:87,1
    - Dst: suite_teardown
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new2.c:88,1
    - Dst: UnityEnd
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new2.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: main
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new2.c
    functionUses: 0
    functionsReached:
    - UnityBegin
    - CMock_Guts_MemFreeFinal
    - suite_teardown
    - UnityEnd
    - RUN_TEST
    - suite_setup
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TestFunc
    - ','
    - TestLineNum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 20
    functionName: RUN_TEST
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_head1.c
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST(TestFunc, TestLineNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tearDown
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_head1.c:40,1
    - Dst: setUp
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_head1.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: resetTest
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_head1.c
    functionUses: 0
    functionsReached:
    - tearDown
    - setUp
    linkageType: ''
    returnType: void
    signature: void resetTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnityBegin
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_head1.c:48,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_head1.c:49,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_head1.c:50,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_head1.c:51,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_head1.c:52,1
    - Dst: UnityEnd
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_head1.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: main
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_head1.c
    functionUses: 0
    functionsReached:
    - UnityBegin
    - RUN_TEST
    - UnityEnd
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TestFunc
    - ','
    - TestLineNum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 23
    functionName: RUN_TEST
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_new1.c
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST(TestFunc, TestLineNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tearDown
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_new1.c:52,1
    - Dst: setUp
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_new1.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: resetTest
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_new1.c
    functionUses: 0
    functionsReached:
    - tearDown
    - setUp
    linkageType: ''
    returnType: void
    signature: void resetTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnityBegin
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_new1.c:60,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_new1.c:61,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_new1.c:62,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_new1.c:63,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_new1.c:64,1
    - Dst: UnityEnd
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_new1.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: main
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_new1.c
    functionUses: 0
    functionsReached:
    - UnityBegin
    - RUN_TEST
    - UnityEnd
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - TestFunc
    - ','
    - TestLineNum
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 25
    functionName: RUN_TEST
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_param.c
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST(TestFunc, TestLineNum, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mockstanky_Init
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_param.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: CMock_Init
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_param.c
    functionUses: 4
    functionsReached:
    - Mockstanky_Init
    linkageType: ''
    returnType: void
    signature: void CMock_Init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mockstanky_Verify
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_param.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: CMock_Verify
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_param.c
    functionUses: 4
    functionsReached:
    - Mockstanky_Verify
    linkageType: ''
    returnType: void
    signature: void CMock_Verify(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mockstanky_Destroy
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_param.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: CMock_Destroy
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_param.c
    functionUses: 4
    functionsReached:
    - Mockstanky_Destroy
    linkageType: ''
    returnType: void
    signature: void CMock_Destroy(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMock_Verify
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_param.c:60,1
    - Dst: CMock_Destroy
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_param.c:61,1
    - Dst: tearDown
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_param.c:62,1
    - Dst: CMock_Init
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_param.c:63,1
    - Dst: setUp
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_param.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: resetTest
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_param.c
    functionUses: 0
    functionsReached:
    - CMock_Verify
    - CMock_Destroy
    - tearDown
    - setUp
    - CMock_Init
    linkageType: ''
    returnType: void
    signature: void resetTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnityBegin
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_param.c:71,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_param.c:72,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_param.c:73,1
    - Dst: CMock_Guts_MemFreeFinal
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_param.c:75,1
    - Dst: UnityEnd
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_param.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_param.c
    functionUses: 0
    functionsReached:
    - UnityBegin
    - RUN_TEST
    - UnityEnd
    - CMock_Guts_MemFreeFinal
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TestFunc
    - ','
    - TestLineNum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 27
    functionName: RUN_TEST
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_cmd.c
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST(TestFunc, TestLineNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mockstanky_Init
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_cmd.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: CMock_Init
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_cmd.c
    functionUses: 5
    functionsReached:
    - Mockstanky_Init
    linkageType: ''
    returnType: void
    signature: void CMock_Init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mockstanky_Verify
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_cmd.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: CMock_Verify
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_cmd.c
    functionUses: 5
    functionsReached:
    - Mockstanky_Verify
    linkageType: ''
    returnType: void
    signature: void CMock_Verify(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mockstanky_Destroy
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_cmd.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: CMock_Destroy
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_cmd.c
    functionUses: 5
    functionsReached:
    - Mockstanky_Destroy
    linkageType: ''
    returnType: void
    signature: void CMock_Destroy(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMock_Verify
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_cmd.c:63,1
    - Dst: CMock_Destroy
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_cmd.c:64,1
    - Dst: tearDown
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_cmd.c:65,1
    - Dst: CMock_Init
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_cmd.c:66,1
    - Dst: setUp
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_cmd.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: resetTest
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_cmd.c
    functionUses: 0
    functionsReached:
    - CMock_Verify
    - CMock_Destroy
    - tearDown
    - setUp
    - CMock_Init
    linkageType: ''
    returnType: void
    signature: void resetTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnityBegin
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_cmd.c:74,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_cmd.c:75,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_cmd.c:76,1
    - Dst: CMock_Guts_MemFreeFinal
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_cmd.c:78,1
    - Dst: UnityEnd
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_cmd.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: main
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_cmd.c
    functionUses: 0
    functionsReached:
    - UnityBegin
    - RUN_TEST
    - UnityEnd
    - CMock_Guts_MemFreeFinal
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TestFunc
    - ','
    - TestLineNum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 27
    functionName: RUN_TEST
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new1.c
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST(TestFunc, TestLineNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mockstanky_Init
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new1.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: CMock_Init
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new1.c
    functionUses: 6
    functionsReached:
    - Mockstanky_Init
    linkageType: ''
    returnType: void
    signature: void CMock_Init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mockstanky_Verify
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new1.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: CMock_Verify
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new1.c
    functionUses: 6
    functionsReached:
    - Mockstanky_Verify
    linkageType: ''
    returnType: void
    signature: void CMock_Verify(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mockstanky_Destroy
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new1.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: CMock_Destroy
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new1.c
    functionUses: 6
    functionsReached:
    - Mockstanky_Destroy
    linkageType: ''
    returnType: void
    signature: void CMock_Destroy(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMock_Verify
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new1.c:72,1
    - Dst: CMock_Destroy
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new1.c:73,1
    - Dst: tearDown
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new1.c:74,1
    - Dst: CMock_Init
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new1.c:75,1
    - Dst: setUp
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new1.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: resetTest
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new1.c
    functionUses: 0
    functionsReached:
    - CMock_Verify
    - CMock_Destroy
    - tearDown
    - setUp
    - CMock_Init
    linkageType: ''
    returnType: void
    signature: void resetTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnityBegin
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new1.c:83,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new1.c:84,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new1.c:85,1
    - Dst: CMock_Guts_MemFreeFinal
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new1.c:87,1
    - Dst: UnityEnd
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new1.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: main
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new1.c
    functionUses: 0
    functionsReached:
    - UnityBegin
    - RUN_TEST
    - UnityEnd
    - CMock_Guts_MemFreeFinal
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TestFunc
    - ','
    - TestLineNum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 20
    functionName: RUN_TEST
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_run2.c
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST(TestFunc, TestLineNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: a_custom_setup
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_run2.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: suite_setup
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_run2.c
    functionUses: 4
    functionsReached:
    - a_custom_setup
    linkageType: ''
    returnType: int
    signature: int suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: a_custom_teardown
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_run2.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_failures
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: suite_teardown
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_run2.c
    functionUses: 2
    functionsReached:
    - a_custom_teardown
    linkageType: ''
    returnType: int
    signature: int suite_teardown(int num_failures)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tearDown
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_run2.c:54,1
    - Dst: setUp
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_run2.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: resetTest
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_run2.c
    functionUses: 0
    functionsReached:
    - tearDown
    - setUp
    linkageType: ''
    returnType: void
    signature: void resetTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: suite_setup
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_run2.c:62,1
    - Dst: UnityBegin
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_run2.c:63,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_run2.c:64,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_run2.c:65,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_run2.c:66,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_run2.c:67,1
    - Dst: suite_teardown
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_run2.c:69,1
    - Dst: UnityEnd
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_run2.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: main
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_run2.c
    functionUses: 0
    functionsReached:
    - UnityBegin
    - suite_teardown
    - UnityEnd
    - RUN_TEST
    - suite_setup
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TestFunc
    - ','
    - TestLineNum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 27
    functionName: RUN_TEST
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run1.c
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST(TestFunc, TestLineNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mockstanky_Init
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run1.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: CMock_Init
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run1.c
    functionUses: 7
    functionsReached:
    - Mockstanky_Init
    linkageType: ''
    returnType: void
    signature: void CMock_Init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mockstanky_Verify
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run1.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: CMock_Verify
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run1.c
    functionUses: 7
    functionsReached:
    - Mockstanky_Verify
    linkageType: ''
    returnType: void
    signature: void CMock_Verify(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mockstanky_Destroy
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run1.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: CMock_Destroy
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run1.c
    functionUses: 7
    functionsReached:
    - Mockstanky_Destroy
    linkageType: ''
    returnType: void
    signature: void CMock_Destroy(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMock_Verify
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run1.c:72,1
    - Dst: CMock_Destroy
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run1.c:73,1
    - Dst: tearDown
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run1.c:74,1
    - Dst: CMock_Init
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run1.c:75,1
    - Dst: setUp
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run1.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: resetTest
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run1.c
    functionUses: 0
    functionsReached:
    - CMock_Verify
    - CMock_Destroy
    - tearDown
    - setUp
    - CMock_Init
    linkageType: ''
    returnType: void
    signature: void resetTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnityBegin
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run1.c:83,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run1.c:84,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run1.c:85,1
    - Dst: CMock_Guts_MemFreeFinal
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run1.c:87,1
    - Dst: UnityEnd
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run1.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: main
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run1.c
    functionUses: 0
    functionsReached:
    - UnityBegin
    - RUN_TEST
    - UnityEnd
    - CMock_Guts_MemFreeFinal
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TestFunc
    - ','
    - TestLineNum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 24
    functionName: RUN_TEST
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_head1.c
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST(TestFunc, TestLineNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mockstanky_Init
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_head1.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: CMock_Init
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_head1.c
    functionUses: 8
    functionsReached:
    - Mockstanky_Init
    linkageType: ''
    returnType: void
    signature: void CMock_Init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mockstanky_Verify
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_head1.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: CMock_Verify
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_head1.c
    functionUses: 8
    functionsReached:
    - Mockstanky_Verify
    linkageType: ''
    returnType: void
    signature: void CMock_Verify(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mockstanky_Destroy
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_head1.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: CMock_Destroy
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_head1.c
    functionUses: 8
    functionsReached:
    - Mockstanky_Destroy
    linkageType: ''
    returnType: void
    signature: void CMock_Destroy(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMock_Verify
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_head1.c:58,1
    - Dst: CMock_Destroy
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_head1.c:59,1
    - Dst: tearDown
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_head1.c:60,1
    - Dst: CMock_Init
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_head1.c:61,1
    - Dst: setUp
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_head1.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: resetTest
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_head1.c
    functionUses: 0
    functionsReached:
    - CMock_Verify
    - CMock_Destroy
    - tearDown
    - setUp
    - CMock_Init
    linkageType: ''
    returnType: void
    signature: void resetTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnityBegin
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_head1.c:69,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_head1.c:70,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_head1.c:71,1
    - Dst: CMock_Guts_MemFreeFinal
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_head1.c:73,1
    - Dst: UnityEnd
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_mock_head1.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_mock_head1.c
    functionUses: 0
    functionsReached:
    - UnityBegin
    - RUN_TEST
    - UnityEnd
    - CMock_Guts_MemFreeFinal
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TestFunc
    - ','
    - TestLineNum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 20
    functionName: RUN_TEST
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_new2.c
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST(TestFunc, TestLineNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: a_custom_setup
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_new2.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: suite_setup
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_new2.c
    functionUses: 5
    functionsReached:
    - a_custom_setup
    linkageType: ''
    returnType: int
    signature: int suite_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: a_custom_teardown
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_new2.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_failures
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: suite_teardown
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_new2.c
    functionUses: 3
    functionsReached:
    - a_custom_teardown
    linkageType: ''
    returnType: int
    signature: int suite_teardown(int num_failures)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tearDown
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_new2.c:54,1
    - Dst: setUp
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_new2.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: resetTest
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_new2.c
    functionUses: 0
    functionsReached:
    - tearDown
    - setUp
    linkageType: ''
    returnType: void
    signature: void resetTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: suite_setup
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_new2.c:62,1
    - Dst: UnityBegin
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_new2.c:63,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_new2.c:64,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_new2.c:65,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_new2.c:66,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_new2.c:67,1
    - Dst: suite_teardown
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_new2.c:69,1
    - Dst: UnityEnd
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_new2.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: main
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_new2.c
    functionUses: 0
    functionsReached:
    - UnityBegin
    - suite_teardown
    - UnityEnd
    - RUN_TEST
    - suite_setup
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TestFunc
    - ','
    - TestLineNum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 23
    functionName: RUN_TEST
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_run1.c
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST(TestFunc, TestLineNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tearDown
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_run1.c:52,1
    - Dst: setUp
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_run1.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: resetTest
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_run1.c
    functionUses: 0
    functionsReached:
    - tearDown
    - setUp
    linkageType: ''
    returnType: void
    signature: void resetTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnityBegin
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_run1.c:60,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_run1.c:61,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_run1.c:62,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_run1.c:63,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_run1.c:64,1
    - Dst: UnityEnd
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_run1.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: main
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_run1.c
    functionUses: 0
    functionsReached:
    - UnityBegin
    - RUN_TEST
    - UnityEnd
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TestFunc
    - ','
    - TestLineNum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 20
    functionName: RUN_TEST
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_def.c
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST(TestFunc, TestLineNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tearDown
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_def.c:42,1
    - Dst: setUp
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_def.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: resetTest
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_def.c
    functionUses: 0
    functionsReached:
    - tearDown
    - setUp
    linkageType: ''
    returnType: void
    signature: void resetTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnityBegin
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_def.c:50,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_def.c:51,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_def.c:52,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_def.c:53,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_def.c:54,1
    - Dst: UnityEnd
      Src: /src/cJSON/tests/unity/test/expectdata/testsample_def.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: main
    functionSourceFile: /src/cJSON/tests/unity/test/expectdata/testsample_def.c
    functionUses: 0
    functionsReached:
    - UnityBegin
    - RUN_TEST
    - UnityEnd
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: putcharSpy
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c
    functionUses: 0
    functionsReached:
    - putchar
    linkageType: ''
    returnType: void
    signature: void putcharSpy(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: setUp
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setUp(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: tearDown
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tearDown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: custom_setup
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void custom_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: custom_teardown
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void custom_teardown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_PASS
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: test_ThisTestAlwaysPasses
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c
    functionUses: 0
    functionsReached:
    - TEST_PASS
    linkageType: ''
    returnType: void
    signature: void test_ThisTestAlwaysPasses(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: test_ThisTestAlwaysFails
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void test_ThisTestAlwaysFails(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: test_ThisTestAlwaysIgnored
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE_MESSAGE
    linkageType: ''
    returnType: void
    signature: void test_ThisTestAlwaysIgnored(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: qwiktest_ThisTestPassesWhenNoSetupRan
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void qwiktest_ThisTestPassesWhenNoSetupRan(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: qwiktest_ThisTestPassesWhenNoTeardownRan
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void qwiktest_ThisTestPassesWhenNoTeardownRan(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: spec_ThisTestPassesWhenNormalSuiteSetupAndTeardownRan
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void spec_ThisTestPassesWhenNormalSuiteSetupAndTeardownRan(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: spec_ThisTestPassesWhenNormalSetupRan
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void spec_ThisTestPassesWhenNormalSetupRan(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: spec_ThisTestPassesWhenNormalTeardownRan
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void spec_ThisTestPassesWhenNormalTeardownRan(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: custtest_ThisTestPassesWhenCustomSetupRan
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void custtest_ThisTestPassesWhenCustomSetupRan(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: custtest_ThisTestPassesWhenCustomTeardownRan
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void custtest_ThisTestPassesWhenCustomTeardownRan(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_STRING_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: test_NotBeConfusedByLongComplicatedStrings
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_STRING_MESSAGE
    linkageType: ''
    returnType: void
    signature: void test_NotBeConfusedByLongComplicatedStrings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_TRUE_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: test_NotDisappearJustBecauseTheTestBeforeAndAfterHaveCrazyStrings
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_TRUE_MESSAGE
    linkageType: ''
    returnType: void
    signature: void test_NotDisappearJustBecauseTheTestBeforeAndAfterHaveCrazyStrings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_STRING_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: test_StillNotBeConfusedByLongComplicatedStrings
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_STRING_MESSAGE
    linkageType: ''
    returnType: void
    signature: void test_StillNotBeConfusedByLongComplicatedStrings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_TRUE_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: should_RunTestsStartingWithShouldByDefault
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_TRUE_MESSAGE
    linkageType: ''
    returnType: void
    signature: void should_RunTestsStartingWithShouldByDefault(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - Num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: paratest_ShouldHandleParameterizedTests
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void paratest_ShouldHandleParameterizedTests(int Num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - Num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: paratest_ShouldHandleParameterizedTests2
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void paratest_ShouldHandleParameterizedTests2(int Num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_PASS
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: paratest_ShouldHandleNonParameterizedTestsWhenParameterizationValid
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c
    functionUses: 0
    functionsReached:
    - TEST_PASS
    linkageType: ''
    returnType: void
    signature: void paratest_ShouldHandleNonParameterizedTestsWhenParameterizationValid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - Num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: paratest_ShouldHandleParameterizedTestsThatFail
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void paratest_ShouldHandleParameterizedTestsThatFail(int Num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: extest_ShouldHandleCExceptionInTest
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void extest_ShouldHandleCExceptionInTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: custom_main
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: main
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c
    functionUses: 1
    functionsReached:
    - custom_main
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: suitetest_ThisTestPassesWhenCustomSuiteSetupAndTeardownRan
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void suitetest_ThisTestPassesWhenCustomSuiteSetupAndTeardownRan(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: putcharSpy
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c
    functionUses: 0
    functionsReached:
    - putchar
    linkageType: ''
    returnType: void
    signature: void putcharSpy(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: setUp
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setUp(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: tearDown
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tearDown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: custom_setup
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void custom_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: custom_teardown
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void custom_teardown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_PASS
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: test_ThisTestAlwaysPasses
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c
    functionUses: 0
    functionsReached:
    - TEST_PASS
    linkageType: ''
    returnType: void
    signature: void test_ThisTestAlwaysPasses(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: test_ThisTestAlwaysFails
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void test_ThisTestAlwaysFails(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: test_ThisTestAlwaysIgnored
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE_MESSAGE
    linkageType: ''
    returnType: void
    signature: void test_ThisTestAlwaysIgnored(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: qwiktest_ThisTestPassesWhenNoSetupRan
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void qwiktest_ThisTestPassesWhenNoSetupRan(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: qwiktest_ThisTestPassesWhenNoTeardownRan
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void qwiktest_ThisTestPassesWhenNoTeardownRan(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: spec_ThisTestPassesWhenNormalSuiteSetupAndTeardownRan
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void spec_ThisTestPassesWhenNormalSuiteSetupAndTeardownRan(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: spec_ThisTestPassesWhenNormalSetupRan
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void spec_ThisTestPassesWhenNormalSetupRan(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: spec_ThisTestPassesWhenNormalTeardownRan
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void spec_ThisTestPassesWhenNormalTeardownRan(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: custtest_ThisTestPassesWhenCustomSetupRan
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void custtest_ThisTestPassesWhenCustomSetupRan(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: custtest_ThisTestPassesWhenCustomTeardownRan
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void custtest_ThisTestPassesWhenCustomTeardownRan(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_STRING_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: test_NotBeConfusedByLongComplicatedStrings
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_STRING_MESSAGE
    linkageType: ''
    returnType: void
    signature: void test_NotBeConfusedByLongComplicatedStrings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_TRUE_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: test_NotDisappearJustBecauseTheTestBeforeAndAfterHaveCrazyStrings
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_TRUE_MESSAGE
    linkageType: ''
    returnType: void
    signature: void test_NotDisappearJustBecauseTheTestBeforeAndAfterHaveCrazyStrings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_STRING_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: test_StillNotBeConfusedByLongComplicatedStrings
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_STRING_MESSAGE
    linkageType: ''
    returnType: void
    signature: void test_StillNotBeConfusedByLongComplicatedStrings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_TRUE_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: should_RunTestsStartingWithShouldByDefault
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_TRUE_MESSAGE
    linkageType: ''
    returnType: void
    signature: void should_RunTestsStartingWithShouldByDefault(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - Num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: paratest_ShouldHandleParameterizedTests
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void paratest_ShouldHandleParameterizedTests(int Num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - Num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: paratest_ShouldHandleParameterizedTests2
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void paratest_ShouldHandleParameterizedTests2(int Num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_PASS
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: paratest_ShouldHandleNonParameterizedTestsWhenParameterizationValid
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c
    functionUses: 0
    functionsReached:
    - TEST_PASS
    linkageType: ''
    returnType: void
    signature: void paratest_ShouldHandleNonParameterizedTestsWhenParameterizationValid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - Num
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: paratest_ShouldHandleParameterizedTestsThatFail
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void paratest_ShouldHandleParameterizedTestsThatFail(int Num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: extest_ShouldHandleCExceptionInTest
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void extest_ShouldHandleCExceptionInTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: custom_main
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: main
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c
    functionUses: 2
    functionsReached:
    - custom_main
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: suitetest_ThisTestPassesWhenCustomSuiteSetupAndTeardownRan
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void suitetest_ThisTestPassesWhenCustomSuiteSetupAndTeardownRan(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c:187,1
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c:188,1
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c:189,1
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: test_ShouldCallMockInitAndVerifyFunctionsForEachTest
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void test_ShouldCallMockInitAndVerifyFunctionsForEachTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 9
    functionName: CMock_Guts_MemFreeFinal
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/cmock.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CMock_Guts_MemFreeFinal(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 10
    functionName: mockMock_Init
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/cmock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mockMock_Init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 11
    functionName: mockMock_Verify
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/cmock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mockMock_Verify(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 12
    functionName: mockMock_Destroy
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/cmock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mockMock_Destroy(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorSmall.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 16
    functionName: putcharSpy
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorSmall.c
    functionUses: 0
    functionsReached:
    - putchar
    linkageType: ''
    returnType: void
    signature: void putcharSpy(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: setUp
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorSmall.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setUp(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: tearDown
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorSmall.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tearDown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: custom_setup
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorSmall.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void custom_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: custom_teardown
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorSmall.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void custom_teardown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_PASS
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorSmall.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: test_ThisTestAlwaysPasses
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorSmall.c
    functionUses: 0
    functionsReached:
    - TEST_PASS
    linkageType: ''
    returnType: void
    signature: void test_ThisTestAlwaysPasses(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorSmall.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: test_ThisTestAlwaysFails
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorSmall.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void test_ThisTestAlwaysFails(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorSmall.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: test_ThisTestAlwaysIgnored
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorSmall.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE_MESSAGE
    linkageType: ''
    returnType: void
    signature: void test_ThisTestAlwaysIgnored(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorSmall.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: spec_ThisTestPassesWhenNormalSetupRan
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorSmall.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void spec_ThisTestPassesWhenNormalSetupRan(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_MESSAGE
      Src: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorSmall.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: spec_ThisTestPassesWhenNormalTeardownRan
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorSmall.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT_EQUAL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void spec_ThisTestPassesWhenNormalTeardownRan(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 10
    functionName: Catch
    functionSourceFile: /src/cJSON/tests/unity/test/testdata/CException.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Catch(a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:81,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:86,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:87,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:92,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:93,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:101,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:104,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:110,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:111,1
    - Dst: UnityPrintNumberHex
      Src: /src/cJSON/tests/unity/src/unity.c:112,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 116
    functionName: UnityPrint
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 3
    functionsReached:
    - UNITY_OUTPUT_CHAR
    - UnityPrintNumberHex
    linkageType: ''
    returnType: void
    signature: void UnityPrint(const char* string)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:130,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:135,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:136,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:141,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:142,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:147,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:148,1
    - Dst: UnityPrintNumberHex
      Src: /src/cJSON/tests/unity/src/unity.c:149,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - string
    - length
    argTypes:
    - char*
    - UNITY_UINT32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 154
    functionName: UnityPrintLen
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UNITY_OUTPUT_CHAR
    - UnityPrintNumberHex
    linkageType: ''
    returnType: void
    signature: void UnityPrintLen(const char* string, const UNITY_UINT32 length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UnityPrintNumber
      Src: /src/cJSON/tests/unity/src/unity.c:161,1
    - Dst: UnityPrintNumberUnsigned
      Src: /src/cJSON/tests/unity/src/unity.c:165,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:169,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:170,1
    - Dst: UnityPrintNumberHex
      Src: /src/cJSON/tests/unity/src/unity.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - number
    - style
    argTypes:
    - UNITY_INT
    - UNITY_DISPLAY_STYLE_T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 173
    functionName: UnityPrintNumberByStyle
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UNITY_OUTPUT_CHAR
    - UnityPrintNumber
    - UnityPrintNumberUnsigned
    - UnityPrintNumberHex
    linkageType: ''
    returnType: void
    signature: void UnityPrintNumberByStyle(const UNITY_INT number, const UNITY_DISPLAY_STYLE_T
      style)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:183,1
    - Dst: UnityPrintNumberUnsigned
      Src: /src/cJSON/tests/unity/src/unity.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - number_to_print
    argTypes:
    - UNITY_INT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: UnityPrintNumber
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 1
    functionsReached:
    - UnityPrintNumberUnsigned
    - UNITY_OUTPUT_CHAR
    linkageType: ''
    returnType: void
    signature: void UnityPrintNumber(const UNITY_INT number_to_print)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - number
    argTypes:
    - UNITY_UINT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 207
    functionName: UnityPrintNumberUnsigned
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 2
    functionsReached:
    - UNITY_OUTPUT_CHAR
    linkageType: ''
    returnType: void
    signature: void UnityPrintNumberUnsigned(const UNITY_UINT number)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:223,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - number
    - nibbles_to_print
    argTypes:
    - UNITY_UINT
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 230
    functionName: UnityPrintNumberHex
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 4
    functionsReached:
    - UNITY_OUTPUT_CHAR
    linkageType: ''
    returnType: void
    signature: void UnityPrintNumberHex(const UNITY_UINT number, const char nibbles_to_print)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:244,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:248,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - mask
    - number
    argTypes:
    - UNITY_UINT
    - UNITY_UINT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 257
    functionName: UnityPrintMask
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UNITY_OUTPUT_CHAR
    linkageType: ''
    returnType: void
    signature: void UnityPrintMask(const UNITY_UINT mask, const UNITY_UINT number)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:273,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:278,1
    - Dst: isnan
      Src: /src/cJSON/tests/unity/src/unity.c:279,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:279,1
    - Dst: isinf
      Src: /src/cJSON/tests/unity/src/unity.c:280,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:280,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:322,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:323,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:329,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:333,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:338,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:349,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 66
    argCount: 1
    argNames:
    - input_number
    argTypes:
    - UNITY_DOUBLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 353
    functionName: UnityPrintFloat
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 1
    functionsReached:
    - isnan
    - UNITY_OUTPUT_CHAR
    - isinf
    - UnityPrint
    linkageType: ''
    returnType: void
    signature: void UnityPrintFloat(const UNITY_DOUBLE input_number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:359,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:360,1
    - Dst: UnityPrintNumber
      Src: /src/cJSON/tests/unity/src/unity.c:361,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:362,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:363,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - file
    - line
    argTypes:
    - char*
    - UNITY_LINE_TYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 365
    functionName: UnityTestResultsBegin
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UnityPrintNumber
    - UNITY_OUTPUT_CHAR
    - UnityPrint
    linkageType: ''
    returnType: void
    signature: void UnityTestResultsBegin(const char* file, const UNITY_LINE_TYPE
      line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnityTestResultsBegin
      Src: /src/cJSON/tests/unity/src/unity.c:370,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:371,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - line
    argTypes:
    - UNITY_LINE_TYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 368
    functionDepth: 3
    functionLinenumber: 368
    functionLinenumberEnd: 373
    functionName: UnityTestResultsFailBegin
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UNITY_OUTPUT_CHAR
    - UnityTestResultsBegin
    - UnityPrint
    linkageType: ''
    returnType: void
    signature: void UnityTestResultsFailBegin(const UNITY_LINE_TYPE line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UnityTestResultsBegin
      Src: /src/cJSON/tests/unity/src/unity.c:384,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:385,1
    - Dst: UNITY_PRINT_EOL
      Src: /src/cJSON/tests/unity/src/unity.c:394,1
    - Dst: UNITY_FLUSH_CALL
      Src: /src/cJSON/tests/unity/src/unity.c:395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 396
    functionName: UnityConcludeTest
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 1
    functionsReached:
    - UNITY_FLUSH_CALL
    - UnityTestResultsBegin
    - UNITY_PRINT_EOL
    - UnityPrint
    linkageType: ''
    returnType: void
    signature: void UnityConcludeTest(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:403,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:407,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:408,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:411,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:412,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:414,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 419
    functionName: UnityAddMsgIfSpecified
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UnityPrint
    linkageType: ''
    returnType: void
    signature: void UnityAddMsgIfSpecified(const char* msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:424,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:427,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:428,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:429,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:433,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:435,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:438,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:439,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:440,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - expected
    - actual
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 446
    functionName: UnityPrintExpectedAndActualStrings
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UNITY_OUTPUT_CHAR
    - UnityPrint
    linkageType: ''
    returnType: void
    signature: void UnityPrintExpectedAndActualStrings(const char* expected, const
      char* actual)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:453,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:456,1
    - Dst: UnityPrintLen
      Src: /src/cJSON/tests/unity/src/unity.c:457,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:458,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:462,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:464,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:467,1
    - Dst: UnityPrintLen
      Src: /src/cJSON/tests/unity/src/unity.c:468,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:469,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - expected
    - actual
    - length
    argTypes:
    - char*
    - char*
    - UNITY_UINT32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 449
    functionDepth: 2
    functionLinenumber: 449
    functionLinenumberEnd: 475
    functionName: UnityPrintExpectedAndActualStringsLen
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UnityPrintLen
    - UNITY_OUTPUT_CHAR
    - UnityPrint
    linkageType: ''
    returnType: void
    signature: "void UnityPrintExpectedAndActualStringsLen(const char* expected,\n
      \                                                 const char* actual,\n                                                  const
      UNITY_UINT32 length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UnityTestResultsFailBegin
      Src: /src/cJSON/tests/unity/src/unity.c:491,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:492,1
    - Dst: UnityAddMsgIfSpecified
      Src: /src/cJSON/tests/unity/src/unity.c:493,1
    - Dst: UnityTestResultsFailBegin
      Src: /src/cJSON/tests/unity/src/unity.c:500,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:501,1
    - Dst: UnityAddMsgIfSpecified
      Src: /src/cJSON/tests/unity/src/unity.c:502,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - expected
    - actual
    - lineNumber
    - msg
    argTypes:
    - UNITY_INTERNAL_PTR
    - UNITY_INTERNAL_PTR
    - UNITY_LINE_TYPE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 481
    functionDepth: 4
    functionLinenumber: 481
    functionLinenumberEnd: 507
    functionName: UnityIsOneArrayNull
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UnityAddMsgIfSpecified
    - UnityTestResultsFailBegin
    - UnityPrint
    linkageType: ''
    returnType: int
    signature: "int UnityIsOneArrayNull(UNITY_INTERNAL_PTR expected,\n                               UNITY_INTERNAL_PTR
      actual,\n                               const UNITY_LINE_TYPE lineNumber,\n
      \                              const char* msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UnityTestResultsFailBegin
      Src: /src/cJSON/tests/unity/src/unity.c:523,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:524,1
    - Dst: UnityPrintMask
      Src: /src/cJSON/tests/unity/src/unity.c:525,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:526,1
    - Dst: UnityPrintMask
      Src: /src/cJSON/tests/unity/src/unity.c:527,1
    - Dst: UnityAddMsgIfSpecified
      Src: /src/cJSON/tests/unity/src/unity.c:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - mask
    - expected
    - actual
    - msg
    - lineNumber
    argTypes:
    - UNITY_INT
    - UNITY_INT
    - UNITY_INT
    - char*
    - UNITY_LINE_TYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 513
    functionDepth: 4
    functionLinenumber: 513
    functionLinenumberEnd: 531
    functionName: UnityAssertBits
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UnityPrintMask
    - UnityAddMsgIfSpecified
    - UnityTestResultsFailBegin
    - UnityPrint
    linkageType: ''
    returnType: void
    signature: "void UnityAssertBits(const UNITY_INT mask,\n                     const
      UNITY_INT expected,\n                     const UNITY_INT actual,\n                     const
      char* msg,\n                     const UNITY_LINE_TYPE lineNumber)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UnityTestResultsFailBegin
      Src: /src/cJSON/tests/unity/src/unity.c:544,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:545,1
    - Dst: UnityPrintNumberByStyle
      Src: /src/cJSON/tests/unity/src/unity.c:546,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:547,1
    - Dst: UnityPrintNumberByStyle
      Src: /src/cJSON/tests/unity/src/unity.c:548,1
    - Dst: UnityAddMsgIfSpecified
      Src: /src/cJSON/tests/unity/src/unity.c:549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - expected
    - actual
    - msg
    - lineNumber
    - style
    argTypes:
    - UNITY_INT
    - UNITY_INT
    - char*
    - UNITY_LINE_TYPE
    - UNITY_DISPLAY_STYLE_T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 534
    functionDepth: 4
    functionLinenumber: 534
    functionLinenumberEnd: 552
    functionName: UnityAssertEqualNumber
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UnityPrintNumberByStyle
    - UnityAddMsgIfSpecified
    - UnityTestResultsFailBegin
    - UnityPrint
    linkageType: ''
    returnType: void
    signature: "void UnityAssertEqualNumber(const UNITY_INT expected,\n                            const
      UNITY_INT actual,\n                            const char* msg,\n                            const
      UNITY_LINE_TYPE lineNumber,\n                            const UNITY_DISPLAY_STYLE_T
      style)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: UnityTestResultsFailBegin
      Src: /src/cJSON/tests/unity/src/unity.c:581,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:582,1
    - Dst: UnityPrintNumberByStyle
      Src: /src/cJSON/tests/unity/src/unity.c:583,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:584,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:585,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:586,1
    - Dst: UnityPrintNumberByStyle
      Src: /src/cJSON/tests/unity/src/unity.c:587,1
    - Dst: UnityAddMsgIfSpecified
      Src: /src/cJSON/tests/unity/src/unity.c:588,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 6
    argNames:
    - threshold
    - actual
    - compare
    - msg
    - lineNumber
    - style
    argTypes:
    - UNITY_INT
    - UNITY_INT
    - UNITY_COMPARISON_T
    - char*
    - UNITY_LINE_TYPE
    - UNITY_DISPLAY_STYLE_T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 555
    functionDepth: 4
    functionLinenumber: 555
    functionLinenumberEnd: 591
    functionName: UnityAssertGreaterOrLessOrEqualNumber
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UnityPrintNumberByStyle
    - UnityAddMsgIfSpecified
    - UnityTestResultsFailBegin
    - UnityPrint
    linkageType: ''
    returnType: void
    signature: "void UnityAssertGreaterOrLessOrEqualNumber(const UNITY_INT threshold,\n
      \                                          const UNITY_INT actual,\n                                           const
      UNITY_COMPARISON_T compare,\n                                           const
      char *msg,\n                                           const UNITY_LINE_TYPE
      lineNumber,\n                                           const UNITY_DISPLAY_STYLE_T
      style)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 599
    functionName: UnityPrintPointlessAndBail
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UnityPrintPointlessAndBail()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: UnityPrintPointlessAndBail
      Src: /src/cJSON/tests/unity/src/unity.c:616,1
    - Dst: UnityIsOneArrayNull
      Src: /src/cJSON/tests/unity/src/unity.c:620,1
    - Dst: UnityTestResultsFailBegin
      Src: /src/cJSON/tests/unity/src/unity.c:659,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:660,1
    - Dst: UnityPrintNumberUnsigned
      Src: /src/cJSON/tests/unity/src/unity.c:661,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:662,1
    - Dst: UnityPrintNumberByStyle
      Src: /src/cJSON/tests/unity/src/unity.c:663,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:664,1
    - Dst: UnityPrintNumberByStyle
      Src: /src/cJSON/tests/unity/src/unity.c:665,1
    - Dst: UnityAddMsgIfSpecified
      Src: /src/cJSON/tests/unity/src/unity.c:666,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 7
    argNames:
    - expected
    - actual
    - num_elements
    - msg
    - lineNumber
    - style
    - flags
    argTypes:
    - UNITY_INTERNAL_PTR
    - UNITY_INTERNAL_PTR
    - UNITY_UINT32
    - char*
    - UNITY_LINE_TYPE
    - UNITY_DISPLAY_STYLE_T
    - UNITY_FLAGS_T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 601
    functionDepth: 5
    functionLinenumber: 601
    functionLinenumberEnd: 675
    functionName: UnityAssertEqualIntArray
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UnityPrint
    - UnityAddMsgIfSpecified
    - UnityPrintNumberUnsigned
    - UnityTestResultsFailBegin
    - UnityIsOneArrayNull
    - UnityPrintNumberByStyle
    - UnityPrintPointlessAndBail
    linkageType: ''
    returnType: void
    signature: "void UnityAssertEqualIntArray(UNITY_INTERNAL_PTR expected,\n                              UNITY_INTERNAL_PTR
      actual,\n                              const UNITY_UINT32 num_elements,\n                              const
      char* msg,\n                              const UNITY_LINE_TYPE lineNumber,\n
      \                             const UNITY_DISPLAY_STYLE_T style,\n                              const
      UNITY_FLAGS_T flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - diff
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 687
    functionName: UNITY_FLOAT_OR_DOUBLE_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_FLOAT_OR_DOUBLE_WITHIN(delta, expected, actual, diff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 701
    functionName: UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT(expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 704
    functionName: UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT(expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_FLOAT_OR_DOUBLE_WITHIN
      Src: /src/cJSON/tests/unity/src/unity.c:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - delta
    - expected
    - actual
    argTypes:
    - UNITY_FLOAT
    - UNITY_FLOAT
    - UNITY_FLOAT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 710
    functionName: UnityFloatsWithin
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UNITY_FLOAT_OR_DOUBLE_WITHIN
    linkageType: ''
    returnType: int
    signature: int UnityFloatsWithin(UNITY_FLOAT delta, UNITY_FLOAT expected, UNITY_FLOAT
      actual)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UnityPrintPointlessAndBail
      Src: /src/cJSON/tests/unity/src/unity.c:727,1
    - Dst: UnityIsOneArrayNull
      Src: /src/cJSON/tests/unity/src/unity.c:731,1
    - Dst: UnityFloatsWithin
      Src: /src/cJSON/tests/unity/src/unity.c:736,1
    - Dst: UnityTestResultsFailBegin
      Src: /src/cJSON/tests/unity/src/unity.c:738,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:739,1
    - Dst: UnityPrintNumberUnsigned
      Src: /src/cJSON/tests/unity/src/unity.c:740,1
    - Dst: UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT
      Src: /src/cJSON/tests/unity/src/unity.c:741,1
    - Dst: UnityAddMsgIfSpecified
      Src: /src/cJSON/tests/unity/src/unity.c:742,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 6
    argNames:
    - UNITY_FLOAT* expected
    - UNITY_FLOAT* actual
    - num_elements
    - msg
    - lineNumber
    - flags
    argTypes:
    - UNITY_PTR_ATTRIBUTE
    - UNITY_PTR_ATTRIBUTE
    - UNITY_UINT32
    - char*
    - UNITY_LINE_TYPE
    - UNITY_FLAGS_T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 712
    functionDepth: 5
    functionLinenumber: 712
    functionLinenumberEnd: 751
    functionName: UnityAssertEqualFloatArray
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UnityPrint
    - UnityAddMsgIfSpecified
    - UnityTestResultsFailBegin
    - UnityPrintNumberUnsigned
    - UnityIsOneArrayNull
    - UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT
    - UnityPrintPointlessAndBail
    - UnityFloatsWithin
    linkageType: ''
    returnType: void
    signature: "void UnityAssertEqualFloatArray(UNITY_PTR_ATTRIBUTE const UNITY_FLOAT*
      expected,\n                                UNITY_PTR_ATTRIBUTE const UNITY_FLOAT*
      actual,\n                                const UNITY_UINT32 num_elements,\n
      \                               const char* msg,\n                                const
      UNITY_LINE_TYPE lineNumber,\n                                const UNITY_FLAGS_T
      flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UnityFloatsWithin
      Src: /src/cJSON/tests/unity/src/unity.c:763,1
    - Dst: UnityTestResultsFailBegin
      Src: /src/cJSON/tests/unity/src/unity.c:765,1
    - Dst: UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT
      Src: /src/cJSON/tests/unity/src/unity.c:766,1
    - Dst: UnityAddMsgIfSpecified
      Src: /src/cJSON/tests/unity/src/unity.c:767,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - delta
    - expected
    - actual
    - msg
    - lineNumber
    argTypes:
    - UNITY_FLOAT
    - UNITY_FLOAT
    - UNITY_FLOAT
    - char*
    - UNITY_LINE_TYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 754
    functionDepth: 4
    functionLinenumber: 754
    functionLinenumberEnd: 770
    functionName: UnityAssertFloatsWithin
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UnityAddMsgIfSpecified
    - UnityTestResultsFailBegin
    - UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT
    - UnityFloatsWithin
    linkageType: ''
    returnType: void
    signature: "void UnityAssertFloatsWithin(const UNITY_FLOAT delta,\n                             const
      UNITY_FLOAT expected,\n                             const UNITY_FLOAT actual,\n
      \                            const char* msg,\n                             const
      UNITY_LINE_TYPE lineNumber)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: isinf
      Src: /src/cJSON/tests/unity/src/unity.c:789,1
    - Dst: isinf
      Src: /src/cJSON/tests/unity/src/unity.c:793,1
    - Dst: isnan
      Src: /src/cJSON/tests/unity/src/unity.c:798,1
    - Dst: isinf
      Src: /src/cJSON/tests/unity/src/unity.c:803,1
    - Dst: isnan
      Src: /src/cJSON/tests/unity/src/unity.c:803,1
    - Dst: UnityTestResultsFailBegin
      Src: /src/cJSON/tests/unity/src/unity.c:814,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:815,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:817,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:818,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:819,1
    - Dst: UnityPrintFloat
      Src: /src/cJSON/tests/unity/src/unity.c:821,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:824,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:825,1
    - Dst: UnityAddMsgIfSpecified
      Src: /src/cJSON/tests/unity/src/unity.c:827,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 4
    argNames:
    - actual
    - msg
    - lineNumber
    - style
    argTypes:
    - UNITY_FLOAT
    - char*
    - UNITY_LINE_TYPE
    - UNITY_FLOAT_TRAIT_T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 773
    functionDepth: 4
    functionLinenumber: 773
    functionLinenumberEnd: 830
    functionName: UnityAssertFloatSpecial
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UnityPrint
    - isnan
    - UnityTestResultsFailBegin
    - UnityAddMsgIfSpecified
    - UnityPrintFloat
    - isinf
    linkageType: ''
    returnType: void
    signature: "void UnityAssertFloatSpecial(const UNITY_FLOAT actual,\n                             const
      char* msg,\n                             const UNITY_LINE_TYPE lineNumber,\n
      \                            const UNITY_FLOAT_TRAIT_T style)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_FLOAT_OR_DOUBLE_WITHIN
      Src: /src/cJSON/tests/unity/src/unity.c:839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - delta
    - expected
    - actual
    argTypes:
    - UNITY_DOUBLE
    - UNITY_DOUBLE
    - UNITY_DOUBLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 840
    functionName: UnityDoublesWithin
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UNITY_FLOAT_OR_DOUBLE_WITHIN
    linkageType: ''
    returnType: int
    signature: int UnityDoublesWithin(UNITY_DOUBLE delta, UNITY_DOUBLE expected, UNITY_DOUBLE
      actual)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UnityPrintPointlessAndBail
      Src: /src/cJSON/tests/unity/src/unity.c:857,1
    - Dst: UnityIsOneArrayNull
      Src: /src/cJSON/tests/unity/src/unity.c:861,1
    - Dst: UnityDoublesWithin
      Src: /src/cJSON/tests/unity/src/unity.c:866,1
    - Dst: UnityTestResultsFailBegin
      Src: /src/cJSON/tests/unity/src/unity.c:868,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:869,1
    - Dst: UnityPrintNumberUnsigned
      Src: /src/cJSON/tests/unity/src/unity.c:870,1
    - Dst: UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT
      Src: /src/cJSON/tests/unity/src/unity.c:871,1
    - Dst: UnityAddMsgIfSpecified
      Src: /src/cJSON/tests/unity/src/unity.c:872,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 6
    argNames:
    - UNITY_DOUBLE* expected
    - UNITY_DOUBLE* actual
    - num_elements
    - msg
    - lineNumber
    - flags
    argTypes:
    - UNITY_PTR_ATTRIBUTE
    - UNITY_PTR_ATTRIBUTE
    - UNITY_UINT32
    - char*
    - UNITY_LINE_TYPE
    - UNITY_FLAGS_T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 842
    functionDepth: 5
    functionLinenumber: 842
    functionLinenumberEnd: 881
    functionName: UnityAssertEqualDoubleArray
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UnityPrint
    - UnityAddMsgIfSpecified
    - UnityTestResultsFailBegin
    - UnityPrintNumberUnsigned
    - UnityIsOneArrayNull
    - UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT
    - UnityDoublesWithin
    - UnityPrintPointlessAndBail
    linkageType: ''
    returnType: void
    signature: "void UnityAssertEqualDoubleArray(UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE*
      expected,\n                                 UNITY_PTR_ATTRIBUTE const UNITY_DOUBLE*
      actual,\n                                 const UNITY_UINT32 num_elements,\n
      \                                const char* msg,\n                                 const
      UNITY_LINE_TYPE lineNumber,\n                                 const UNITY_FLAGS_T
      flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UnityDoublesWithin
      Src: /src/cJSON/tests/unity/src/unity.c:892,1
    - Dst: UnityTestResultsFailBegin
      Src: /src/cJSON/tests/unity/src/unity.c:894,1
    - Dst: UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT
      Src: /src/cJSON/tests/unity/src/unity.c:895,1
    - Dst: UnityAddMsgIfSpecified
      Src: /src/cJSON/tests/unity/src/unity.c:896,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - delta
    - expected
    - actual
    - msg
    - lineNumber
    argTypes:
    - UNITY_DOUBLE
    - UNITY_DOUBLE
    - UNITY_DOUBLE
    - char*
    - UNITY_LINE_TYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 884
    functionDepth: 4
    functionLinenumber: 884
    functionLinenumberEnd: 899
    functionName: UnityAssertDoublesWithin
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UnityAddMsgIfSpecified
    - UnityTestResultsFailBegin
    - UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT
    - UnityDoublesWithin
    linkageType: ''
    returnType: void
    signature: "void UnityAssertDoublesWithin(const UNITY_DOUBLE delta,\n                              const
      UNITY_DOUBLE expected,\n                              const UNITY_DOUBLE actual,\n
      \                             const char* msg,\n                              const
      UNITY_LINE_TYPE lineNumber)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: isinf
      Src: /src/cJSON/tests/unity/src/unity.c:919,1
    - Dst: isinf
      Src: /src/cJSON/tests/unity/src/unity.c:923,1
    - Dst: isnan
      Src: /src/cJSON/tests/unity/src/unity.c:928,1
    - Dst: isinf
      Src: /src/cJSON/tests/unity/src/unity.c:933,1
    - Dst: isnan
      Src: /src/cJSON/tests/unity/src/unity.c:933,1
    - Dst: UnityTestResultsFailBegin
      Src: /src/cJSON/tests/unity/src/unity.c:944,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:945,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:947,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:948,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:949,1
    - Dst: UnityPrintFloat
      Src: /src/cJSON/tests/unity/src/unity.c:951,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:954,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:955,1
    - Dst: UnityAddMsgIfSpecified
      Src: /src/cJSON/tests/unity/src/unity.c:957,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 4
    argNames:
    - actual
    - msg
    - lineNumber
    - style
    argTypes:
    - UNITY_DOUBLE
    - char*
    - UNITY_LINE_TYPE
    - UNITY_FLOAT_TRAIT_T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 903
    functionDepth: 4
    functionLinenumber: 903
    functionLinenumberEnd: 960
    functionName: UnityAssertDoubleSpecial
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UnityPrint
    - isnan
    - UnityTestResultsFailBegin
    - UnityAddMsgIfSpecified
    - UnityPrintFloat
    - isinf
    linkageType: ''
    returnType: void
    signature: "void UnityAssertDoubleSpecial(const UNITY_DOUBLE actual,\n                              const
      char* msg,\n                              const UNITY_LINE_TYPE lineNumber,\n
      \                             const UNITY_FLOAT_TRAIT_T style)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UnityTestResultsFailBegin
      Src: /src/cJSON/tests/unity/src/unity.c:991,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:992,1
    - Dst: UnityPrintNumberByStyle
      Src: /src/cJSON/tests/unity/src/unity.c:993,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:994,1
    - Dst: UnityPrintNumberByStyle
      Src: /src/cJSON/tests/unity/src/unity.c:995,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:996,1
    - Dst: UnityPrintNumberByStyle
      Src: /src/cJSON/tests/unity/src/unity.c:997,1
    - Dst: UnityAddMsgIfSpecified
      Src: /src/cJSON/tests/unity/src/unity.c:998,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 6
    argNames:
    - delta
    - expected
    - actual
    - msg
    - lineNumber
    - style
    argTypes:
    - UNITY_UINT
    - UNITY_INT
    - UNITY_INT
    - char*
    - UNITY_LINE_TYPE
    - UNITY_DISPLAY_STYLE_T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 965
    functionDepth: 4
    functionLinenumber: 965
    functionLinenumberEnd: 1001
    functionName: UnityAssertNumbersWithin
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UnityPrintNumberByStyle
    - UnityAddMsgIfSpecified
    - UnityTestResultsFailBegin
    - UnityPrint
    linkageType: ''
    returnType: void
    signature: "void UnityAssertNumbersWithin(const UNITY_UINT delta,\n                              const
      UNITY_INT expected,\n                              const UNITY_INT actual,\n
      \                             const char* msg,\n                              const
      UNITY_LINE_TYPE lineNumber,\n                              const UNITY_DISPLAY_STYLE_T
      style)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UnityTestResultsFailBegin
      Src: /src/cJSON/tests/unity/src/unity.c:1035,1
    - Dst: UnityPrintExpectedAndActualStrings
      Src: /src/cJSON/tests/unity/src/unity.c:1036,1
    - Dst: UnityAddMsgIfSpecified
      Src: /src/cJSON/tests/unity/src/unity.c:1037,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - expected
    - actual
    - msg
    - lineNumber
    argTypes:
    - char*
    - char*
    - char*
    - UNITY_LINE_TYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1004
    functionDepth: 4
    functionLinenumber: 1004
    functionLinenumberEnd: 1040
    functionName: UnityAssertEqualString
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UnityPrintExpectedAndActualStrings
    - UnityAddMsgIfSpecified
    - UnityTestResultsFailBegin
    linkageType: ''
    returnType: void
    signature: "void UnityAssertEqualString(const char* expected,\n                            const
      char* actual,\n                            const char* msg,\n                            const
      UNITY_LINE_TYPE lineNumber)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UnityTestResultsFailBegin
      Src: /src/cJSON/tests/unity/src/unity.c:1075,1
    - Dst: UnityPrintExpectedAndActualStringsLen
      Src: /src/cJSON/tests/unity/src/unity.c:1076,1
    - Dst: UnityAddMsgIfSpecified
      Src: /src/cJSON/tests/unity/src/unity.c:1077,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 5
    argNames:
    - expected
    - actual
    - length
    - msg
    - lineNumber
    argTypes:
    - char*
    - char*
    - UNITY_UINT32
    - char*
    - UNITY_LINE_TYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1043
    functionDepth: 4
    functionLinenumber: 1043
    functionLinenumberEnd: 1080
    functionName: UnityAssertEqualStringLen
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UnityAddMsgIfSpecified
    - UnityTestResultsFailBegin
    - UnityPrintExpectedAndActualStringsLen
    linkageType: ''
    returnType: void
    signature: "void UnityAssertEqualStringLen(const char* expected,\n                               const
      char* actual,\n                               const UNITY_UINT32 length,\n                               const
      char* msg,\n                               const UNITY_LINE_TYPE lineNumber)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: UnityPrintPointlessAndBail
      Src: /src/cJSON/tests/unity/src/unity.c:1100,1
    - Dst: UnityIsOneArrayNull
      Src: /src/cJSON/tests/unity/src/unity.c:1108,1
    - Dst: UnityTestResultsFailBegin
      Src: /src/cJSON/tests/unity/src/unity.c:1148,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:1151,1
    - Dst: UnityPrintNumberUnsigned
      Src: /src/cJSON/tests/unity/src/unity.c:1152,1
    - Dst: UnityPrintExpectedAndActualStrings
      Src: /src/cJSON/tests/unity/src/unity.c:1154,1
    - Dst: UnityAddMsgIfSpecified
      Src: /src/cJSON/tests/unity/src/unity.c:1155,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 6
    argNames:
    - expected
    - actual
    - num_elements
    - msg
    - lineNumber
    - flags
    argTypes:
    - UNITY_INTERNAL_PTR
    - char**
    - UNITY_UINT32
    - char*
    - UNITY_LINE_TYPE
    - UNITY_FLAGS_T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1083
    functionDepth: 5
    functionLinenumber: 1083
    functionLinenumberEnd: 1159
    functionName: UnityAssertEqualStringArray
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UnityPrintExpectedAndActualStrings
    - UnityPrint
    - UnityAddMsgIfSpecified
    - UnityPrintNumberUnsigned
    - UnityTestResultsFailBegin
    - UnityIsOneArrayNull
    - UnityPrintPointlessAndBail
    linkageType: ''
    returnType: void
    signature: "void UnityAssertEqualStringArray(UNITY_INTERNAL_PTR expected,\n                                 const
      char** actual,\n                                 const UNITY_UINT32 num_elements,\n
      \                                const char* msg,\n                                 const
      UNITY_LINE_TYPE lineNumber,\n                                 const UNITY_FLAGS_T
      flags)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UnityPrintPointlessAndBail
      Src: /src/cJSON/tests/unity/src/unity.c:1179,1
    - Dst: UnityIsOneArrayNull
      Src: /src/cJSON/tests/unity/src/unity.c:1183,1
    - Dst: UnityTestResultsFailBegin
      Src: /src/cJSON/tests/unity/src/unity.c:1193,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:1194,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:1197,1
    - Dst: UnityPrintNumberUnsigned
      Src: /src/cJSON/tests/unity/src/unity.c:1198,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:1200,1
    - Dst: UnityPrintNumberUnsigned
      Src: /src/cJSON/tests/unity/src/unity.c:1201,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:1202,1
    - Dst: UnityPrintNumberByStyle
      Src: /src/cJSON/tests/unity/src/unity.c:1203,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:1204,1
    - Dst: UnityPrintNumberByStyle
      Src: /src/cJSON/tests/unity/src/unity.c:1205,1
    - Dst: UnityAddMsgIfSpecified
      Src: /src/cJSON/tests/unity/src/unity.c:1206,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 7
    argNames:
    - expected
    - actual
    - length
    - num_elements
    - msg
    - lineNumber
    - flags
    argTypes:
    - UNITY_INTERNAL_PTR
    - UNITY_INTERNAL_PTR
    - UNITY_UINT32
    - UNITY_UINT32
    - char*
    - UNITY_LINE_TYPE
    - UNITY_FLAGS_T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1162
    functionDepth: 5
    functionLinenumber: 1162
    functionLinenumberEnd: 1217
    functionName: UnityAssertEqualMemory
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UnityPrint
    - UnityAddMsgIfSpecified
    - UnityPrintNumberUnsigned
    - UnityTestResultsFailBegin
    - UnityIsOneArrayNull
    - UnityPrintNumberByStyle
    - UnityPrintPointlessAndBail
    linkageType: ''
    returnType: void
    signature: "void UnityAssertEqualMemory(UNITY_INTERNAL_PTR expected,\n                            UNITY_INTERNAL_PTR
      actual,\n                            const UNITY_UINT32 length,\n                            const
      UNITY_UINT32 num_elements,\n                            const char* msg,\n                            const
      UNITY_LINE_TYPE lineNumber,\n                            const UNITY_FLAGS_T
      flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - num
    - size
    argTypes:
    - UNITY_INT
    - UNITY_UINT8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1258
    functionName: UnityNumToPtr
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UNITY_INTERNAL_PTR
    signature: UNITY_INTERNAL_PTR UnityNumToPtr(const UNITY_INT num, const UNITY_UINT8
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1265
    functionName: UnityFloatToPtr
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UNITY_INTERNAL_PTR
    signature: UNITY_INTERNAL_PTR UnityFloatToPtr(const float num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1273
    functionName: UnityDoubleToPtr
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UNITY_INTERNAL_PTR
    signature: UNITY_INTERNAL_PTR UnityDoubleToPtr(const double num)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UnityTestResultsBegin
      Src: /src/cJSON/tests/unity/src/unity.c:1284,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:1285,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:1288,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:1293,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:1294,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:1297,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:1298,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:1300,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:1305,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:1307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - msg
    - line
    argTypes:
    - char*
    - UNITY_LINE_TYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1280
    functionDepth: 3
    functionLinenumber: 1280
    functionLinenumberEnd: 1311
    functionName: UnityFail
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UNITY_OUTPUT_CHAR
    - UnityTestResultsBegin
    - UnityPrint
    linkageType: ''
    returnType: void
    signature: void UnityFail(const char* msg, const UNITY_LINE_TYPE line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UnityTestResultsBegin
      Src: /src/cJSON/tests/unity/src/unity.c:1318,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:1319,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:1322,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:1323,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:1324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - msg
    - line
    argTypes:
    - char*
    - UNITY_LINE_TYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1314
    functionDepth: 3
    functionLinenumber: 1314
    functionLinenumberEnd: 1327
    functionName: UnityIgnore
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UNITY_OUTPUT_CHAR
    - UnityTestResultsBegin
    - UnityPrint
    linkageType: ''
    returnType: void
    signature: void UnityIgnore(const char* msg, const UNITY_LINE_TYPE line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_CLR_DETAILS
      Src: /src/cJSON/tests/unity/src/unity.c:1335,1
    - Dst: TEST_PROTECT
      Src: /src/cJSON/tests/unity/src/unity.c:1336,1
    - Dst: setUp
      Src: /src/cJSON/tests/unity/src/unity.c:1338,1
    - Dst: Func
      Src: /src/cJSON/tests/unity/src/unity.c:1339,1
    - Dst: TEST_PROTECT
      Src: /src/cJSON/tests/unity/src/unity.c:1341,1
    - Dst: tearDown
      Src: /src/cJSON/tests/unity/src/unity.c:1343,1
    - Dst: UnityConcludeTest
      Src: /src/cJSON/tests/unity/src/unity.c:1345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - Func
    - FuncName
    - FuncLineNum
    argTypes:
    - UnityTestFunction
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1330
    functionDepth: 4
    functionLinenumber: 1330
    functionLinenumberEnd: 1346
    functionName: UnityDefaultTestRun
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UNITY_CLR_DETAILS
    - TEST_PROTECT
    - UnityConcludeTest
    - Func
    - tearDown
    - setUp
    linkageType: ''
    returnType: void
    signature: void UnityDefaultTestRun(UnityTestFunction Func, const char* FuncName,
      const int FuncLineNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_CLR_DETAILS
      Src: /src/cJSON/tests/unity/src/unity.c:1360,1
    - Dst: UNITY_OUTPUT_START
      Src: /src/cJSON/tests/unity/src/unity.c:1361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1349
    functionDepth: 1
    functionLinenumber: 1349
    functionLinenumberEnd: 1362
    functionName: UnityBegin
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 18
    functionsReached:
    - UNITY_OUTPUT_START
    - UNITY_CLR_DETAILS
    linkageType: ''
    returnType: void
    signature: void UnityBegin(const char* filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_PRINT_EOL
      Src: /src/cJSON/tests/unity/src/unity.c:1367,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:1368,1
    - Dst: UNITY_PRINT_EOL
      Src: /src/cJSON/tests/unity/src/unity.c:1369,1
    - Dst: UnityPrintNumber
      Src: /src/cJSON/tests/unity/src/unity.c:1370,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:1371,1
    - Dst: UnityPrintNumber
      Src: /src/cJSON/tests/unity/src/unity.c:1372,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:1373,1
    - Dst: UnityPrintNumber
      Src: /src/cJSON/tests/unity/src/unity.c:1374,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:1375,1
    - Dst: UNITY_PRINT_EOL
      Src: /src/cJSON/tests/unity/src/unity.c:1376,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:1379,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:1383,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:1385,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:1385,1
    - Dst: UNITY_PRINT_EOL
      Src: /src/cJSON/tests/unity/src/unity.c:1388,1
    - Dst: UNITY_FLUSH_CALL
      Src: /src/cJSON/tests/unity/src/unity.c:1389,1
    - Dst: UNITY_OUTPUT_COMPLETE
      Src: /src/cJSON/tests/unity/src/unity.c:1390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1365
    functionDepth: 2
    functionLinenumber: 1365
    functionLinenumberEnd: 1392
    functionName: UnityEnd
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 19
    functionsReached:
    - UnityPrint
    - UnityPrintNumber
    - UNITY_FLUSH_CALL
    - UNITY_OUTPUT_CHAR
    - UNITY_PRINT_EOL
    - UNITY_OUTPUT_COMPLETE
    linkageType: ''
    returnType: int
    signature: int UnityEnd(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:1424,1
    - Dst: UNITY_PRINT_EOL
      Src: /src/cJSON/tests/unity/src/unity.c:1425,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:1442,1
    - Dst: UNITY_PRINT_EOL
      Src: /src/cJSON/tests/unity/src/unity.c:1443,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/src/unity.c:1448,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/src/unity.c:1449,1
    - Dst: UNITY_PRINT_EOL
      Src: /src/cJSON/tests/unity/src/unity.c:1450,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1403
    functionDepth: 2
    functionLinenumber: 1403
    functionLinenumberEnd: 1457
    functionName: UnityParseOptions
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UNITY_OUTPUT_CHAR
    - UNITY_PRINT_EOL
    - UnityPrint
    linkageType: ''
    returnType: int
    signature: int UnityParseOptions(int argc, char** argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - longstring
    - shortstring
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1459
    functionDepth: 0
    functionLinenumber: 1459
    functionLinenumberEnd: 1498
    functionName: IsStringInBiggerString
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int IsStringInBiggerString(const char* longstring, const char* shortstring)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IsStringInBiggerString
      Src: /src/cJSON/tests/unity/src/unity.c:1527,1
    - Dst: IsStringInBiggerString
      Src: /src/cJSON/tests/unity/src/unity.c:1534,1
    - Dst: IsStringInBiggerString
      Src: /src/cJSON/tests/unity/src/unity.c:1539,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 26
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1547
      start: 1500
    functionDepth: 1
    functionLinenumber: 1500
    functionLinenumberEnd: 1547
    functionName: UnityStringArgumentMatches
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - IsStringInBiggerString
    linkageType: ''
    returnType: int
    signature: int UnityStringArgumentMatches(const char* str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UnityStringArgumentMatches
      Src: /src/cJSON/tests/unity/src/unity.c:1555,1
    - Dst: UnityStringArgumentMatches
      Src: /src/cJSON/tests/unity/src/unity.c:1563,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1549
    functionDepth: 2
    functionLinenumber: 1549
    functionLinenumberEnd: 1567
    functionName: UnityTestMatches
    functionSourceFile: /src/cJSON/tests/unity/src/unity.c
    functionUses: 0
    functionsReached:
    - UnityStringArgumentMatches
    linkageType: ''
    returnType: int
    signature: int UnityTestMatches(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: setUp
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: UNITY_WEAK_ATTRIBUTE
    signature: UNITY_WEAK_ATTRIBUTE setUp(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: tearDown
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: UNITY_WEAK_ATTRIBUTE
    signature: UNITY_WEAK_ATTRIBUTE tearDown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: suiteSetUp
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UNITY_WEAK_ATTRIBUTE
    signature: UNITY_WEAK_ATTRIBUTE suiteSetUp(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_failures
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: suiteTearDown
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UNITY_WEAK_ATTRIBUTE
    signature: UNITY_WEAK_ATTRIBUTE suiteTearDown(int num_failures)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: setUp
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setUp(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: tearDown
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tearDown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: suiteSetUp
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void suiteSetUp(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - num_failures
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: suiteTearDown
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int suiteTearDown(int num_failures)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: TEST_FAIL_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_FAIL_MESSAGE(message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: TEST_FAIL
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_FAIL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: TEST_IGNORE_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_IGNORE_MESSAGE(message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: TEST_IGNORE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 151
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_IGNORE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: TEST_PASS
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_PASS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - condition
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: TEST_ASSERT
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT(condition)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - condition
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: TEST_ASSERT_TRUE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_TRUE(condition)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - condition
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: TEST_ASSERT_UNLESS
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_UNLESS(condition)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - condition
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: TEST_ASSERT_FALSE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_FALSE(condition)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pointer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: TEST_ASSERT_NULL
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_NULL(pointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pointer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: TEST_ASSERT_NOT_NULL
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_NOT_NULL(pointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: TEST_ASSERT_EQUAL_INT
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_INT(expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: TEST_ASSERT_EQUAL_INT8
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_INT8(expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: TEST_ASSERT_EQUAL_INT16
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_INT16(expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: TEST_ASSERT_EQUAL_INT32
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_INT32(expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: TEST_ASSERT_EQUAL_INT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_INT64(expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: TEST_ASSERT_EQUAL
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL(expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: TEST_ASSERT_NOT_EQUAL
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_NOT_EQUAL(expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: TEST_ASSERT_EQUAL_UINT
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_UINT(expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: TEST_ASSERT_EQUAL_UINT8
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_UINT8(expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: TEST_ASSERT_EQUAL_UINT16
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_UINT16(expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: TEST_ASSERT_EQUAL_UINT32
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_UINT32(expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: TEST_ASSERT_EQUAL_UINT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_UINT64(expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: TEST_ASSERT_EQUAL_HEX
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_HEX(expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: TEST_ASSERT_EQUAL_HEX8
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_HEX8(expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: TEST_ASSERT_EQUAL_HEX16
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_HEX16(expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: TEST_ASSERT_EQUAL_HEX32
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_HEX32(expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: TEST_ASSERT_EQUAL_HEX64
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_HEX64(expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mask
    - ','
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: TEST_ASSERT_BITS
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_BITS(mask, expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mask
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: TEST_ASSERT_BITS_HIGH
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_BITS_HIGH(mask, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mask
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: TEST_ASSERT_BITS_LOW
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_BITS_LOW(mask, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bit
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: TEST_ASSERT_BIT_HIGH
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_BIT_HIGH(bit, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bit
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: TEST_ASSERT_BIT_LOW
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_BIT_LOW(bit, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: TEST_ASSERT_GREATER_THAN
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_THAN(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: TEST_ASSERT_GREATER_THAN_INT
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_THAN_INT(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: TEST_ASSERT_GREATER_THAN_INT8
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_THAN_INT8(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: TEST_ASSERT_GREATER_THAN_INT16
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_THAN_INT16(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: TEST_ASSERT_GREATER_THAN_INT32
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_THAN_INT32(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: TEST_ASSERT_GREATER_THAN_INT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_THAN_INT64(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: TEST_ASSERT_GREATER_THAN_UINT
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_THAN_UINT(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: TEST_ASSERT_GREATER_THAN_UINT8
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_THAN_UINT8(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: TEST_ASSERT_GREATER_THAN_UINT16
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_THAN_UINT16(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: TEST_ASSERT_GREATER_THAN_UINT32
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_THAN_UINT32(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: TEST_ASSERT_GREATER_THAN_UINT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_THAN_UINT64(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: TEST_ASSERT_GREATER_THAN_HEX8
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_THAN_HEX8(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 165
    functionName: TEST_ASSERT_GREATER_THAN_HEX16
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_THAN_HEX16(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: TEST_ASSERT_GREATER_THAN_HEX32
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_THAN_HEX32(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: TEST_ASSERT_GREATER_THAN_HEX64
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_THAN_HEX64(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: TEST_ASSERT_LESS_THAN
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_THAN(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: TEST_ASSERT_LESS_THAN_INT
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_THAN_INT(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: TEST_ASSERT_LESS_THAN_INT8
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_THAN_INT8(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: TEST_ASSERT_LESS_THAN_INT16
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_THAN_INT16(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: TEST_ASSERT_LESS_THAN_INT32
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_THAN_INT32(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: TEST_ASSERT_LESS_THAN_INT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_THAN_INT64(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: TEST_ASSERT_LESS_THAN_UINT
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_THAN_UINT(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: TEST_ASSERT_LESS_THAN_UINT8
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_THAN_UINT8(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: TEST_ASSERT_LESS_THAN_UINT16
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_THAN_UINT16(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 178
    functionName: TEST_ASSERT_LESS_THAN_UINT32
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_THAN_UINT32(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 179
    functionName: TEST_ASSERT_LESS_THAN_UINT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_THAN_UINT64(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: TEST_ASSERT_LESS_THAN_HEX8
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_THAN_HEX8(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 181
    functionName: TEST_ASSERT_LESS_THAN_HEX16
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_THAN_HEX16(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: TEST_ASSERT_LESS_THAN_HEX32
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_THAN_HEX32(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 183
    functionName: TEST_ASSERT_LESS_THAN_HEX64
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_THAN_HEX64(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: TEST_ASSERT_GREATER_OR_EQUAL
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_OR_EQUAL(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: TEST_ASSERT_GREATER_OR_EQUAL_INT
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_OR_EQUAL_INT(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: TEST_ASSERT_GREATER_OR_EQUAL_INT8
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_OR_EQUAL_INT8(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: TEST_ASSERT_GREATER_OR_EQUAL_INT16
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_OR_EQUAL_INT16(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: TEST_ASSERT_GREATER_OR_EQUAL_INT32
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_OR_EQUAL_INT32(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: TEST_ASSERT_GREATER_OR_EQUAL_INT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_OR_EQUAL_INT64(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: TEST_ASSERT_GREATER_OR_EQUAL_UINT
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_OR_EQUAL_UINT(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: TEST_ASSERT_GREATER_OR_EQUAL_UINT8
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_OR_EQUAL_UINT8(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 193
    functionName: TEST_ASSERT_GREATER_OR_EQUAL_UINT16
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_OR_EQUAL_UINT16(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: TEST_ASSERT_GREATER_OR_EQUAL_UINT32
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_OR_EQUAL_UINT32(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: TEST_ASSERT_GREATER_OR_EQUAL_UINT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_OR_EQUAL_UINT64(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 196
    functionName: TEST_ASSERT_GREATER_OR_EQUAL_HEX8
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_OR_EQUAL_HEX8(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: TEST_ASSERT_GREATER_OR_EQUAL_HEX16
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_OR_EQUAL_HEX16(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: TEST_ASSERT_GREATER_OR_EQUAL_HEX32
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_OR_EQUAL_HEX32(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 199
    functionName: TEST_ASSERT_GREATER_OR_EQUAL_HEX64
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_OR_EQUAL_HEX64(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: TEST_ASSERT_LESS_OR_EQUAL
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_OR_EQUAL(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: TEST_ASSERT_LESS_OR_EQUAL_INT
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_OR_EQUAL_INT(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: TEST_ASSERT_LESS_OR_EQUAL_INT8
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_OR_EQUAL_INT8(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: TEST_ASSERT_LESS_OR_EQUAL_INT16
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_OR_EQUAL_INT16(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 205
    functionName: TEST_ASSERT_LESS_OR_EQUAL_INT32
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_OR_EQUAL_INT32(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: TEST_ASSERT_LESS_OR_EQUAL_INT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_OR_EQUAL_INT64(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 207
    functionName: TEST_ASSERT_LESS_OR_EQUAL_UINT
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_OR_EQUAL_UINT(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 208
    functionName: TEST_ASSERT_LESS_OR_EQUAL_UINT8
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_OR_EQUAL_UINT8(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 209
    functionName: TEST_ASSERT_LESS_OR_EQUAL_UINT16
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_OR_EQUAL_UINT16(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: TEST_ASSERT_LESS_OR_EQUAL_UINT32
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_OR_EQUAL_UINT32(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 211
    functionName: TEST_ASSERT_LESS_OR_EQUAL_UINT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_OR_EQUAL_UINT64(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 212
    functionName: TEST_ASSERT_LESS_OR_EQUAL_HEX8
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_OR_EQUAL_HEX8(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 213
    functionName: TEST_ASSERT_LESS_OR_EQUAL_HEX16
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_OR_EQUAL_HEX16(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 214
    functionName: TEST_ASSERT_LESS_OR_EQUAL_HEX32
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_OR_EQUAL_HEX32(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - threshold
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: TEST_ASSERT_LESS_OR_EQUAL_HEX64
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_OR_EQUAL_HEX64(threshold, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 218
    functionName: TEST_ASSERT_INT_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_INT_WITHIN(delta, expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 219
    functionName: TEST_ASSERT_INT8_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_INT8_WITHIN(delta, expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 220
    functionName: TEST_ASSERT_INT16_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_INT16_WITHIN(delta, expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 221
    functionName: TEST_ASSERT_INT32_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_INT32_WITHIN(delta, expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 222
    functionName: TEST_ASSERT_INT64_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_INT64_WITHIN(delta, expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 223
    functionName: TEST_ASSERT_UINT_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_UINT_WITHIN(delta, expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 224
    functionName: TEST_ASSERT_UINT8_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_UINT8_WITHIN(delta, expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: TEST_ASSERT_UINT16_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_UINT16_WITHIN(delta, expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: TEST_ASSERT_UINT32_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_UINT32_WITHIN(delta, expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: TEST_ASSERT_UINT64_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_UINT64_WITHIN(delta, expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 228
    functionName: TEST_ASSERT_HEX_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_HEX_WITHIN(delta, expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: TEST_ASSERT_HEX8_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_HEX8_WITHIN(delta, expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: TEST_ASSERT_HEX16_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_HEX16_WITHIN(delta, expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 231
    functionName: TEST_ASSERT_HEX32_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_HEX32_WITHIN(delta, expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 232
    functionName: TEST_ASSERT_HEX64_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_HEX64_WITHIN(delta, expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: TEST_ASSERT_EQUAL_PTR
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_PTR(expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 236
    functionName: TEST_ASSERT_EQUAL_STRING
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_STRING(expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: TEST_ASSERT_EQUAL_STRING_LEN
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 238
    functionName: TEST_ASSERT_EQUAL_MEMORY
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_MEMORY(expected, actual, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    functionName: TEST_ASSERT_EQUAL_INT_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_INT_ARRAY(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: TEST_ASSERT_EQUAL_INT8_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_INT8_ARRAY(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: TEST_ASSERT_EQUAL_INT16_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_INT16_ARRAY(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: TEST_ASSERT_EQUAL_INT32_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_INT32_ARRAY(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: TEST_ASSERT_EQUAL_INT64_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: TEST_ASSERT_EQUAL_UINT_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_UINT_ARRAY(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: TEST_ASSERT_EQUAL_UINT8_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_UINT8_ARRAY(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 248
    functionName: TEST_ASSERT_EQUAL_UINT16_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_UINT16_ARRAY(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 249
    functionName: TEST_ASSERT_EQUAL_UINT32_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_UINT32_ARRAY(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 250
    functionName: TEST_ASSERT_EQUAL_UINT64_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 251
    functionName: TEST_ASSERT_EQUAL_HEX_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_HEX_ARRAY(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    functionName: TEST_ASSERT_EQUAL_HEX8_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 253
    functionName: TEST_ASSERT_EQUAL_HEX16_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 254
    functionName: TEST_ASSERT_EQUAL_HEX32_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 255
    functionName: TEST_ASSERT_EQUAL_HEX64_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 256
    functionName: TEST_ASSERT_EQUAL_PTR_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 257
    functionName: TEST_ASSERT_EQUAL_STRING_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - len
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 258
    functionName: TEST_ASSERT_EQUAL_MEMORY_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 261
    functionName: TEST_ASSERT_EACH_EQUAL_INT
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_INT(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 262
    functionName: TEST_ASSERT_EACH_EQUAL_INT8
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_INT8(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 263
    functionName: TEST_ASSERT_EACH_EQUAL_INT16
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_INT16(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: TEST_ASSERT_EACH_EQUAL_INT32
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_INT32(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 265
    functionName: TEST_ASSERT_EACH_EQUAL_INT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_INT64(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    functionName: TEST_ASSERT_EACH_EQUAL_UINT
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_UINT(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 267
    functionName: TEST_ASSERT_EACH_EQUAL_UINT8
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_UINT8(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 268
    functionName: TEST_ASSERT_EACH_EQUAL_UINT16
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_UINT16(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 269
    functionName: TEST_ASSERT_EACH_EQUAL_UINT32
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_UINT32(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 270
    functionName: TEST_ASSERT_EACH_EQUAL_UINT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_UINT64(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 271
    functionName: TEST_ASSERT_EACH_EQUAL_HEX
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_HEX(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 272
    functionName: TEST_ASSERT_EACH_EQUAL_HEX8
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_HEX8(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 273
    functionName: TEST_ASSERT_EACH_EQUAL_HEX16
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_HEX16(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 274
    functionName: TEST_ASSERT_EACH_EQUAL_HEX32
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_HEX32(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 275
    functionName: TEST_ASSERT_EACH_EQUAL_HEX64
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_HEX64(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 276
    functionName: TEST_ASSERT_EACH_EQUAL_PTR
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_PTR(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 277
    functionName: TEST_ASSERT_EACH_EQUAL_STRING
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_STRING(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - len
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 278
    functionName: TEST_ASSERT_EACH_EQUAL_MEMORY
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_MEMORY(expected, actual, len, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 281
    functionName: TEST_ASSERT_FLOAT_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 282
    functionName: TEST_ASSERT_EQUAL_FLOAT
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_FLOAT(expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 283
    functionName: TEST_ASSERT_EQUAL_FLOAT_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 284
    functionName: TEST_ASSERT_EACH_EQUAL_FLOAT
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_FLOAT(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 285
    functionName: TEST_ASSERT_FLOAT_IS_INF
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_FLOAT_IS_INF(actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: TEST_ASSERT_FLOAT_IS_NEG_INF
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_FLOAT_IS_NEG_INF(actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 287
    functionName: TEST_ASSERT_FLOAT_IS_NAN
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_FLOAT_IS_NAN(actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 288
    functionName: TEST_ASSERT_FLOAT_IS_DETERMINATE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_FLOAT_IS_DETERMINATE(actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    functionName: TEST_ASSERT_FLOAT_IS_NOT_INF
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_FLOAT_IS_NOT_INF(actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 290
    functionName: TEST_ASSERT_FLOAT_IS_NOT_NEG_INF
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: TEST_ASSERT_FLOAT_IS_NOT_NAN
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_FLOAT_IS_NOT_NAN(actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 292
    functionName: TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    functionName: TEST_ASSERT_DOUBLE_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    functionName: TEST_ASSERT_EQUAL_DOUBLE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_DOUBLE(expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 297
    functionName: TEST_ASSERT_EQUAL_DOUBLE_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 298
    functionName: TEST_ASSERT_EACH_EQUAL_DOUBLE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_DOUBLE(expected, actual, num_elements)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 299
    functionName: TEST_ASSERT_DOUBLE_IS_INF
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_DOUBLE_IS_INF(actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 300
    functionName: TEST_ASSERT_DOUBLE_IS_NEG_INF
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_DOUBLE_IS_NEG_INF(actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: TEST_ASSERT_DOUBLE_IS_NAN
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_DOUBLE_IS_NAN(actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 302
    functionName: TEST_ASSERT_DOUBLE_IS_DETERMINATE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_DOUBLE_IS_DETERMINATE(actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 303
    functionName: TEST_ASSERT_DOUBLE_IS_NOT_INF
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_DOUBLE_IS_NOT_INF(actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 304
    functionName: TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF(actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 305
    functionName: TEST_ASSERT_DOUBLE_IS_NOT_NAN
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_DOUBLE_IS_NOT_NAN(actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 306
    functionName: TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - condition
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 313
    functionName: TEST_ASSERT_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_MESSAGE(condition, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - condition
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 314
    functionName: TEST_ASSERT_TRUE_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_TRUE_MESSAGE(condition, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - condition
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 315
    functionName: TEST_ASSERT_UNLESS_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_UNLESS_MESSAGE(condition, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - condition
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 316
    functionName: TEST_ASSERT_FALSE_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_FALSE_MESSAGE(condition, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pointer
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 317
    functionName: TEST_ASSERT_NULL_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_NULL_MESSAGE(pointer, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pointer
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 318
    functionName: TEST_ASSERT_NOT_NULL_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_NOT_NULL_MESSAGE(pointer, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 321
    functionName: TEST_ASSERT_EQUAL_INT_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_INT_MESSAGE(expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 322
    functionName: TEST_ASSERT_EQUAL_INT8_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_INT8_MESSAGE(expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 323
    functionName: TEST_ASSERT_EQUAL_INT16_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_INT16_MESSAGE(expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 324
    functionName: TEST_ASSERT_EQUAL_INT32_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_INT32_MESSAGE(expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 325
    functionName: TEST_ASSERT_EQUAL_INT64_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_INT64_MESSAGE(expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 326
    functionName: TEST_ASSERT_EQUAL_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_MESSAGE(expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 327
    functionName: TEST_ASSERT_NOT_EQUAL_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_NOT_EQUAL_MESSAGE(expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 328
    functionName: TEST_ASSERT_EQUAL_UINT_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_UINT_MESSAGE(expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 329
    functionName: TEST_ASSERT_EQUAL_UINT8_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_UINT8_MESSAGE(expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 330
    functionName: TEST_ASSERT_EQUAL_UINT16_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_UINT16_MESSAGE(expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 331
    functionName: TEST_ASSERT_EQUAL_UINT32_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_UINT32_MESSAGE(expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 332
    functionName: TEST_ASSERT_EQUAL_UINT64_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_UINT64_MESSAGE(expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 333
    functionName: TEST_ASSERT_EQUAL_HEX_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_HEX_MESSAGE(expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 334
    functionName: TEST_ASSERT_EQUAL_HEX8_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_HEX8_MESSAGE(expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 335
    functionName: TEST_ASSERT_EQUAL_HEX16_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_HEX16_MESSAGE(expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 336
    functionName: TEST_ASSERT_EQUAL_HEX32_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_HEX32_MESSAGE(expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 337
    functionName: TEST_ASSERT_EQUAL_HEX64_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_HEX64_MESSAGE(expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - mask
    - ','
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 338
    functionName: TEST_ASSERT_BITS_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_BITS_MESSAGE(mask, expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mask
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 339
    functionName: TEST_ASSERT_BITS_HIGH_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_BITS_HIGH_MESSAGE(mask, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mask
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 340
    functionName: TEST_ASSERT_BITS_LOW_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_BITS_LOW_MESSAGE(mask, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - bit
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 341
    functionName: TEST_ASSERT_BIT_HIGH_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_BIT_HIGH_MESSAGE(bit, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - bit
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 342
    functionName: TEST_ASSERT_BIT_LOW_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_BIT_LOW_MESSAGE(bit, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 345
    functionName: TEST_ASSERT_GREATER_THAN_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_THAN_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 346
    functionName: TEST_ASSERT_GREATER_THAN_INT_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_THAN_INT_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 347
    functionName: TEST_ASSERT_GREATER_THAN_INT8_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_THAN_INT8_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 348
    functionName: TEST_ASSERT_GREATER_THAN_INT16_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_THAN_INT16_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 349
    functionName: TEST_ASSERT_GREATER_THAN_INT32_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_THAN_INT32_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 350
    functionName: TEST_ASSERT_GREATER_THAN_INT64_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_THAN_INT64_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 351
    functionName: TEST_ASSERT_GREATER_THAN_UINT_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_THAN_UINT_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 352
    functionName: TEST_ASSERT_GREATER_THAN_UINT8_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_THAN_UINT8_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 353
    functionName: TEST_ASSERT_GREATER_THAN_UINT16_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_THAN_UINT16_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 354
    functionName: TEST_ASSERT_GREATER_THAN_UINT32_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_THAN_UINT32_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 355
    functionName: TEST_ASSERT_GREATER_THAN_UINT64_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_THAN_UINT64_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 356
    functionName: TEST_ASSERT_GREATER_THAN_HEX8_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_THAN_HEX8_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 357
    functionName: TEST_ASSERT_GREATER_THAN_HEX16_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_THAN_HEX16_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 358
    functionName: TEST_ASSERT_GREATER_THAN_HEX32_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_THAN_HEX32_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 359
    functionName: TEST_ASSERT_GREATER_THAN_HEX64_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_THAN_HEX64_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 361
    functionName: TEST_ASSERT_LESS_THAN_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_THAN_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 362
    functionName: TEST_ASSERT_LESS_THAN_INT_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_THAN_INT_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 363
    functionName: TEST_ASSERT_LESS_THAN_INT8_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_THAN_INT8_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 364
    functionName: TEST_ASSERT_LESS_THAN_INT16_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_THAN_INT16_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 365
    functionName: TEST_ASSERT_LESS_THAN_INT32_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_THAN_INT32_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 366
    functionName: TEST_ASSERT_LESS_THAN_INT64_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_THAN_INT64_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 367
    functionName: TEST_ASSERT_LESS_THAN_UINT_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_THAN_UINT_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 368
    functionName: TEST_ASSERT_LESS_THAN_UINT8_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_THAN_UINT8_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 369
    functionName: TEST_ASSERT_LESS_THAN_UINT16_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_THAN_UINT16_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 370
    functionName: TEST_ASSERT_LESS_THAN_UINT32_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_THAN_UINT32_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 371
    functionName: TEST_ASSERT_LESS_THAN_UINT64_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_THAN_UINT64_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 372
    functionName: TEST_ASSERT_LESS_THAN_HEX8_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_THAN_HEX8_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 373
    functionName: TEST_ASSERT_LESS_THAN_HEX16_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_THAN_HEX16_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 374
    functionName: TEST_ASSERT_LESS_THAN_HEX32_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_THAN_HEX32_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 375
    functionName: TEST_ASSERT_LESS_THAN_HEX64_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_THAN_HEX64_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 377
    functionName: TEST_ASSERT_GREATER_OR_EQUAL_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_OR_EQUAL_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 378
    functionName: TEST_ASSERT_GREATER_OR_EQUAL_INT_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_OR_EQUAL_INT_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 379
    functionName: TEST_ASSERT_GREATER_OR_EQUAL_INT8_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_OR_EQUAL_INT8_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 380
    functionName: TEST_ASSERT_GREATER_OR_EQUAL_INT16_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_OR_EQUAL_INT16_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 381
    functionName: TEST_ASSERT_GREATER_OR_EQUAL_INT32_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_OR_EQUAL_INT32_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 382
    functionName: TEST_ASSERT_GREATER_OR_EQUAL_INT64_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_OR_EQUAL_INT64_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 383
    functionName: TEST_ASSERT_GREATER_OR_EQUAL_UINT_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_OR_EQUAL_UINT_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 384
    functionName: TEST_ASSERT_GREATER_OR_EQUAL_UINT8_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_OR_EQUAL_UINT8_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 385
    functionName: TEST_ASSERT_GREATER_OR_EQUAL_UINT16_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_OR_EQUAL_UINT16_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 386
    functionName: TEST_ASSERT_GREATER_OR_EQUAL_UINT32_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_OR_EQUAL_UINT32_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 387
    functionName: TEST_ASSERT_GREATER_OR_EQUAL_UINT64_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_OR_EQUAL_UINT64_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 388
    functionName: TEST_ASSERT_GREATER_OR_EQUAL_HEX8_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_OR_EQUAL_HEX8_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 389
    functionName: TEST_ASSERT_GREATER_OR_EQUAL_HEX16_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_OR_EQUAL_HEX16_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 390
    functionName: TEST_ASSERT_GREATER_OR_EQUAL_HEX32_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_OR_EQUAL_HEX32_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 391
    functionName: TEST_ASSERT_GREATER_OR_EQUAL_HEX64_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_GREATER_OR_EQUAL_HEX64_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 393
    functionName: TEST_ASSERT_LESS_OR_EQUAL_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_OR_EQUAL_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 394
    functionName: TEST_ASSERT_LESS_OR_EQUAL_INT_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_OR_EQUAL_INT_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 395
    functionName: TEST_ASSERT_LESS_OR_EQUAL_INT8_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_OR_EQUAL_INT8_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 396
    functionName: TEST_ASSERT_LESS_OR_EQUAL_INT16_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_OR_EQUAL_INT16_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 397
    functionName: TEST_ASSERT_LESS_OR_EQUAL_INT32_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_OR_EQUAL_INT32_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 398
    functionName: TEST_ASSERT_LESS_OR_EQUAL_INT64_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_OR_EQUAL_INT64_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 399
    functionName: TEST_ASSERT_LESS_OR_EQUAL_UINT_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_OR_EQUAL_UINT_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 400
    functionName: TEST_ASSERT_LESS_OR_EQUAL_UINT8_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_OR_EQUAL_UINT8_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 401
    functionName: TEST_ASSERT_LESS_OR_EQUAL_UINT16_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_OR_EQUAL_UINT16_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 402
    functionName: TEST_ASSERT_LESS_OR_EQUAL_UINT32_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_OR_EQUAL_UINT32_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 403
    functionName: TEST_ASSERT_LESS_OR_EQUAL_UINT64_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_OR_EQUAL_UINT64_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 404
    functionName: TEST_ASSERT_LESS_OR_EQUAL_HEX8_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_OR_EQUAL_HEX8_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 405
    functionName: TEST_ASSERT_LESS_OR_EQUAL_HEX16_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_OR_EQUAL_HEX16_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 406
    functionName: TEST_ASSERT_LESS_OR_EQUAL_HEX32_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_OR_EQUAL_HEX32_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 407
    functionName: TEST_ASSERT_LESS_OR_EQUAL_HEX64_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LESS_OR_EQUAL_HEX64_MESSAGE(threshold, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 410
    functionName: TEST_ASSERT_INT_WITHIN_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_INT_WITHIN_MESSAGE(delta, expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 411
    functionName: TEST_ASSERT_INT8_WITHIN_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_INT8_WITHIN_MESSAGE(delta, expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 412
    functionName: TEST_ASSERT_INT16_WITHIN_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_INT16_WITHIN_MESSAGE(delta, expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 413
    functionName: TEST_ASSERT_INT32_WITHIN_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_INT32_WITHIN_MESSAGE(delta, expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 414
    functionName: TEST_ASSERT_INT64_WITHIN_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_INT64_WITHIN_MESSAGE(delta, expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 415
    functionName: TEST_ASSERT_UINT_WITHIN_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_UINT_WITHIN_MESSAGE(delta, expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 416
    functionName: TEST_ASSERT_UINT8_WITHIN_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_UINT8_WITHIN_MESSAGE(delta, expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 417
    functionName: TEST_ASSERT_UINT16_WITHIN_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_UINT16_WITHIN_MESSAGE(delta, expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 418
    functionName: TEST_ASSERT_UINT32_WITHIN_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_UINT32_WITHIN_MESSAGE(delta, expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 419
    functionName: TEST_ASSERT_UINT64_WITHIN_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_UINT64_WITHIN_MESSAGE(delta, expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 420
    functionName: TEST_ASSERT_HEX_WITHIN_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_HEX_WITHIN_MESSAGE(delta, expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 421
    functionName: TEST_ASSERT_HEX8_WITHIN_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_HEX8_WITHIN_MESSAGE(delta, expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 422
    functionName: TEST_ASSERT_HEX16_WITHIN_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_HEX16_WITHIN_MESSAGE(delta, expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 423
    functionName: TEST_ASSERT_HEX32_WITHIN_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_HEX32_WITHIN_MESSAGE(delta, expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 424
    functionName: TEST_ASSERT_HEX64_WITHIN_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_HEX64_WITHIN_MESSAGE(delta, expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 427
    functionName: TEST_ASSERT_EQUAL_PTR_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_PTR_MESSAGE(expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 428
    functionName: TEST_ASSERT_EQUAL_STRING_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_STRING_MESSAGE(expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - len
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 429
    functionName: TEST_ASSERT_EQUAL_STRING_LEN_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_STRING_LEN_MESSAGE(expected, actual, len, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - len
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 430
    functionName: TEST_ASSERT_EQUAL_MEMORY_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_MEMORY_MESSAGE(expected, actual, len, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 433
    functionName: TEST_ASSERT_EQUAL_INT_ARRAY_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_INT_ARRAY_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 434
    functionName: TEST_ASSERT_EQUAL_INT8_ARRAY_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_INT8_ARRAY_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 435
    functionName: TEST_ASSERT_EQUAL_INT16_ARRAY_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_INT16_ARRAY_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 436
    functionName: TEST_ASSERT_EQUAL_INT32_ARRAY_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_INT32_ARRAY_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 437
    functionName: TEST_ASSERT_EQUAL_INT64_ARRAY_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_INT64_ARRAY_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 438
    functionName: TEST_ASSERT_EQUAL_UINT_ARRAY_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_UINT_ARRAY_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 439
    functionName: TEST_ASSERT_EQUAL_UINT8_ARRAY_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_UINT8_ARRAY_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 440
    functionName: TEST_ASSERT_EQUAL_UINT16_ARRAY_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_UINT16_ARRAY_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 441
    functionName: TEST_ASSERT_EQUAL_UINT32_ARRAY_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_UINT32_ARRAY_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 442
    functionName: TEST_ASSERT_EQUAL_UINT64_ARRAY_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_UINT64_ARRAY_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 443
    functionName: TEST_ASSERT_EQUAL_HEX_ARRAY_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_HEX_ARRAY_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 444
    functionName: TEST_ASSERT_EQUAL_HEX8_ARRAY_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_HEX8_ARRAY_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 445
    functionName: TEST_ASSERT_EQUAL_HEX16_ARRAY_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_HEX16_ARRAY_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 446
    functionName: TEST_ASSERT_EQUAL_HEX32_ARRAY_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_HEX32_ARRAY_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 447
    functionName: TEST_ASSERT_EQUAL_HEX64_ARRAY_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_HEX64_ARRAY_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 448
    functionName: TEST_ASSERT_EQUAL_PTR_ARRAY_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_PTR_ARRAY_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 449
    functionName: TEST_ASSERT_EQUAL_STRING_ARRAY_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_STRING_ARRAY_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - len
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 450
    functionName: TEST_ASSERT_EQUAL_MEMORY_ARRAY_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_MEMORY_ARRAY_MESSAGE(expected, actual, len, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 453
    functionName: TEST_ASSERT_EACH_EQUAL_INT_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_INT_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 454
    functionName: TEST_ASSERT_EACH_EQUAL_INT8_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_INT8_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 455
    functionName: TEST_ASSERT_EACH_EQUAL_INT16_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_INT16_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 456
    functionName: TEST_ASSERT_EACH_EQUAL_INT32_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_INT32_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 457
    functionName: TEST_ASSERT_EACH_EQUAL_INT64_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_INT64_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 458
    functionName: TEST_ASSERT_EACH_EQUAL_UINT_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_UINT_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 459
    functionName: TEST_ASSERT_EACH_EQUAL_UINT8_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_UINT8_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 460
    functionName: TEST_ASSERT_EACH_EQUAL_UINT16_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_UINT16_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 461
    functionName: TEST_ASSERT_EACH_EQUAL_UINT32_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_UINT32_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 462
    functionName: TEST_ASSERT_EACH_EQUAL_UINT64_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_UINT64_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 463
    functionName: TEST_ASSERT_EACH_EQUAL_HEX_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_HEX_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 464
    functionName: TEST_ASSERT_EACH_EQUAL_HEX8_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_HEX8_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 465
    functionName: TEST_ASSERT_EACH_EQUAL_HEX16_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_HEX16_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 466
    functionName: TEST_ASSERT_EACH_EQUAL_HEX32_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_HEX32_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 467
    functionName: TEST_ASSERT_EACH_EQUAL_HEX64_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_HEX64_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 468
    functionName: TEST_ASSERT_EACH_EQUAL_PTR_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_PTR_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 469
    functionName: TEST_ASSERT_EACH_EQUAL_STRING_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_STRING_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - len
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 470
    functionName: TEST_ASSERT_EACH_EQUAL_MEMORY_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_MEMORY_MESSAGE(expected, actual, len, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 473
    functionName: TEST_ASSERT_FLOAT_WITHIN_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_FLOAT_WITHIN_MESSAGE(delta, expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 474
    functionName: TEST_ASSERT_EQUAL_FLOAT_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_FLOAT_MESSAGE(expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 475
    functionName: TEST_ASSERT_EQUAL_FLOAT_ARRAY_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_FLOAT_ARRAY_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 476
    functionName: TEST_ASSERT_EACH_EQUAL_FLOAT_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_FLOAT_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 477
    functionName: TEST_ASSERT_FLOAT_IS_INF_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_FLOAT_IS_INF_MESSAGE(actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 478
    functionName: TEST_ASSERT_FLOAT_IS_NEG_INF_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_FLOAT_IS_NEG_INF_MESSAGE(actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 479
    functionName: TEST_ASSERT_FLOAT_IS_NAN_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_FLOAT_IS_NAN_MESSAGE(actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 480
    functionName: TEST_ASSERT_FLOAT_IS_DETERMINATE_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_FLOAT_IS_DETERMINATE_MESSAGE(actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 481
    functionName: TEST_ASSERT_FLOAT_IS_NOT_INF_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_FLOAT_IS_NOT_INF_MESSAGE(actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 482
    functionName: TEST_ASSERT_FLOAT_IS_NOT_NEG_INF_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_FLOAT_IS_NOT_NEG_INF_MESSAGE(actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 483
    functionName: TEST_ASSERT_FLOAT_IS_NOT_NAN_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_FLOAT_IS_NOT_NAN_MESSAGE(actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 484
    functionName: TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE_MESSAGE(actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 487
    functionName: TEST_ASSERT_DOUBLE_WITHIN_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_DOUBLE_WITHIN_MESSAGE(delta, expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 488
    functionName: TEST_ASSERT_EQUAL_DOUBLE_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_DOUBLE_MESSAGE(expected, actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 489
    functionName: TEST_ASSERT_EQUAL_DOUBLE_ARRAY_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_DOUBLE_ARRAY_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 490
    functionName: TEST_ASSERT_EACH_EQUAL_DOUBLE_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EACH_EQUAL_DOUBLE_MESSAGE(expected, actual, num_elements,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 491
    functionName: TEST_ASSERT_DOUBLE_IS_INF_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_DOUBLE_IS_INF_MESSAGE(actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 492
    functionName: TEST_ASSERT_DOUBLE_IS_NEG_INF_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_DOUBLE_IS_NEG_INF_MESSAGE(actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 493
    functionName: TEST_ASSERT_DOUBLE_IS_NAN_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_DOUBLE_IS_NAN_MESSAGE(actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 494
    functionName: TEST_ASSERT_DOUBLE_IS_DETERMINATE_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_DOUBLE_IS_DETERMINATE_MESSAGE(actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 495
    functionName: TEST_ASSERT_DOUBLE_IS_NOT_INF_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_DOUBLE_IS_NOT_INF_MESSAGE(actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 496
    functionName: TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF_MESSAGE(actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 497
    functionName: TEST_ASSERT_DOUBLE_IS_NOT_NAN_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_DOUBLE_IS_NOT_NAN_MESSAGE(actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - actual
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 498
    functionName: TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE_MESSAGE
    functionSourceFile: /src/cJSON/tests/unity/src/unity.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE_MESSAGE(actual, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: isinf
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isinf(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: isnan
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isnan(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: UNITY_OUTPUT_CHAR
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_OUTPUT_CHAR(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 257
    functionName: UNITY_OUTPUT_FLUSH
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_OUTPUT_FLUSH()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 272
    functionName: UNITY_FLUSH_CALL
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_FLUSH_CALL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 276
    functionName: UNITY_PRINT_EOL
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_PRINT_EOL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 423
    functionName: UNITY_CLR_DETAILS
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_CLR_DETAILS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d1
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 424
    functionName: UNITY_SET_DETAIL
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_SET_DETAIL(d1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d1
    - ','
    - d2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 425
    functionName: UNITY_SET_DETAILS
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_SET_DETAILS(d1,d2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 589
    functionName: TEST_PROTECT
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_PROTECT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 590
    functionName: TEST_ABORT
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ABORT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 592
    functionName: TEST_PROTECT
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_PROTECT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 593
    functionName: TEST_ABORT
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ABORT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 600
    functionName: RUN_TEST
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 601
    functionName: RUN_TEST_FIRST
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST_FIRST(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - first
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 602
    functionName: RUN_TEST_FIRST_HELPER
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST_FIRST_HELPER(first, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 603
    functionName: RUN_TEST_SECOND
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST_SECOND(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - first
    - ','
    - second
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 604
    functionName: RUN_TEST_SECOND_HELPER
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST_SECOND_HELPER(first, second, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - num
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 612
    functionName: RUN_TEST
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST(func, num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 614
    functionName: RUN_TEST
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST(func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 623
    functionName: UNITY_NEW_TEST
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_NEW_TEST(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 626
    functionName: UNITY_BEGIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_BEGIN()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 630
    functionName: UNITY_END
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_END()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 646
    functionName: UNITY_TEST_FAIL
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_FAIL(line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 647
    functionName: UNITY_TEST_IGNORE
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_IGNORE(line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - condition
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 653
    functionName: UNITY_TEST_ASSERT
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT(condition, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pointer
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 654
    functionName: UNITY_TEST_ASSERT_NULL
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_NULL(pointer, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pointer
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 655
    functionName: UNITY_TEST_ASSERT_NOT_NULL
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_NOT_NULL(pointer, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 657
    functionName: UNITY_TEST_ASSERT_EQUAL_INT
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_INT(expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 658
    functionName: UNITY_TEST_ASSERT_EQUAL_INT8
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_INT8(expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 659
    functionName: UNITY_TEST_ASSERT_EQUAL_INT16
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_INT16(expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 660
    functionName: UNITY_TEST_ASSERT_EQUAL_INT32
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_INT32(expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 661
    functionName: UNITY_TEST_ASSERT_EQUAL_UINT
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_UINT(expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 662
    functionName: UNITY_TEST_ASSERT_EQUAL_UINT8
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_UINT8(expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 663
    functionName: UNITY_TEST_ASSERT_EQUAL_UINT16
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_UINT16(expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 664
    functionName: UNITY_TEST_ASSERT_EQUAL_UINT32
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_UINT32(expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 665
    functionName: UNITY_TEST_ASSERT_EQUAL_HEX8
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_HEX8(expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 666
    functionName: UNITY_TEST_ASSERT_EQUAL_HEX16
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_HEX16(expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 667
    functionName: UNITY_TEST_ASSERT_EQUAL_HEX32
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_HEX32(expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - mask
    - ','
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 668
    functionName: UNITY_TEST_ASSERT_BITS
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_BITS(mask, expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 670
    functionName: UNITY_TEST_ASSERT_GREATER_THAN_INT
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_THAN_INT(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 671
    functionName: UNITY_TEST_ASSERT_GREATER_THAN_INT8
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_THAN_INT8(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 672
    functionName: UNITY_TEST_ASSERT_GREATER_THAN_INT16
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_THAN_INT16(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 673
    functionName: UNITY_TEST_ASSERT_GREATER_THAN_INT32
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_THAN_INT32(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 674
    functionName: UNITY_TEST_ASSERT_GREATER_THAN_UINT
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_THAN_UINT(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 675
    functionName: UNITY_TEST_ASSERT_GREATER_THAN_UINT8
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_THAN_UINT8(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 676
    functionName: UNITY_TEST_ASSERT_GREATER_THAN_UINT16
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_THAN_UINT16(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 677
    functionName: UNITY_TEST_ASSERT_GREATER_THAN_UINT32
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_THAN_UINT32(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 678
    functionName: UNITY_TEST_ASSERT_GREATER_THAN_HEX8
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_THAN_HEX8(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 679
    functionName: UNITY_TEST_ASSERT_GREATER_THAN_HEX16
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_THAN_HEX16(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 680
    functionName: UNITY_TEST_ASSERT_GREATER_THAN_HEX32
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_THAN_HEX32(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 682
    functionName: UNITY_TEST_ASSERT_SMALLER_THAN_INT
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_THAN_INT(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 683
    functionName: UNITY_TEST_ASSERT_SMALLER_THAN_INT8
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_THAN_INT8(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 684
    functionName: UNITY_TEST_ASSERT_SMALLER_THAN_INT16
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_THAN_INT16(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 685
    functionName: UNITY_TEST_ASSERT_SMALLER_THAN_INT32
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_THAN_INT32(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 686
    functionName: UNITY_TEST_ASSERT_SMALLER_THAN_UINT
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_THAN_UINT(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 687
    functionName: UNITY_TEST_ASSERT_SMALLER_THAN_UINT8
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_THAN_UINT8(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 688
    functionName: UNITY_TEST_ASSERT_SMALLER_THAN_UINT16
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_THAN_UINT16(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 689
    functionName: UNITY_TEST_ASSERT_SMALLER_THAN_UINT32
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_THAN_UINT32(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 690
    functionName: UNITY_TEST_ASSERT_SMALLER_THAN_HEX8
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_THAN_HEX8(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 691
    functionName: UNITY_TEST_ASSERT_SMALLER_THAN_HEX16
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_THAN_HEX16(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 692
    functionName: UNITY_TEST_ASSERT_SMALLER_THAN_HEX32
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_THAN_HEX32(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 694
    functionName: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 695
    functionName: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT8
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT8(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 696
    functionName: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT16
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT16(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 697
    functionName: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT32
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT32(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 698
    functionName: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 699
    functionName: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT8
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT8(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 700
    functionName: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT16
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT16(threshold, actual, line,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 701
    functionName: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT32
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT32(threshold, actual, line,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 702
    functionName: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX8
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX8(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 703
    functionName: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX16
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX16(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 704
    functionName: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX32
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX32(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 706
    functionName: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 707
    functionName: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT8
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT8(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 708
    functionName: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT16
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT16(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 709
    functionName: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT32
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT32(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 710
    functionName: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 711
    functionName: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT8
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT8(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 712
    functionName: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT16
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT16(threshold, actual, line,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 713
    functionName: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT32
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT32(threshold, actual, line,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 714
    functionName: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX8
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX8(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 715
    functionName: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX16
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX16(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 716
    functionName: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX32
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX32(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 718
    functionName: UNITY_TEST_ASSERT_INT_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_INT_WITHIN(delta, expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 719
    functionName: UNITY_TEST_ASSERT_INT8_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_INT8_WITHIN(delta, expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 720
    functionName: UNITY_TEST_ASSERT_INT16_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_INT16_WITHIN(delta, expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 721
    functionName: UNITY_TEST_ASSERT_INT32_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_INT32_WITHIN(delta, expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 722
    functionName: UNITY_TEST_ASSERT_UINT_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_UINT_WITHIN(delta, expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 723
    functionName: UNITY_TEST_ASSERT_UINT8_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_UINT8_WITHIN(delta, expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 724
    functionName: UNITY_TEST_ASSERT_UINT16_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_UINT16_WITHIN(delta, expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 725
    functionName: UNITY_TEST_ASSERT_UINT32_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_UINT32_WITHIN(delta, expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 726
    functionName: UNITY_TEST_ASSERT_HEX8_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_HEX8_WITHIN(delta, expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 727
    functionName: UNITY_TEST_ASSERT_HEX16_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_HEX16_WITHIN(delta, expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 728
    functionName: UNITY_TEST_ASSERT_HEX32_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_HEX32_WITHIN(delta, expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 730
    functionName: UNITY_TEST_ASSERT_EQUAL_PTR
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_PTR(expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 731
    functionName: UNITY_TEST_ASSERT_EQUAL_STRING
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_STRING(expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - len
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 732
    functionName: UNITY_TEST_ASSERT_EQUAL_STRING_LEN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_STRING_LEN(expected, actual, len, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - len
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 733
    functionName: UNITY_TEST_ASSERT_EQUAL_MEMORY
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_MEMORY(expected, actual, len, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 735
    functionName: UNITY_TEST_ASSERT_EQUAL_INT_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_INT_ARRAY(expected, actual, num_elements, line,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 736
    functionName: UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 737
    functionName: UNITY_TEST_ASSERT_EQUAL_INT16_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_INT16_ARRAY(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 738
    functionName: UNITY_TEST_ASSERT_EQUAL_INT32_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_INT32_ARRAY(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 739
    functionName: UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 740
    functionName: UNITY_TEST_ASSERT_EQUAL_UINT8_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_UINT8_ARRAY(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 741
    functionName: UNITY_TEST_ASSERT_EQUAL_UINT16_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_UINT16_ARRAY(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 742
    functionName: UNITY_TEST_ASSERT_EQUAL_UINT32_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_UINT32_ARRAY(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 743
    functionName: UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 744
    functionName: UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 745
    functionName: UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 746
    functionName: UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY(expected, actual, num_elements, line,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 747
    functionName: UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - len
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 748
    functionName: UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY(expected, actual, len, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 750
    functionName: UNITY_TEST_ASSERT_EACH_EQUAL_INT
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EACH_EQUAL_INT(expected, actual, num_elements, line,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 751
    functionName: UNITY_TEST_ASSERT_EACH_EQUAL_INT8
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EACH_EQUAL_INT8(expected, actual, num_elements, line,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 752
    functionName: UNITY_TEST_ASSERT_EACH_EQUAL_INT16
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EACH_EQUAL_INT16(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 753
    functionName: UNITY_TEST_ASSERT_EACH_EQUAL_INT32
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EACH_EQUAL_INT32(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 754
    functionName: UNITY_TEST_ASSERT_EACH_EQUAL_UINT
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EACH_EQUAL_UINT(expected, actual, num_elements, line,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 755
    functionName: UNITY_TEST_ASSERT_EACH_EQUAL_UINT8
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EACH_EQUAL_UINT8(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 756
    functionName: UNITY_TEST_ASSERT_EACH_EQUAL_UINT16
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EACH_EQUAL_UINT16(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 757
    functionName: UNITY_TEST_ASSERT_EACH_EQUAL_UINT32
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EACH_EQUAL_UINT32(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 758
    functionName: UNITY_TEST_ASSERT_EACH_EQUAL_HEX8
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EACH_EQUAL_HEX8(expected, actual, num_elements, line,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 759
    functionName: UNITY_TEST_ASSERT_EACH_EQUAL_HEX16
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EACH_EQUAL_HEX16(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 760
    functionName: UNITY_TEST_ASSERT_EACH_EQUAL_HEX32
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EACH_EQUAL_HEX32(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 761
    functionName: UNITY_TEST_ASSERT_EACH_EQUAL_PTR
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EACH_EQUAL_PTR(expected, actual, num_elements, line,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 762
    functionName: UNITY_TEST_ASSERT_EACH_EQUAL_STRING
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EACH_EQUAL_STRING(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - len
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 763
    functionName: UNITY_TEST_ASSERT_EACH_EQUAL_MEMORY
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EACH_EQUAL_MEMORY(expected, actual, len, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 766
    functionName: UNITY_TEST_ASSERT_EQUAL_INT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 767
    functionName: UNITY_TEST_ASSERT_EQUAL_UINT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 768
    functionName: UNITY_TEST_ASSERT_EQUAL_HEX64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 769
    functionName: UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 770
    functionName: UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 771
    functionName: UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 772
    functionName: UNITY_TEST_ASSERT_EACH_EQUAL_INT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EACH_EQUAL_INT64(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 773
    functionName: UNITY_TEST_ASSERT_EACH_EQUAL_UINT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EACH_EQUAL_UINT64(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 774
    functionName: UNITY_TEST_ASSERT_EACH_EQUAL_HEX64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EACH_EQUAL_HEX64(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 775
    functionName: UNITY_TEST_ASSERT_INT64_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 776
    functionName: UNITY_TEST_ASSERT_UINT64_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 777
    functionName: UNITY_TEST_ASSERT_HEX64_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 778
    functionName: UNITY_TEST_ASSERT_GREATER_THAN_INT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_THAN_INT64(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 779
    functionName: UNITY_TEST_ASSERT_GREATER_THAN_UINT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_THAN_UINT64(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 780
    functionName: UNITY_TEST_ASSERT_GREATER_THAN_HEX64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_THAN_HEX64(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 781
    functionName: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 782
    functionName: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64(threshold, actual, line,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 783
    functionName: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 784
    functionName: UNITY_TEST_ASSERT_SMALLER_THAN_INT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_THAN_INT64(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 785
    functionName: UNITY_TEST_ASSERT_SMALLER_THAN_UINT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_THAN_UINT64(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 786
    functionName: UNITY_TEST_ASSERT_SMALLER_THAN_HEX64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_THAN_HEX64(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 787
    functionName: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 788
    functionName: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64(threshold, actual, line,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 789
    functionName: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 791
    functionName: UNITY_TEST_ASSERT_EQUAL_INT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_INT64(expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 792
    functionName: UNITY_TEST_ASSERT_EQUAL_UINT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_UINT64(expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 793
    functionName: UNITY_TEST_ASSERT_EQUAL_HEX64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_HEX64(expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 794
    functionName: UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 795
    functionName: UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 796
    functionName: UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 797
    functionName: UNITY_TEST_ASSERT_INT64_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_INT64_WITHIN(delta, expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 798
    functionName: UNITY_TEST_ASSERT_UINT64_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_UINT64_WITHIN(delta, expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 799
    functionName: UNITY_TEST_ASSERT_HEX64_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_HEX64_WITHIN(delta, expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 800
    functionName: UNITY_TEST_ASSERT_GREATER_THAN_INT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_THAN_INT64(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 801
    functionName: UNITY_TEST_ASSERT_GREATER_THAN_UINT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_THAN_UINT64(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 802
    functionName: UNITY_TEST_ASSERT_GREATER_THAN_HEX64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_THAN_HEX64(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 803
    functionName: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 804
    functionName: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64(threshold, actual, line,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 805
    functionName: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 806
    functionName: UNITY_TEST_ASSERT_SMALLER_THAN_INT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_THAN_INT64(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 807
    functionName: UNITY_TEST_ASSERT_SMALLER_THAN_UINT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_THAN_UINT64(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 808
    functionName: UNITY_TEST_ASSERT_SMALLER_THAN_HEX64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_THAN_HEX64(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 809
    functionName: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 810
    functionName: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64(threshold, actual, line,
      message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - threshold
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 811
    functionName: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64(threshold, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 815
    functionName: UNITY_TEST_ASSERT_FLOAT_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 816
    functionName: UNITY_TEST_ASSERT_EQUAL_FLOAT
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 817
    functionName: UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 818
    functionName: UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 819
    functionName: UNITY_TEST_ASSERT_FLOAT_IS_INF
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 820
    functionName: UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 821
    functionName: UNITY_TEST_ASSERT_FLOAT_IS_NAN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 822
    functionName: UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 823
    functionName: UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 824
    functionName: UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 825
    functionName: UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 826
    functionName: UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 828
    functionName: UNITY_TEST_ASSERT_FLOAT_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_FLOAT_WITHIN(delta, expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 829
    functionName: UNITY_TEST_ASSERT_EQUAL_FLOAT
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_FLOAT(expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 830
    functionName: UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 831
    functionName: UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 832
    functionName: UNITY_TEST_ASSERT_FLOAT_IS_INF
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_FLOAT_IS_INF(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 833
    functionName: UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 834
    functionName: UNITY_TEST_ASSERT_FLOAT_IS_NAN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_FLOAT_IS_NAN(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 835
    functionName: UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 836
    functionName: UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 837
    functionName: UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 838
    functionName: UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 839
    functionName: UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 843
    functionName: UNITY_TEST_ASSERT_DOUBLE_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 844
    functionName: UNITY_TEST_ASSERT_EQUAL_DOUBLE
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 845
    functionName: UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 846
    functionName: UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 847
    functionName: UNITY_TEST_ASSERT_DOUBLE_IS_INF
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 848
    functionName: UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 849
    functionName: UNITY_TEST_ASSERT_DOUBLE_IS_NAN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 850
    functionName: UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 851
    functionName: UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 852
    functionName: UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 853
    functionName: UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 854
    functionName: UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - delta
    - ','
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 856
    functionName: UNITY_TEST_ASSERT_DOUBLE_WITHIN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_DOUBLE_WITHIN(delta, expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 857
    functionName: UNITY_TEST_ASSERT_EQUAL_DOUBLE
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_DOUBLE(expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 858
    functionName: UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - num_elements
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 859
    functionName: UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE(expected, actual, num_elements,
      line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 860
    functionName: UNITY_TEST_ASSERT_DOUBLE_IS_INF
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_DOUBLE_IS_INF(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 861
    functionName: UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 862
    functionName: UNITY_TEST_ASSERT_DOUBLE_IS_NAN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_DOUBLE_IS_NAN(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 863
    functionName: UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 864
    functionName: UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 865
    functionName: UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 866
    functionName: UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 867
    functionName: UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE
    functionSourceFile: /src/cJSON/tests/unity/src/unity_internals.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE(actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_output_Spy.c:25,1
    - Dst: TEST_ASSERT_NOT_NULL_MESSAGE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_output_Spy.c:26,1
    - Dst: memset
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_output_Spy.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 28
    functionName: UnityOutputCharSpy_Create
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_output_Spy.c
    functionUses: 0
    functionsReached:
    - memset
    - malloc
    - TEST_ASSERT_NOT_NULL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void UnityOutputCharSpy_Create(int s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_output_Spy.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: UnityOutputCharSpy_Destroy
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_output_Spy.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void UnityOutputCharSpy_Destroy(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_output_Spy.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: UnityOutputCharSpy_OutputChar
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_output_Spy.c
    functionUses: 0
    functionsReached:
    - putchar
    linkageType: ''
    returnType: void
    signature: void UnityOutputCharSpy_OutputChar(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: UnityOutputCharSpy_Get
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_output_Spy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * UnityOutputCharSpy_Get(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - enable
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: UnityOutputCharSpy_Enable
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_output_Spy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnityOutputCharSpy_Enable(int enable)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: TEST_SETUP
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/template_fixture_tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_SETUP(mygroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: TEST_TEAR_DOWN
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/template_fixture_tests.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_TEAR_DOWN(mygroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/extras/fixture/test/template_fixture_tests.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/template_fixture_tests.c
    functionUses: 39
    functionsReached:
    - TEST_ASSERT_EQUAL_INT
    linkageType: ''
    returnType: void
    signature: void TEST(mygroup, test1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/extras/fixture/test/template_fixture_tests.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/template_fixture_tests.c
    functionUses: 39
    functionsReached:
    - TEST_ASSERT_EQUAL_INT
    linkageType: ''
    returnType: void
    signature: void TEST(mygroup, test2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/extras/fixture/test/template_fixture_tests.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/template_fixture_tests.c
    functionUses: 39
    functionsReached:
    - TEST_ASSERT_EQUAL_INT
    linkageType: ''
    returnType: void
    signature: void TEST(mygroup, test3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: TEST_SETUP
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_SETUP(UnityFixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: TEST_TEAR_DOWN
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_TEAR_DOWN(UnityFixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_POINTERS_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:33,1
    - Dst: UT_PTR_SET
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:34,1
    - Dst: UT_PTR_SET
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:35,1
    - Dst: UT_PTR_SET
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:36,1
    - Dst: TEST_ASSERT_POINTERS_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:37,1
    - Dst: TEST_ASSERT_POINTERS_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:38,1
    - Dst: TEST_ASSERT_POINTERS_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:39,1
    - Dst: UT_PTR_SET
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:40,1
    - Dst: UnityPointer_UndoAllSets
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:41,1
    - Dst: TEST_ASSERT_POINTERS_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:42,1
    - Dst: TEST_ASSERT_POINTERS_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:43,1
    - Dst: TEST_ASSERT_POINTERS_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - UT_PTR_SET
    - UnityPointer_UndoAllSets
    - TEST_ASSERT_POINTERS_EQUAL
    linkageType: ''
    returnType: void
    signature: void TEST(UnityFixture, PointerSetting)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnityMalloc_MakeMallocFailAfterCount
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:51,1
    - Dst: malloc
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:52,1
    - Dst: CHECK
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:53,1
    - Dst: malloc
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:54,1
    - Dst: TEST_ASSERT_POINTERS_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:55,1
    - Dst: free
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - TEST_ASSERT_POINTERS_EQUAL
    - CHECK
    - malloc
    - UnityMalloc_MakeMallocFailAfterCount
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(UnityFixture, ForceMallocFail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:61,1
    - Dst: realloc
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:62,1
    - Dst: TEST_ASSERT_POINTERS_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:63,1
    - Dst: free
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - TEST_ASSERT_POINTERS_EQUAL
    - free
    - realloc
    - malloc
    linkageType: ''
    returnType: void
    signature: void TEST(UnityFixture, ReallocSmallerIsUnchanged)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:69,1
    - Dst: realloc
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:70,1
    - Dst: TEST_ASSERT_POINTERS_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:71,1
    - Dst: free
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - TEST_ASSERT_POINTERS_EQUAL
    - free
    - realloc
    - malloc
    linkageType: ''
    returnType: void
    signature: void TEST(UnityFixture, ReallocSameIsUnchanged)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:77,1
    - Dst: CHECK
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:79,1
    - Dst: strcpy
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:80,1
    - Dst: realloc
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:81,1
    - Dst: STRCMP_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:83,1
    - Dst: free
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - CHECK
    - realloc
    - malloc
    - strcpy
    - STRCMP_EQUAL
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(UnityFixture, ReallocLargerNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:89,1
    - Dst: CHECK
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:90,1
    - Dst: free
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - free
    - CHECK
    - realloc
    linkageType: ''
    returnType: void
    signature: void TEST(UnityFixture, ReallocNullPointerIsLikeMalloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:96,1
    - Dst: realloc
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:97,1
    - Dst: TEST_ASSERT_POINTERS_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - TEST_ASSERT_POINTERS_EQUAL
    - realloc
    - malloc
    linkageType: ''
    returnType: void
    signature: void TEST(UnityFixture, ReallocSizeZeroFreesMemAndReturnsNullPointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:103,1
    - Dst: CHECK
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:105,1
    - Dst: TEST_ASSERT_BYTES_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:106,1
    - Dst: TEST_ASSERT_BYTES_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:107,1
    - Dst: TEST_ASSERT_BYTES_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:108,1
    - Dst: free
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - free
    - CHECK
    - calloc
    - TEST_ASSERT_BYTES_EQUAL
    linkageType: ''
    returnType: void
    signature: void TEST(UnityFixture, CallocFillsWithZero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnityPointer_Init
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:124,1
    - Dst: UT_PTR_SET
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:125,1
    - Dst: UT_PTR_SET
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:126,1
    - Dst: TEST_ASSERT_POINTERS_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:127,1
    - Dst: TEST_ASSERT_POINTERS_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:128,1
    - Dst: UnityPointer_UndoAllSets
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:129,1
    - Dst: TEST_ASSERT_POINTERS_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:130,1
    - Dst: TEST_ASSERT_POINTERS_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 132
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - TEST_ASSERT_POINTERS_EQUAL
    - UnityPointer_UndoAllSets
    - UT_PTR_SET
    - UnityPointer_Init
    linkageType: ''
    returnType: void
    signature: void TEST(UnityFixture, PointerSet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void TEST(UnityFixture, FreeNULLSafety)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnityOutputCharSpy_Enable
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:143,1
    - Dst: UnityConcludeFixtureTest
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:145,1
    - Dst: UnityConcludeFixtureTest
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:147,1
    - Dst: UnityOutputCharSpy_Enable
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:148,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:149,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 153
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - UnityConcludeFixtureTest
    - TEST_ASSERT_EQUAL
    - UnityOutputCharSpy_Enable
    linkageType: ''
    returnType: void
    signature: void TEST(UnityFixture, ConcludeTestIncrementsFailCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: TEST_SETUP
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_SETUP(UnityCommandOptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: TEST_TEAR_DOWN
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_TEAR_DOWN(UnityCommandOptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnityGetCommandLineOptions
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:187,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:188,1
    - Dst: TEST_ASSERT_POINTERS_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:189,1
    - Dst: TEST_ASSERT_POINTERS_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:190,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 192
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - UnityGetCommandLineOptions
    - TEST_ASSERT_POINTERS_EQUAL
    - TEST_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void TEST(UnityCommandOptions, DefaultOptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:201,1
    - Dst: UnityGetCommandLineOptions
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:201,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - UnityGetCommandLineOptions
    - TEST_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void TEST(UnityCommandOptions, OptionVerbose)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:212,1
    - Dst: UnityGetCommandLineOptions
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:212,1
    - Dst: STRCMP_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - UnityGetCommandLineOptions
    - STRCMP_EQUAL
    - TEST_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void TEST(UnityCommandOptions, OptionSelectTestByGroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:223,1
    - Dst: UnityGetCommandLineOptions
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:223,1
    - Dst: STRCMP_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - UnityGetCommandLineOptions
    - STRCMP_EQUAL
    - TEST_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void TEST(UnityCommandOptions, OptionSelectTestByName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:234,1
    - Dst: UnityGetCommandLineOptions
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:234,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - UnityGetCommandLineOptions
    - TEST_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void TEST(UnityCommandOptions, OptionSelectRepeatTestsDefaultCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:240,1
    - Dst: UnityGetCommandLineOptions
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:240,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - UnityGetCommandLineOptions
    - TEST_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void TEST(UnityCommandOptions, OptionSelectRepeatTestsSpecificCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:254,1
    - Dst: UnityGetCommandLineOptions
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:254,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:255,1
    - Dst: STRCMP_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:256,1
    - Dst: STRCMP_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:257,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 259
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - UnityGetCommandLineOptions
    - STRCMP_EQUAL
    - TEST_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void TEST(UnityCommandOptions, MultipleOptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:271,1
    - Dst: UnityGetCommandLineOptions
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:271,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:272,1
    - Dst: STRCMP_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:273,1
    - Dst: STRCMP_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:274,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 276
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - UnityGetCommandLineOptions
    - STRCMP_EQUAL
    - TEST_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void TEST(UnityCommandOptions, MultipleOptionsDashRNotLastAndNoValueSpecified)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:288,1
    - Dst: UnityGetCommandLineOptions
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:288,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:289,1
    - Dst: STRCMP_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:290,1
    - Dst: STRCMP_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:291,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 293
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - UnityGetCommandLineOptions
    - STRCMP_EQUAL
    - TEST_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void TEST(UnityCommandOptions, UnknownCommandIsIgnored)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:297,1
    - Dst: UnityGetCommandLineOptions
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:297,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:298,1
    - Dst: UnityGetCommandLineOptions
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:298,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:299,1
    - Dst: UnityMain
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 300
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - UnityGetCommandLineOptions
    - TEST_ASSERT_EQUAL
    - UnityMain
    linkageType: ''
    returnType: void
    signature: void TEST(UnityCommandOptions, GroupOrNameFilterWithoutStringFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:305,1
    - Dst: UnityGetCommandLineOptions
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:305,1
    - Dst: UnityIgnoreTest
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:306,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 308
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - UnityIgnoreTest
    - UnityGetCommandLineOptions
    - TEST_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void TEST(UnityCommandOptions, GroupFilterReallyFilters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL_MESSAGE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: IGNORE_TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL_MESSAGE
    linkageType: ''
    returnType: void
    signature: void IGNORE_TEST(UnityCommandOptions, TestShouldBeIgnored)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnityOutputCharSpy_Create
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:322,1
    - Dst: UnityOutputCharSpy_Create
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 326
    functionName: TEST_SETUP
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 0
    functionsReached:
    - UnityOutputCharSpy_Create
    linkageType: ''
    returnType: void
    signature: void TEST_SETUP(LeakDetection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnityOutputCharSpy_Destroy
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: TEST_TEAR_DOWN
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 0
    functionsReached:
    - UnityOutputCharSpy_Destroy
    linkageType: ''
    returnType: void
    signature: void TEST_TEAR_DOWN(LeakDetection)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 350
    functionName: USING_SPY_AS
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: USING_SPY_AS(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 351
    functionName: ASSIGN_VALUE
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSIGN_VALUE(a)
  - 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: 353
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 353
    functionName: EXPAND_AND_USE_2ND
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPAND_AND_USE_2ND(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 354
    functionName: SECOND_PARAM
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECOND_PARAM(a, b, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE_MESSAGE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:370,1
    - Dst: malloc
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:372,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:373,1
    - Dst: UnityOutputCharSpy_Enable
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:374,1
    - Dst: CHECK
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:380,1
    - Dst: strstr
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:380,1
    - Dst: UnityOutputCharSpy_Get
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:380,1
    - Dst: free
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 383
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - free
    - TEST_IGNORE_MESSAGE
    - CHECK
    - TEST_ASSERT_NOT_NULL
    - malloc
    - strstr
    - UnityOutputCharSpy_Get
    - UnityOutputCharSpy_Enable
    linkageType: ''
    returnType: void
    signature: void TEST(LeakDetection, DetectsLeak)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:388,1
    - Dst: malloc
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:390,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:392,1
    - Dst: UnityOutputCharSpy_Enable
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:394,1
    - Dst: CHECK
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:400,1
    - Dst: strstr
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:400,1
    - Dst: UnityOutputCharSpy_Get
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 402
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - TEST_IGNORE
    - CHECK
    - TEST_ASSERT_NOT_NULL
    - malloc
    - strstr
    - UnityOutputCharSpy_Get
    - UnityOutputCharSpy_Enable
    linkageType: ''
    returnType: void
    signature: void TEST(LeakDetection, BufferOverrunFoundDuringFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:407,1
    - Dst: malloc
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:409,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:411,1
    - Dst: UnityOutputCharSpy_Enable
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:413,1
    - Dst: realloc
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:415,1
    - Dst: CHECK
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:419,1
    - Dst: strstr
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:419,1
    - Dst: UnityOutputCharSpy_Get
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 421
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - TEST_IGNORE
    - CHECK
    - realloc
    - TEST_ASSERT_NOT_NULL
    - malloc
    - strstr
    - UnityOutputCharSpy_Get
    - UnityOutputCharSpy_Enable
    linkageType: ''
    returnType: void
    signature: void TEST(LeakDetection, BufferOverrunFoundDuringRealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:426,1
    - Dst: malloc
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:428,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:430,1
    - Dst: UnityOutputCharSpy_Enable
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:433,1
    - Dst: CHECK
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:439,1
    - Dst: strstr
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:439,1
    - Dst: UnityOutputCharSpy_Get
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 441
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - TEST_IGNORE
    - CHECK
    - TEST_ASSERT_NOT_NULL
    - malloc
    - strstr
    - UnityOutputCharSpy_Get
    - UnityOutputCharSpy_Enable
    linkageType: ''
    returnType: void
    signature: void TEST(LeakDetection, BufferGuardWriteFoundDuringFree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:446,1
    - Dst: malloc
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:448,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:450,1
    - Dst: UnityOutputCharSpy_Enable
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:452,1
    - Dst: realloc
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:454,1
    - Dst: CHECK
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:458,1
    - Dst: strstr
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:458,1
    - Dst: UnityOutputCharSpy_Get
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 460
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - TEST_IGNORE
    - CHECK
    - realloc
    - TEST_ASSERT_NOT_NULL
    - malloc
    - strstr
    - UnityOutputCharSpy_Get
    - UnityOutputCharSpy_Enable
    linkageType: ''
    returnType: void
    signature: void TEST(LeakDetection, BufferGuardWriteFoundDuringRealloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:465,1
    - Dst: UT_PTR_SET
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:468,1
    - Dst: UnityOutputCharSpy_Enable
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:469,1
    - Dst: CHECK
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:475,1
    - Dst: strstr
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:475,1
    - Dst: UnityOutputCharSpy_Get
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 477
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - UT_PTR_SET
    - TEST_IGNORE
    - CHECK
    - strstr
    - UnityOutputCharSpy_Get
    - UnityOutputCharSpy_Enable
    linkageType: ''
    returnType: void
    signature: void TEST(LeakDetection, PointerSettingMax)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - first_mem_ptr
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: TEST_ASSERT_MEMORY_ALL_FREE_LIFO_ORDER
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_MEMORY_ALL_FREE_LIFO_ORDER(first_mem_ptr, ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 487
    functionName: TEST_SETUP
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_SETUP(InternalMalloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 488
    functionName: TEST_TEAR_DOWN
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_TEAR_DOWN(InternalMalloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:493,1
    - Dst: malloc
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:494,1
    - Dst: free
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:495,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:496,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:497,1
    - Dst: TEST_ASSERT_MEMORY_ALL_FREE_LIFO_ORDER
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 500
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - TEST_ASSERT_MEMORY_ALL_FREE_LIFO_ORDER
    - TEST_ASSERT_NOT_NULL
    - malloc
    - free
    - TEST_ASSERT_NULL
    linkageType: ''
    returnType: void
    signature: void TEST(InternalMalloc, MallocPastBufferFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:505,1
    - Dst: calloc
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:506,1
    - Dst: free
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:507,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:508,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:509,1
    - Dst: TEST_ASSERT_MEMORY_ALL_FREE_LIFO_ORDER
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 512
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - calloc
    - TEST_ASSERT_MEMORY_ALL_FREE_LIFO_ORDER
    - TEST_ASSERT_NOT_NULL
    - free
    - TEST_ASSERT_NULL
    linkageType: ''
    returnType: void
    signature: void TEST(InternalMalloc, CallocPastBufferFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:517,1
    - Dst: realloc
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:518,1
    - Dst: free
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:519,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:520,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:521,1
    - Dst: TEST_ASSERT_MEMORY_ALL_FREE_LIFO_ORDER
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 524
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - TEST_ASSERT_MEMORY_ALL_FREE_LIFO_ORDER
    - realloc
    - TEST_ASSERT_NOT_NULL
    - malloc
    - free
    - TEST_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void TEST(InternalMalloc, MallocThenReallocGrowsMemoryInPlace)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:529,1
    - Dst: malloc
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:530,1
    - Dst: realloc
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:531,1
    - Dst: malloc
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:532,1
    - Dst: free
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:534,1
    - Dst: free
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:535,1
    - Dst: free
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:536,1
    - Dst: TEST_ASSERT_NOT_NULL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:538,1
    - Dst: TEST_ASSERT_NULL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:539,1
    - Dst: TEST_ASSERT_NOT_EQUAL
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:540,1
    - Dst: TEST_ASSERT_MEMORY_ALL_FREE_LIFO_ORDER
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 543
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
    functionUses: 39
    functionsReached:
    - TEST_ASSERT_MEMORY_ALL_FREE_LIFO_ORDER
    - realloc
    - TEST_ASSERT_NOT_NULL
    - malloc
    - TEST_ASSERT_NOT_EQUAL
    - free
    - TEST_ASSERT_NULL
    linkageType: ''
    returnType: void
    signature: void TEST(InternalMalloc, ReallocFailDoesNotFreeMem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:12,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:13,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:14,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:15,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:16,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:17,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:18,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:19,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:20,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:21,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 23
    functionName: TEST_GROUP_RUNNER
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c
    functionUses: 0
    functionsReached:
    - RUN_TEST_CASE
    linkageType: ''
    returnType: void
    signature: void TEST_GROUP_RUNNER(UnityFixture)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:27,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:28,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:29,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:30,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:31,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:32,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:33,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:34,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:35,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:36,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:37,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 39
    functionName: TEST_GROUP_RUNNER
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c
    functionUses: 0
    functionsReached:
    - RUN_TEST_CASE
    linkageType: ''
    returnType: void
    signature: void TEST_GROUP_RUNNER(UnityCommandOptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:43,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:44,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:45,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:46,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:47,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: TEST_GROUP_RUNNER
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c
    functionUses: 0
    functionsReached:
    - RUN_TEST_CASE
    linkageType: ''
    returnType: void
    signature: void TEST_GROUP_RUNNER(LeakDetection)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:53,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:54,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:55,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: TEST_GROUP_RUNNER
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c
    functionUses: 0
    functionsReached:
    - RUN_TEST_CASE
    linkageType: ''
    returnType: void
    signature: void TEST_GROUP_RUNNER(InternalMalloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUN_TEST_GROUP
      Src: /src/cJSON/tests/unity/extras/fixture/test/main/AllTests.c:12,1
    - Dst: RUN_TEST_GROUP
      Src: /src/cJSON/tests/unity/extras/fixture/test/main/AllTests.c:13,1
    - Dst: RUN_TEST_GROUP
      Src: /src/cJSON/tests/unity/extras/fixture/test/main/AllTests.c:14,1
    - Dst: RUN_TEST_GROUP
      Src: /src/cJSON/tests/unity/extras/fixture/test/main/AllTests.c:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 16
    functionName: runAllTests
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/main/AllTests.c
    functionUses: 0
    functionsReached:
    - RUN_TEST_GROUP
    linkageType: ''
    returnType: void
    signature: void runAllTests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnityMain
      Src: /src/cJSON/tests/unity/extras/fixture/test/main/AllTests.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: main
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/test/main/AllTests.c
    functionUses: 2
    functionsReached:
    - UnityMain
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: setUp
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setUp(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: tearDown
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tearDown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:25,1
    - Dst: UnityPrintNumberUnsigned
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:26,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:27,1
    - Dst: UnityPrintNumberUnsigned
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:28,1
    - Dst: UNITY_PRINT_EOL
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - runNumber
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: announceTestRun
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c
    functionUses: 0
    functionsReached:
    - UnityPrintNumberUnsigned
    - UNITY_PRINT_EOL
    - UnityPrint
    linkageType: ''
    returnType: void
    signature: void announceTestRun(unsigned int runNumber)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UnityGetCommandLineOptions
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:34,1
    - Dst: UnityBegin
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:41,1
    - Dst: announceTestRun
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:42,1
    - Dst: runAllTests
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:43,1
    - Dst: UNITY_PRINT_EOL
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:44,1
    - Dst: UnityEnd
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 49
    functionName: UnityMain
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c
    functionUses: 2
    functionsReached:
    - UnityBegin
    - UnityGetCommandLineOptions
    - UnityEnd
    - announceTestRun
    - runAllTests
    - UNITY_PRINT_EOL
    linkageType: ''
    returnType: int
    signature: int UnityMain(int argc, const char* argv[], void (*runAllTests)(void))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - filter
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: selected
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c
    functionUses: 0
    functionsReached:
    - strstr
    linkageType: ''
    returnType: int
    signature: int selected(const char* filter, const char* name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: selected
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - test
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: testSelected
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c
    functionUses: 0
    functionsReached:
    - selected
    linkageType: ''
    returnType: int
    signature: int testSelected(const char* test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: selected
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: groupSelected
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c
    functionUses: 0
    functionsReached:
    - selected
    linkageType: ''
    returnType: int
    signature: int groupSelected(const char* group)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: testSelected
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:77,1
    - Dst: groupSelected
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:77,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:83,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:86,1
    - Dst: UnityMalloc_StartTest
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:93,1
    - Dst: UnityPointer_Init
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:94,1
    - Dst: TEST_PROTECT
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:96,1
    - Dst: setup
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:98,1
    - Dst: testBody
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:99,1
    - Dst: TEST_PROTECT
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:101,1
    - Dst: teardown
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:103,1
    - Dst: TEST_PROTECT
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:105,1
    - Dst: UnityPointer_UndoAllSets
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:107,1
    - Dst: UnityMalloc_EndTest
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:109,1
    - Dst: UnityConcludeFixtureTest
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:111,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 8
    argNames:
    - setup
    - testBody
    - teardown
    - printableName
    - group
    - name
    - file
    - line
    argTypes:
    - unityfunction*
    - unityfunction*
    - unityfunction*
    - char*
    - char*
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 113
    functionName: UnityTestRunner
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c
    functionUses: 0
    functionsReached:
    - testBody
    - UnityPointer_UndoAllSets
    - UnityConcludeFixtureTest
    - UnityMalloc_StartTest
    - UnityPrint
    - TEST_PROTECT
    - setup
    - teardown
    - testSelected
    - UNITY_OUTPUT_CHAR
    - groupSelected
    - UnityMalloc_EndTest
    - UnityPointer_Init
    linkageType: ''
    returnType: void
    signature: "void UnityTestRunner(unityfunction* setup,\n                     unityfunction*
      testBody,\n                     unityfunction* teardown,\n                     const
      char* printableName,\n                     const char* group,\n                     const
      char* name,\n                     const char* file,\n                     unsigned
      int line)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: testSelected
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:117,1
    - Dst: groupSelected
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:117,1
    - Dst: UNITY_OUTPUT_CHAR
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:122,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:125,1
    - Dst: UNITY_PRINT_EOL
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - printableName
    - group
    - name
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 129
    functionName: UnityIgnoreTest
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c
    functionUses: 1
    functionsReached:
    - UnityPrint
    - testSelected
    - UNITY_OUTPUT_CHAR
    - groupSelected
    - UNITY_PRINT_EOL
    linkageType: ''
    returnType: void
    signature: void UnityIgnoreTest(const char* printableName, const char* group,
      const char* name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: UnityMalloc_StartTest
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnityMalloc_StartTest(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_TEST_FAIL
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: UnityMalloc_EndTest
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c
    functionUses: 1
    functionsReached:
    - UNITY_TEST_FAIL
    linkageType: ''
    returnType: void
    signature: void UnityMalloc_EndTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - countdown
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: UnityMalloc_MakeMallocFailAfterCount
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnityMalloc_MakeMallocFailAfterCount(int countdown)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_FIXTURE_MALLOC
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:206,1
    - Dst: memcpy
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:213,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 216
    functionName: unity_malloc
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c
    functionUses: 0
    functionsReached:
    - UNITY_FIXTURE_MALLOC
    - memcpy
    linkageType: ''
    returnType: void
    signature: void * unity_malloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - mem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 225
    functionName: isOverrun
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int isOverrun(void* mem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_FIXTURE_FREE
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - mem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 241
    functionName: release_memory
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c
    functionUses: 0
    functionsReached:
    - UNITY_FIXTURE_FREE
    linkageType: ''
    returnType: void
    signature: void release_memory(void* mem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isOverrun
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:252,1
    - Dst: release_memory
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:253,1
    - Dst: UNITY_TEST_FAIL
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - mem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 258
    functionName: unity_free
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c
    functionUses: 0
    functionsReached:
    - UNITY_TEST_FAIL
    - release_memory
    - isOverrun
    linkageType: ''
    returnType: void
    signature: void unity_free(void* mem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unity_malloc
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:262,1
    - Dst: memset
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - num
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 266
    functionName: unity_calloc
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c
    functionUses: 0
    functionsReached:
    - unity_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: void * unity_calloc(size_t num, size_t size)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unity_malloc
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:273,1
    - Dst: isOverrun
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:276,1
    - Dst: release_memory
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:278,1
    - Dst: UNITY_TEST_FAIL
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:279,1
    - Dst: release_memory
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:284,1
    - Dst: release_memory
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:294,1
    - Dst: unity_malloc
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:295,1
    - Dst: unity_malloc
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:298,1
    - Dst: memcpy
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:300,1
    - Dst: release_memory
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:301,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - oldMem
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 303
    functionName: unity_realloc
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c
    functionUses: 0
    functionsReached:
    - unity_malloc
    - UNITY_TEST_FAIL
    - release_memory
    - memcpy
    - isOverrun
    linkageType: ''
    returnType: void
    signature: void * unity_realloc(void* oldMem, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 320
    functionName: UnityPointer_Init
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnityPointer_Init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_TEST_FAIL
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pointer
    - newValue
    - line
    argTypes:
    - void**
    - void*
    - UNITY_LINE_TYPE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 335
    functionName: UnityPointer_Set
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c
    functionUses: 0
    functionsReached:
    - UNITY_TEST_FAIL
    linkageType: ''
    returnType: void
    signature: void UnityPointer_Set(void** pointer, void* newValue, UNITY_LINE_TYPE
      line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 345
    functionName: UnityPointer_UndoAllSets
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnityPointer_UndoAllSets(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:360,1
    - Dst: strcmp
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:365,1
    - Dst: strcmp
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:373,1
    - Dst: strcmp
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:381,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 407
    functionName: UnityGetCommandLineOptions
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c
    functionUses: 12
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int UnityGetCommandLineOptions(int argc, const char* argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_PRINT_EOL
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:414,1
    - Dst: UnityPrint
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:420,1
    - Dst: UNITY_PRINT_EOL
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:421,1
    - Dst: UNITY_PRINT_EOL
      Src: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c:427,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 432
    functionName: UnityConcludeFixtureTest
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c
    functionUses: 2
    functionsReached:
    - UNITY_PRINT_EOL
    - UnityPrint
    linkageType: ''
    returnType: void
    signature: void UnityConcludeFixtureTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: UNITY_FIXTURE_MALLOC
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture_malloc_overrides.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_FIXTURE_MALLOC(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: UNITY_FIXTURE_FREE
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture_malloc_overrides.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_FIXTURE_FREE(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - group
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: TEST_GROUP
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_GROUP(group)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - group
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: TEST_SETUP
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_SETUP(group)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - group
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: TEST_TEAR_DOWN
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_TEAR_DOWN(group)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - group
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.h
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST(group, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - group
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: IGNORE_TEST
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IGNORE_TEST(group, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - group
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: RUN_TEST_CASE
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST_CASE(group, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - group
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: TEST_GROUP_RUNNER
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_GROUP_RUNNER(group)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - group
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: RUN_TEST_GROUP
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST_GROUP(group)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - newPointerValue
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: UT_PTR_SET
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UT_PTR_SET(ptr, newPointerValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: TEST_ASSERT_POINTERS_EQUAL
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_POINTERS_EQUAL(expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: TEST_ASSERT_BYTES_EQUAL
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_BYTES_EQUAL(expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: FAIL
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAIL(message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - condition
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: CHECK
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(condition)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: LONGS_EQUAL
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LONGS_EQUAL(expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: STRCMP_EQUAL
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRCMP_EQUAL(expected, actual)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - delta
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: DOUBLES_EQUAL
    functionSourceFile: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DOUBLES_EQUAL(expected, actual, delta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: TEST_SETUP
    functionSourceFile: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_SETUP(ProductionCode2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: TEST_TEAR_DOWN
    functionSourceFile: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_TEAR_DOWN(ProductionCode2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE_MESSAGE
      Src: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode2.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode2.c
    functionUses: 39
    functionsReached:
    - TEST_IGNORE_MESSAGE
    linkageType: ''
    returnType: void
    signature: void TEST(ProductionCode2, IgnoredTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE_MESSAGE
      Src: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode2.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode2.c
    functionUses: 39
    functionsReached:
    - TEST_IGNORE_MESSAGE
    linkageType: ''
    returnType: void
    signature: void TEST(ProductionCode2, AnotherIgnoredTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode2.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode2.c
    functionUses: 39
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void TEST(ProductionCode2, ThisFunctionHasNotBeenTested_NeedsToBeImplemented)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 16
    functionName: TEST_SETUP
    functionSourceFile: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_SETUP(ProductionCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: TEST_TEAR_DOWN
    functionSourceFile: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TEST_TEAR_DOWN(ProductionCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c:25,1
    - Dst: FindFunction_WhichIsBroken
      Src: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c:25,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c:26,1
    - Dst: FindFunction_WhichIsBroken
      Src: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c:26,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c:27,1
    - Dst: FindFunction_WhichIsBroken
      Src: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c:27,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c:28,1
    - Dst: FindFunction_WhichIsBroken
      Src: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c:28,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c:29,1
    - Dst: FindFunction_WhichIsBroken
      Src: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c
    functionUses: 39
    functionsReached:
    - FindFunction_WhichIsBroken
    - TEST_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void TEST(ProductionCode, FindFunction_WhichIsBroken_ShouldReturnZeroIfItemIsNotInList_WhichWorksEvenInOurBrokenCode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c:35,1
    - Dst: FindFunction_WhichIsBroken
      Src: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c:35,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c:40,1
    - Dst: FindFunction_WhichIsBroken
      Src: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c
    functionUses: 39
    functionsReached:
    - FindFunction_WhichIsBroken
    - TEST_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void TEST(ProductionCode, FindFunction_WhichIsBroken_ShouldReturnTheIndexForItemsInList_WhichWillFailBecauseOurFunctionUnderTestIsBroken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_HEX
      Src: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c:46,1
    - Dst: FunctionWhichReturnsLocalVariable
      Src: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c:46,1
    - Dst: TEST_ASSERT_EQUAL_HEX
      Src: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c:50,1
    - Dst: FunctionWhichReturnsLocalVariable
      Src: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c
    functionUses: 39
    functionsReached:
    - FunctionWhichReturnsLocalVariable
    - TEST_ASSERT_EQUAL_HEX
    linkageType: ''
    returnType: void
    signature: void TEST(ProductionCode, FunctionWhichReturnsLocalVariable_ShouldReturnTheCurrentCounterValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_HEX
      Src: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c:56,1
    - Dst: FunctionWhichReturnsLocalVariable
      Src: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c
    functionUses: 39
    functionsReached:
    - FunctionWhichReturnsLocalVariable
    - TEST_ASSERT_EQUAL_HEX
    linkageType: ''
    returnType: void
    signature: void TEST(ProductionCode, FunctionWhichReturnsLocalVariable_ShouldReturnTheCurrentCounterValueAgain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_HEX
      Src: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c:63,1
    - Dst: FunctionWhichReturnsLocalVariable
      Src: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: TEST
    functionSourceFile: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c
    functionUses: 39
    functionsReached:
    - FunctionWhichReturnsLocalVariable
    - TEST_ASSERT_EQUAL_HEX
    linkageType: ''
    returnType: void
    signature: void TEST(ProductionCode, FunctionWhichReturnsLocalVariable_ShouldReturnCurrentCounter_ButFailsBecauseThisTestIsActuallyFlawed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c:6,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c:7,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c:8,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 9
    functionName: TEST_GROUP_RUNNER
    functionSourceFile: /src/cJSON/tests/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c
    functionUses: 0
    functionsReached:
    - RUN_TEST_CASE
    linkageType: ''
    returnType: void
    signature: void TEST_GROUP_RUNNER(ProductionCode2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUN_TEST_GROUP
      Src: /src/cJSON/tests/unity/examples/example_2/test/test_runners/all_tests.c:5,1
    - Dst: RUN_TEST_GROUP
      Src: /src/cJSON/tests/unity/examples/example_2/test/test_runners/all_tests.c:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 3
    functionDepth: 1
    functionLinenumber: 3
    functionLinenumberEnd: 7
    functionName: RunAllTests
    functionSourceFile: /src/cJSON/tests/unity/examples/example_2/test/test_runners/all_tests.c
    functionUses: 0
    functionsReached:
    - RUN_TEST_GROUP
    linkageType: ''
    returnType: void
    signature: void RunAllTests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnityMain
      Src: /src/cJSON/tests/unity/examples/example_2/test/test_runners/all_tests.c:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 9
    functionDepth: 4
    functionLinenumber: 9
    functionLinenumberEnd: 12
    functionName: main
    functionSourceFile: /src/cJSON/tests/unity/examples/example_2/test/test_runners/all_tests.c
    functionUses: 2
    functionsReached:
    - UnityMain
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char * argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c:6,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c:7,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c:8,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c:9,1
    - Dst: RUN_TEST_CASE
      Src: /src/cJSON/tests/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: TEST_GROUP_RUNNER
    functionSourceFile: /src/cJSON/tests/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c
    functionUses: 0
    functionsReached:
    - RUN_TEST_CASE
    linkageType: ''
    returnType: void
    signature: void TEST_GROUP_RUNNER(ProductionCode)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - NumberToFind
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 19
    functionName: FindFunction_WhichIsBroken
    functionSourceFile: /src/cJSON/tests/unity/examples/example_2/src/ProductionCode.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int FindFunction_WhichIsBroken(int NumberToFind)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: FunctionWhichReturnsLocalVariable
    functionSourceFile: /src/cJSON/tests/unity/examples/example_2/src/ProductionCode.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int FunctionWhichReturnsLocalVariable(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - Poor
    - LittleFunction
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: ThisFunctionHasNotBeenTested
    functionSourceFile: /src/cJSON/tests/unity/examples/example_2/src/ProductionCode2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ThisFunctionHasNotBeenTested(int Poor, char* LittleFunction)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 12
    functionName: setUp
    functionSourceFile: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode2.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setUp(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: tearDown
    functionSourceFile: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode2.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tearDown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE_MESSAGE
      Src: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode2.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: test_IgnoredTest
    functionSourceFile: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode2.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE_MESSAGE
    linkageType: ''
    returnType: void
    signature: void test_IgnoredTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE_MESSAGE
      Src: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode2.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: test_AnotherIgnoredTest
    functionSourceFile: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode2.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE_MESSAGE
    linkageType: ''
    returnType: void
    signature: void test_AnotherIgnoredTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode2.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: test_ThisFunctionHasNotBeenTested_NeedsToBeImplemented
    functionSourceFile: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode2.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void test_ThisFunctionHasNotBeenTested_NeedsToBeImplemented(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 14
    functionName: setUp
    functionSourceFile: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setUp(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: tearDown
    functionSourceFile: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tearDown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c:23,1
    - Dst: FindFunction_WhichIsBroken
      Src: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c:23,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c:24,1
    - Dst: FindFunction_WhichIsBroken
      Src: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c:24,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c:25,1
    - Dst: FindFunction_WhichIsBroken
      Src: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c:25,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c:26,1
    - Dst: FindFunction_WhichIsBroken
      Src: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c:26,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c:27,1
    - Dst: FindFunction_WhichIsBroken
      Src: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 28
    functionName: test_FindFunction_WhichIsBroken_ShouldReturnZeroIfItemIsNotInList_WhichWorksEvenInOurBrokenCode
    functionSourceFile: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c
    functionUses: 0
    functionsReached:
    - FindFunction_WhichIsBroken
    - TEST_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_FindFunction_WhichIsBroken_ShouldReturnZeroIfItemIsNotInList_WhichWorksEvenInOurBrokenCode(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c:33,1
    - Dst: FindFunction_WhichIsBroken
      Src: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c:33,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c:38,1
    - Dst: FindFunction_WhichIsBroken
      Src: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: test_FindFunction_WhichIsBroken_ShouldReturnTheIndexForItemsInList_WhichWillFailBecauseOurFunctionUnderTestIsBroken
    functionSourceFile: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c
    functionUses: 0
    functionsReached:
    - FindFunction_WhichIsBroken
    - TEST_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_FindFunction_WhichIsBroken_ShouldReturnTheIndexForItemsInList_WhichWillFailBecauseOurFunctionUnderTestIsBroken(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_HEX
      Src: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c:44,1
    - Dst: FunctionWhichReturnsLocalVariable
      Src: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c:44,1
    - Dst: TEST_ASSERT_EQUAL_HEX
      Src: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c:48,1
    - Dst: FunctionWhichReturnsLocalVariable
      Src: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: test_FunctionWhichReturnsLocalVariable_ShouldReturnTheCurrentCounterValue
    functionSourceFile: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c
    functionUses: 0
    functionsReached:
    - FunctionWhichReturnsLocalVariable
    - TEST_ASSERT_EQUAL_HEX
    linkageType: ''
    returnType: void
    signature: void test_FunctionWhichReturnsLocalVariable_ShouldReturnTheCurrentCounterValue(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_HEX
      Src: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c:54,1
    - Dst: FunctionWhichReturnsLocalVariable
      Src: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: test_FunctionWhichReturnsLocalVariable_ShouldReturnTheCurrentCounterValueAgain
    functionSourceFile: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c
    functionUses: 0
    functionsReached:
    - FunctionWhichReturnsLocalVariable
    - TEST_ASSERT_EQUAL_HEX
    linkageType: ''
    returnType: void
    signature: void test_FunctionWhichReturnsLocalVariable_ShouldReturnTheCurrentCounterValueAgain(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_HEX
      Src: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c:61,1
    - Dst: FunctionWhichReturnsLocalVariable
      Src: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: test_FunctionWhichReturnsLocalVariable_ShouldReturnCurrentCounter_ButFailsBecauseThisTestIsActuallyFlawed
    functionSourceFile: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c
    functionUses: 0
    functionsReached:
    - FunctionWhichReturnsLocalVariable
    - TEST_ASSERT_EQUAL_HEX
    linkageType: ''
    returnType: void
    signature: void test_FunctionWhichReturnsLocalVariable_ShouldReturnCurrentCounter_ButFailsBecauseThisTestIsActuallyFlawed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TestFunc
    - ','
    - TestLineNum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 20
    functionName: RUN_TEST
    functionSourceFile: /src/cJSON/tests/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST(TestFunc, TestLineNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tearDown
      Src: /src/cJSON/tests/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c:39,1
    - Dst: setUp
      Src: /src/cJSON/tests/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: resetTest
    functionSourceFile: /src/cJSON/tests/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c
    functionUses: 0
    functionsReached:
    - tearDown
    - setUp
    linkageType: ''
    returnType: void
    signature: void resetTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnityBegin
      Src: /src/cJSON/tests/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c:47,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c:48,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c:49,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c:50,1
    - Dst: UnityEnd
      Src: /src/cJSON/tests/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/cJSON/tests/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c
    functionUses: 2
    functionsReached:
    - UnityBegin
    - RUN_TEST
    - UnityEnd
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TestFunc
    - ','
    - TestLineNum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 20
    functionName: RUN_TEST
    functionSourceFile: /src/cJSON/tests/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN_TEST(TestFunc, TestLineNum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tearDown
      Src: /src/cJSON/tests/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c:41,1
    - Dst: setUp
      Src: /src/cJSON/tests/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: resetTest
    functionSourceFile: /src/cJSON/tests/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c
    functionUses: 0
    functionsReached:
    - tearDown
    - setUp
    linkageType: ''
    returnType: void
    signature: void resetTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnityBegin
      Src: /src/cJSON/tests/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c:49,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c:50,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c:51,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c:52,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c:53,1
    - Dst: RUN_TEST
      Src: /src/cJSON/tests/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c:54,1
    - Dst: UnityEnd
      Src: /src/cJSON/tests/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: main
    functionSourceFile: /src/cJSON/tests/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c
    functionUses: 2
    functionsReached:
    - UnityBegin
    - RUN_TEST
    - UnityEnd
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - NumberToFind
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 19
    functionName: FindFunction_WhichIsBroken
    functionSourceFile: /src/cJSON/tests/unity/examples/example_1/src/ProductionCode.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int FindFunction_WhichIsBroken(int NumberToFind)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: FunctionWhichReturnsLocalVariable
    functionSourceFile: /src/cJSON/tests/unity/examples/example_1/src/ProductionCode.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int FunctionWhichReturnsLocalVariable(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - Poor
    - LittleFunction
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: ThisFunctionHasNotBeenTested
    functionSourceFile: /src/cJSON/tests/unity/examples/example_1/src/ProductionCode2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ThisFunctionHasNotBeenTested(int Poor, char* LittleFunction)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 12
    functionName: setUp
    functionSourceFile: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode2.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setUp(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 16
    functionName: tearDown
    functionSourceFile: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode2.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tearDown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE_MESSAGE
      Src: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode2.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: test_IgnoredTest
    functionSourceFile: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode2.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE_MESSAGE
    linkageType: ''
    returnType: void
    signature: void test_IgnoredTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE_MESSAGE
      Src: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode2.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: test_AnotherIgnoredTest
    functionSourceFile: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode2.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE_MESSAGE
    linkageType: ''
    returnType: void
    signature: void test_AnotherIgnoredTest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_IGNORE
      Src: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode2.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: test_ThisFunctionHasNotBeenTested_NeedsToBeImplemented
    functionSourceFile: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode2.c
    functionUses: 0
    functionsReached:
    - TEST_IGNORE
    linkageType: ''
    returnType: void
    signature: void test_ThisFunctionHasNotBeenTested_NeedsToBeImplemented(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 14
    functionName: setUp
    functionSourceFile: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setUp(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: tearDown
    functionSourceFile: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tearDown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c:23,1
    - Dst: FindFunction_WhichIsBroken
      Src: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c:23,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c:24,1
    - Dst: FindFunction_WhichIsBroken
      Src: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c:24,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c:25,1
    - Dst: FindFunction_WhichIsBroken
      Src: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c:25,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c:26,1
    - Dst: FindFunction_WhichIsBroken
      Src: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c:26,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c:27,1
    - Dst: FindFunction_WhichIsBroken
      Src: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 28
    functionName: test_FindFunction_WhichIsBroken_ShouldReturnZeroIfItemIsNotInList_WhichWorksEvenInOurBrokenCode
    functionSourceFile: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c
    functionUses: 0
    functionsReached:
    - FindFunction_WhichIsBroken
    - TEST_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_FindFunction_WhichIsBroken_ShouldReturnZeroIfItemIsNotInList_WhichWorksEvenInOurBrokenCode(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c:33,1
    - Dst: FindFunction_WhichIsBroken
      Src: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c:33,1
    - Dst: TEST_ASSERT_EQUAL
      Src: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c:38,1
    - Dst: FindFunction_WhichIsBroken
      Src: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: test_FindFunction_WhichIsBroken_ShouldReturnTheIndexForItemsInList_WhichWillFailBecauseOurFunctionUnderTestIsBroken
    functionSourceFile: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c
    functionUses: 0
    functionsReached:
    - FindFunction_WhichIsBroken
    - TEST_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void test_FindFunction_WhichIsBroken_ShouldReturnTheIndexForItemsInList_WhichWillFailBecauseOurFunctionUnderTestIsBroken(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_HEX
      Src: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c:44,1
    - Dst: FunctionWhichReturnsLocalVariable
      Src: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c:44,1
    - Dst: TEST_ASSERT_EQUAL_HEX
      Src: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c:48,1
    - Dst: FunctionWhichReturnsLocalVariable
      Src: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: test_FunctionWhichReturnsLocalVariable_ShouldReturnTheCurrentCounterValue
    functionSourceFile: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c
    functionUses: 0
    functionsReached:
    - FunctionWhichReturnsLocalVariable
    - TEST_ASSERT_EQUAL_HEX
    linkageType: ''
    returnType: void
    signature: void test_FunctionWhichReturnsLocalVariable_ShouldReturnTheCurrentCounterValue(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_HEX
      Src: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c:54,1
    - Dst: FunctionWhichReturnsLocalVariable
      Src: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: test_FunctionWhichReturnsLocalVariable_ShouldReturnTheCurrentCounterValueAgain
    functionSourceFile: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c
    functionUses: 0
    functionsReached:
    - FunctionWhichReturnsLocalVariable
    - TEST_ASSERT_EQUAL_HEX
    linkageType: ''
    returnType: void
    signature: void test_FunctionWhichReturnsLocalVariable_ShouldReturnTheCurrentCounterValueAgain(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT_EQUAL_HEX
      Src: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c:61,1
    - Dst: FunctionWhichReturnsLocalVariable
      Src: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: test_FunctionWhichReturnsLocalVariable_ShouldReturnCurrentCounter_ButFailsBecauseThisTestIsActuallyFlawed
    functionSourceFile: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c
    functionUses: 0
    functionsReached:
    - FunctionWhichReturnsLocalVariable
    - TEST_ASSERT_EQUAL_HEX
    linkageType: ''
    returnType: void
    signature: void test_FunctionWhichReturnsLocalVariable_ShouldReturnCurrentCounter_ButFailsBecauseThisTestIsActuallyFlawed(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - NumberToFind
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 19
    functionName: FindFunction_WhichIsBroken
    functionSourceFile: /src/cJSON/tests/unity/examples/example_3/src/ProductionCode.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int FindFunction_WhichIsBroken(int NumberToFind)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: FunctionWhichReturnsLocalVariable
    functionSourceFile: /src/cJSON/tests/unity/examples/example_3/src/ProductionCode.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int FunctionWhichReturnsLocalVariable(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - Poor
    - LittleFunction
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: ThisFunctionHasNotBeenTested
    functionSourceFile: /src/cJSON/tests/unity/examples/example_3/src/ProductionCode2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ThisFunctionHasNotBeenTested(int Poor, char* LittleFunction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNITY_TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/examples/example_3/helper/UnityHelper.c:8,1
    - Dst: UNITY_TEST_ASSERT_EQUAL_INT
      Src: /src/cJSON/tests/unity/examples/example_3/helper/UnityHelper.c:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - expected
    - actual
    - line
    argTypes:
    - EXAMPLE_STRUCT_T
    - EXAMPLE_STRUCT_T
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 6
    functionDepth: 1
    functionLinenumber: 6
    functionLinenumberEnd: 10
    functionName: AssertEqualExampleStruct
    functionSourceFile: /src/cJSON/tests/unity/examples/example_3/helper/UnityHelper.c
    functionUses: 0
    functionsReached:
    - UNITY_TEST_ASSERT_EQUAL_INT
    linkageType: ''
    returnType: void
    signature: void AssertEqualExampleStruct(const EXAMPLE_STRUCT_T expected, const
      EXAMPLE_STRUCT_T actual, const unsigned short line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - expected
    - ','
    - actual
    - ','
    - line
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 9
    functionName: UNITY_TEST_ASSERT_EQUAL_EXAMPLE_STRUCT_T
    functionSourceFile: /src/cJSON/tests/unity/examples/example_3/helper/UnityHelper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNITY_TEST_ASSERT_EQUAL_EXAMPLE_STRUCT_T(expected, actual, line, message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expected
    - ','
    - actual
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 11
    functionName: TEST_ASSERT_EQUAL_EXAMPLE_STRUCT_T
    functionSourceFile: /src/cJSON/tests/unity/examples/example_3/helper/UnityHelper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_EQUAL_EXAMPLE_STRUCT_T(expected, actual)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_ParseWithOpts
      Src: /src/cJSON/fuzzing/cjson_read_fuzzer.c:34,1
    - Dst: cJSON_PrintBuffered
      Src: /src/cJSON/fuzzing/cjson_read_fuzzer.c:40,1
    - Dst: cJSON_Print
      Src: /src/cJSON/fuzzing/cjson_read_fuzzer.c:47,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/cJSON/fuzzing/cjson_read_fuzzer.c:51,1
    - Dst: free
      Src: /src/cJSON/fuzzing/cjson_read_fuzzer.c:55,1
    - Dst: malloc
      Src: /src/cJSON/fuzzing/cjson_read_fuzzer.c:59,1
    - Dst: memcpy
      Src: /src/cJSON/fuzzing/cjson_read_fuzzer.c:62,1
    - Dst: cJSON_Minify
      Src: /src/cJSON/fuzzing/cjson_read_fuzzer.c:64,1
    - Dst: free
      Src: /src/cJSON/fuzzing/cjson_read_fuzzer.c:66,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/fuzzing/cjson_read_fuzzer.c:69,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 13
    functionDepth: 3
    functionLinenumber: 13
    functionLinenumberEnd: 72
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/cJSON/fuzzing/cjson_read_fuzzer.c
    functionUses: 0
    functionsReached:
    - cJSON_PrintUnformatted
    - cJSON_PrintBuffered
    - cJSON_ParseWithOpts
    - cJSON_Print
    - cJSON_Delete
    - malloc
    - cJSON_Minify
    - memcpy
    - free
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/cJSON/fuzzing/afl.c:37,1
    - Dst: fseek
      Src: /src/cJSON/fuzzing/afl.c:44,1
    - Dst: ftell
      Src: /src/cJSON/fuzzing/afl.c:48,1
    - Dst: fseek
      Src: /src/cJSON/fuzzing/afl.c:53,1
    - Dst: malloc
      Src: /src/cJSON/fuzzing/afl.c:59,1
    - Dst: fread
      Src: /src/cJSON/fuzzing/afl.c:66,1
    - Dst: free
      Src: /src/cJSON/fuzzing/afl.c:69,1
    - Dst: fclose
      Src: /src/cJSON/fuzzing/afl.c:79,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 83
    functionName: read_file
    functionSourceFile: /src/cJSON/fuzzing/afl.c
    functionUses: 4
    functionsReached:
    - fseek
    - free
    - ftell
    - fclose
    - malloc
    - fopen
    - fread
    linkageType: ''
    returnType: char
    signature: char *read_file(const char *filename)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/cJSON/fuzzing/afl.c:95,1
    - Dst: printf
      Src: /src/cJSON/fuzzing/afl.c:96,1
    - Dst: printf
      Src: /src/cJSON/fuzzing/afl.c:97,1
    - Dst: printf
      Src: /src/cJSON/fuzzing/afl.c:98,1
    - Dst: __AFL_LOOP
      Src: /src/cJSON/fuzzing/afl.c:105,1
    - Dst: read_file
      Src: /src/cJSON/fuzzing/afl.c:110,1
    - Dst: cJSON_Parse
      Src: /src/cJSON/fuzzing/afl.c:116,1
    - Dst: strncmp
      Src: /src/cJSON/fuzzing/afl.c:122,1
    - Dst: cJSON_PrintBuffered
      Src: /src/cJSON/fuzzing/afl.c:133,1
    - Dst: cJSON_Print
      Src: /src/cJSON/fuzzing/afl.c:140,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/cJSON/fuzzing/afl.c:144,1
    - Dst: printf
      Src: /src/cJSON/fuzzing/afl.c:152,1
    - Dst: cJSON_Delete
      Src: /src/cJSON/fuzzing/afl.c:158,1
    - Dst: free
      Src: /src/cJSON/fuzzing/afl.c:163,1
    - Dst: free
      Src: /src/cJSON/fuzzing/afl.c:168,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 176
    functionName: main
    functionSourceFile: /src/cJSON/fuzzing/afl.c
    functionUses: 2
    functionsReached:
    - strncmp
    - cJSON_PrintBuffered
    - cJSON_PrintUnformatted
    - cJSON_Print
    - cJSON_Delete
    - printf
    - read_file
    - cJSON_Parse
    - free
    - __AFL_LOOP
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/cJSON/fuzzing/fuzz_main.c:17,1
    - Dst: fopen
      Src: /src/cJSON/fuzzing/fuzz_main.c:21,1
    - Dst: fprintf
      Src: /src/cJSON/fuzzing/fuzz_main.c:24,1
    - Dst: fseek
      Src: /src/cJSON/fuzzing/fuzz_main.c:28,1
    - Dst: ftell
      Src: /src/cJSON/fuzzing/fuzz_main.c:30,1
    - Dst: rewind
      Src: /src/cJSON/fuzzing/fuzz_main.c:31,1
    - Dst: malloc
      Src: /src/cJSON/fuzzing/fuzz_main.c:35,1
    - Dst: fprintf
      Src: /src/cJSON/fuzzing/fuzz_main.c:38,1
    - Dst: fread
      Src: /src/cJSON/fuzzing/fuzz_main.c:42,1
    - Dst: fprintf
      Src: /src/cJSON/fuzzing/fuzz_main.c:44,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/cJSON/fuzzing/fuzz_main.c:48,1
    - Dst: free
      Src: /src/cJSON/fuzzing/fuzz_main.c:51,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/cJSON/fuzzing/fuzz_main.c
    functionUses: 2
    functionsReached:
    - fseek
    - rewind
    - free
    - LLVMFuzzerTestOneInput
    - fprintf
    - ftell
    - malloc
    - fopen
    - fread
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - e
    - ','
    - b
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: strerror_r
    functionSourceFile: /src/mosquitto/config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strerror_r(e, b, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: uthash_malloc
    functionSourceFile: /src/mosquitto/config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_malloc(sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: uthash_free
    functionSourceFile: /src/mosquitto/config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_free(ptr, sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/mosquitto/test/path_helper.h:14,1
    - Dst: strcat
      Src: /src/mosquitto/test/path_helper.h:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - relpath
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 16
    functionName: cat_sourcedir_with_relpath
    functionSourceFile: /src/mosquitto/test/path_helper.h
    functionUses: 0
    functionsReached:
    - strcat
    - strcpy
    linkageType: ''
    returnType: void
    signature: void cat_sourcedir_with_relpath(char *dest, const char *relpath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 5
    functionName: PThreadMock::PThreadMock
    functionSourceFile: /src/mosquitto/test/mock/pthread_mock.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PThreadMock::PThreadMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 8
    functionName: PThreadMock::~PThreadMock()
    functionSourceFile: /src/mosquitto/test/mock/pthread_mock.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PThreadMock::~PThreadMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PThreadMock::get_mock
      Src: /src/mosquitto/test/mock/pthread_mock.cpp:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cond
    - mutex
    - abstime
    argTypes:
    - pthread_cond_t*
    - pthread_mutex_t*
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: pthread_cond_timedwait
    functionSourceFile: /src/mosquitto/test/mock/pthread_mock.cpp
    functionUses: 0
    functionsReached:
    - PThreadMock::get_mock
    linkageType: ''
    returnType: int
    signature: int pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex,
      const struct timespec *abstime)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: '*& get_obj()'
    functionSourceFile: /src/mosquitto/test/mock/c_function_mock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CFunctionMock<MockClass>
    signature: CFunctionMock<MockClass> *& get_obj()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_obj
      Src: /src/mosquitto/test/mock/c_function_mock.hpp:17,1
    - Dst: std::logic_error
      Src: /src/mosquitto/test/mock/c_function_mock.hpp:18,1
    - Dst: get_obj
      Src: /src/mosquitto/test/mock/c_function_mock.hpp:20,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: CFunctionMock::CFunctionMock
    functionSourceFile: /src/mosquitto/test/mock/c_function_mock.hpp
    functionUses: 0
    functionsReached:
    - get_obj
    - std::logic_error
    linkageType: ''
    returnType: void
    signature: void CFunctionMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: CFunctionMock::CFunctionMock
    functionSourceFile: /src/mosquitto/test/mock/c_function_mock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CFunctionMock(const CFunctionMock&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: CFunctionMock::CFunctionMock
    functionSourceFile: /src/mosquitto/test/mock/c_function_mock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CFunctionMock(CFunctionMock&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: '& operator=(const CFunctionMock&)'
    functionSourceFile: /src/mosquitto/test/mock/c_function_mock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CFunctionMock
    signature: CFunctionMock & operator=(const CFunctionMock&)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: '& operator=(CFunctionMock&&)'
    functionSourceFile: /src/mosquitto/test/mock/c_function_mock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CFunctionMock
    signature: CFunctionMock & operator=(CFunctionMock&&)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_obj
      Src: /src/mosquitto/test/mock/c_function_mock.hpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: ~CFunctionMock()
    functionSourceFile: /src/mosquitto/test/mock/c_function_mock.hpp
    functionUses: 0
    functionsReached:
    - get_obj
    linkageType: ''
    returnType: void
    signature: void ~CFunctionMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_obj
      Src: /src/mosquitto/test/mock/c_function_mock.hpp:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: CFunctionMock::mock_exists
    functionSourceFile: /src/mosquitto/test/mock/c_function_mock.hpp
    functionUses: 0
    functionsReached:
    - get_obj
    linkageType: ''
    returnType: bool
    signature: bool mock_exists()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<MockClass*>
      Src: /src/mosquitto/test/mock/c_function_mock.hpp:31,1
    - Dst: get_obj
      Src: /src/mosquitto/test/mock/c_function_mock.hpp:31,1
    - Dst: std::logic_error
      Src: /src/mosquitto/test/mock/c_function_mock.hpp:33,1
    - Dst: std::string
      Src: /src/mosquitto/test/mock/c_function_mock.hpp:33,1
    - Dst: typeid
      Src: /src/mosquitto/test/mock/c_function_mock.hpp:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: '& get_mock()'
    functionSourceFile: /src/mosquitto/test/mock/c_function_mock.hpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<MockClass*>
    - typeid
    - get_obj
    - std::logic_error
    - std::string
    linkageType: ''
    returnType: MockClass
    signature: MockClass & get_mock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OptionalMockFnWrapper<ReturnType, std::is_void<ReturnType>::value, Args...>
      Src: /src/mosquitto/test/mock/c_function_mock.hpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' function_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: CFunctionMock::optional_mocked_fn
    functionSourceFile: /src/mosquitto/test/mock/c_function_mock.hpp
    functionUses: 0
    functionsReached:
    - OptionalMockFnWrapper<ReturnType, std::is_void<ReturnType>::value, Args...>
    linkageType: ''
    returnType: std::function<ReturnType(Args...)>
    signature: "std::function<ReturnType(Args...)> optional_mocked_fn(\n      ReturnType
      (MockClass::*mock_fn)(Args...), const std::string& function_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OriginalFnWrapper<ReturnType, std::is_void<ReturnType>::value, Args...>
      Src: /src/mosquitto/test/mock/c_function_mock.hpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' function_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: CFunctionMock::original_fn
    functionSourceFile: /src/mosquitto/test/mock/c_function_mock.hpp
    functionUses: 0
    functionsReached:
    - OriginalFnWrapper<ReturnType, std::is_void<ReturnType>::value, Args...>
    linkageType: ''
    returnType: std::function<ReturnType(Args...)>
    signature: "std::function<ReturnType(Args...)> original_fn(ReturnType (MockClass::*mock_fn)(Args...),\n
      \                                                       const std::string& function_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<ReturnType (*)(Args...)>
      Src: /src/mosquitto/test/mock/c_function_mock.hpp:62,1
    - Dst: dlsym
      Src: /src/mosquitto/test/mock/c_function_mock.hpp:62,1
    - Dst: c_str
      Src: /src/mosquitto/test/mock/c_function_mock.hpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' function_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: CFunctionMock::OriginalFnWrapper::OriginalFnWrapper
    functionSourceFile: /src/mosquitto/test/mock/c_function_mock.hpp
    functionUses: 0
    functionsReached:
    - c_str
    - dlsym
    - reinterpret_cast<ReturnType (*)(Args...)>
    linkageType: ''
    returnType: void
    signature: "void OriginalFnWrapper(ReturnType (MockClass::* /* mock_fn */)(Args...),\n
      \                     const std::string& function_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: operator()(Args... args)
    functionSourceFile: /src/mosquitto/test/mock/c_function_mock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ReturnType
    signature: ReturnType operator()(Args... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' function_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: CFunctionMock::OptionalMockFnWrapper::OptionalMockFnWrapper
    functionSourceFile: /src/mosquitto/test/mock/c_function_mock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void OptionalMockFnWrapper(ReturnType (MockClass::*mock_fn)(Args...),\n
      \                         const std::string& function_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_obj
      Src: /src/mosquitto/test/mock/c_function_mock.hpp:77,1
    - Dst: get_mock
      Src: /src/mosquitto/test/mock/c_function_mock.hpp:78,1
    - Dst: base_class::operator()
      Src: /src/mosquitto/test/mock/c_function_mock.hpp:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: operator()(Args... args)
    functionSourceFile: /src/mosquitto/test/mock/c_function_mock.hpp
    functionUses: 0
    functionsReached:
    - base_class::operator()
    - get_mock
    - get_obj
    linkageType: ''
    returnType: ReturnType
    signature: ReturnType operator()(Args... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void (*)(Args...)>
      Src: /src/mosquitto/test/mock/c_function_mock.hpp:92,1
    - Dst: dlsym
      Src: /src/mosquitto/test/mock/c_function_mock.hpp:92,1
    - Dst: c_str
      Src: /src/mosquitto/test/mock/c_function_mock.hpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' function_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: CFunctionMock::OriginalFnWrapper<ReturnType, true, Args...>::OriginalFnWrapper
    functionSourceFile: /src/mosquitto/test/mock/c_function_mock.hpp
    functionUses: 0
    functionsReached:
    - c_str
    - dlsym
    - reinterpret_cast<void (*)(Args...)>
    linkageType: ''
    returnType: void
    signature: void OriginalFnWrapper(void (MockClass::* /* mock_fn */)(Args...),
      const std::string& function_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: operator()(Args... args)
    functionSourceFile: /src/mosquitto/test/mock/c_function_mock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void operator()(Args... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' function_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: CFunctionMock::OptionalMockFnWrapper<ReturnType, true, Args...>::OptionalMockFnWrapper
    functionSourceFile: /src/mosquitto/test/mock/c_function_mock.hpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OptionalMockFnWrapper(void (MockClass::*mock_fn)(Args...), const
      std::string& function_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_obj
      Src: /src/mosquitto/test/mock/c_function_mock.hpp:108,1
    - Dst: get_mock
      Src: /src/mosquitto/test/mock/c_function_mock.hpp:109,1
    - Dst: base_class::operator()
      Src: /src/mosquitto/test/mock/c_function_mock.hpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: operator()(Args... args)
    functionSourceFile: /src/mosquitto/test/mock/c_function_mock.hpp
    functionUses: 0
    functionsReached:
    - base_class::operator()
    - get_mock
    - get_obj
    linkageType: ''
    returnType: void
    signature: void operator()(Args... args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 11
    functionName: EditLineMock::EditLineMock
    functionSourceFile: /src/mosquitto/test/mock/editline_mock.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EditLineMock::EditLineMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: EditLineMock::~EditLineMock()
    functionSourceFile: /src/mosquitto/test/mock/editline_mock.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EditLineMock::~EditLineMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/mosquitto/test/mock/editline_mock.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 25
    functionName: EditLineMock::reset
    functionSourceFile: /src/mosquitto/test/mock/editline_mock.cpp
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void EditLineMock::reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EditLineMock::get_mock
      Src: /src/mosquitto/test/mock/editline_mock.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: add_history
    functionSourceFile: /src/mosquitto/test/mock/editline_mock.cpp
    functionUses: 0
    functionsReached:
    - EditLineMock::get_mock
    linkageType: ''
    returnType: int
    signature: int add_history(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EditLineMock::get_mock
      Src: /src/mosquitto/test/mock/editline_mock.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: clear_history
    functionSourceFile: /src/mosquitto/test/mock/editline_mock.cpp
    functionUses: 0
    functionsReached:
    - EditLineMock::get_mock
    linkageType: ''
    returnType: void
    signature: void clear_history(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EditLineMock::get_mock
      Src: /src/mosquitto/test/mock/editline_mock.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: rl_resize_terminal
    functionSourceFile: /src/mosquitto/test/mock/editline_mock.cpp
    functionUses: 0
    functionsReached:
    - EditLineMock::get_mock
    linkageType: ''
    returnType: void
    signature: void rl_resize_terminal(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EditLineMock::get_mock
      Src: /src/mosquitto/test/mock/editline_mock.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: readline
    functionSourceFile: /src/mosquitto/test/mock/editline_mock.cpp
    functionUses: 0
    functionsReached:
    - EditLineMock::get_mock
    linkageType: ''
    returnType: char
    signature: char *readline(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EditLineMock::get_mock
      Src: /src/mosquitto/test/mock/editline_mock.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: rl_completion_matches
    functionSourceFile: /src/mosquitto/test/mock/editline_mock.cpp
    functionUses: 0
    functionsReached:
    - EditLineMock::get_mock
    linkageType: ''
    returnType: char
    signature: char **rl_completion_matches(const char *s, rl_compentry_func_t *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EditLineMock::get_mock
      Src: /src/mosquitto/test/mock/editline_mock.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: rl_complete
    functionSourceFile: /src/mosquitto/test/mock/editline_mock.cpp
    functionUses: 0
    functionsReached:
    - EditLineMock::get_mock
    linkageType: ''
    returnType: int
    signature: int rl_complete(int a, int b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EditLineMock::get_mock
      Src: /src/mosquitto/test/mock/editline_mock.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - f
    argTypes:
    - int
    - rl_command_func_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: rl_bind_key
    functionSourceFile: /src/mosquitto/test/mock/editline_mock.cpp
    functionUses: 0
    functionsReached:
    - EditLineMock::get_mock
    linkageType: ''
    returnType: int
    signature: int rl_bind_key(int a, rl_command_func_t *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 5
    functionName: CtrlShellMock::CtrlShellMock
    functionSourceFile: /src/mosquitto/test/mock/apps/mosquitto_ctrl/ctrl_shell_mock.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CtrlShellMock::CtrlShellMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 8
    functionName: CtrlShellMock::~CtrlShellMock()
    functionSourceFile: /src/mosquitto/test/mock/apps/mosquitto_ctrl/ctrl_shell_mock.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CtrlShellMock::~CtrlShellMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlShellMock::get_mock
      Src: /src/mosquitto/test/mock/apps/mosquitto_ctrl/ctrl_shell_mock.cpp:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: ctrl_shell__output
    functionSourceFile: /src/mosquitto/test/mock/apps/mosquitto_ctrl/ctrl_shell_mock.cpp
    functionUses: 0
    functionsReached:
    - CtrlShellMock::get_mock
    linkageType: ''
    returnType: void
    signature: void ctrl_shell__output(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlShellMock::get_mock
      Src: /src/mosquitto/test/mock/apps/mosquitto_ctrl/ctrl_shell_mock.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - size
    - stream
    argTypes:
    - char*
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: ctrl_shell_fgets
    functionSourceFile: /src/mosquitto/test/mock/apps/mosquitto_ctrl/ctrl_shell_mock.cpp
    functionUses: 0
    functionsReached:
    - CtrlShellMock::get_mock
    linkageType: ''
    returnType: char
    signature: char *ctrl_shell_fgets(char *s, int size, FILE *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/options_mock.cpp:7,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - mosq
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    argTypes:
    - struct mosquitto*
    - char*
    - int
    - void*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 9
    functionName: mosquitto_will_set
    functionSourceFile: /src/mosquitto/test/mock/lib/options_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: "int mosquitto_will_set(struct mosquitto *mosq, const char *topic,\n\t\tint
      payloadlen, const void *payload, int qos, bool retain)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/options_mock.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - mosq
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    - properties
    argTypes:
    - struct mosquitto*
    - char*
    - int
    - void*
    - int
    - bool
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 18
    functionName: mosquitto_will_set_v5
    functionSourceFile: /src/mosquitto/test/mock/lib/options_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: "int mosquitto_will_set_v5(struct mosquitto *mosq, const char *topic,\n\t\tint
      payloadlen, const void *payload, int qos, bool retain,\n\t\tmosquitto_property
      *properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/options_mock.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: mosquitto_will_clear
    functionSourceFile: /src/mosquitto/test/mock/lib/options_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_will_clear(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/options_mock.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mosq
    - username
    - password
    argTypes:
    - struct mosquitto*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: mosquitto_username_pw_set
    functionSourceFile: /src/mosquitto/test/mock/lib/options_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: "int mosquitto_username_pw_set(struct mosquitto *mosq,\n\t\tconst char
      *username, const char *password)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/options_mock.cpp:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mosq
    - reconnect_delay
    - reconnect_delay_max
    - reconnect_exponential_backoff
    argTypes:
    - struct mosquitto*
    - unsigned int
    - unsigned int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: mosquitto_reconnect_delay_set
    functionSourceFile: /src/mosquitto/test/mock/lib/options_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: "int mosquitto_reconnect_delay_set(struct mosquitto *mosq,\n\t\tunsigned
      int reconnect_delay, unsigned int reconnect_delay_max,\n\t\tbool reconnect_exponential_backoff)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/options_mock.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - mosq
    - cafile
    - capath
    - certfile
    - keyfile
    argTypes:
    - struct mosquitto*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: mosquitto_tls_set
    functionSourceFile: /src/mosquitto/test/mock/lib/options_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: "int mosquitto_tls_set(struct mosquitto *mosq, const char *cafile,\n\t\tconst
      char *capath, const char *certfile, const char *keyfile,\n\t\tint (*pw_callback)(char
      *buf, int size, int rwflag, void *userdata))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/options_mock.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mosq
    - cert_reqs
    - tls_version
    - ciphers
    argTypes:
    - struct mosquitto*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: mosquitto_tls_opts_set
    functionSourceFile: /src/mosquitto/test/mock/lib/options_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: "int mosquitto_tls_opts_set(struct mosquitto *mosq, int cert_reqs,\n\t\tconst
      char *tls_version, const char *ciphers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/options_mock.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mosq
    - value
    argTypes:
    - struct mosquitto*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: mosquitto_tls_insecure_set
    functionSourceFile: /src/mosquitto/test/mock/lib/options_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_tls_insecure_set(struct mosquitto *mosq, bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/options_mock.cpp:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mosq
    - option
    - value
    argTypes:
    - struct mosquitto*
    - enum mosq_opt_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: mosquitto_string_option
    functionSourceFile: /src/mosquitto/test/mock/lib/options_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: "int mosquitto_string_option(struct mosquitto *mosq,\n\t\tenum mosq_opt_t
      option, const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/options_mock.cpp:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mosq
    - psk
    - identity
    - ciphers
    argTypes:
    - struct mosquitto*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: mosquitto_tls_psk_set
    functionSourceFile: /src/mosquitto/test/mock/lib/options_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: "int mosquitto_tls_psk_set(struct mosquitto *mosq, const char *psk,\n\t\tconst
      char *identity, const char *ciphers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/options_mock.cpp:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mosq
    - option
    - value
    argTypes:
    - struct mosquitto*
    - enum mosq_opt_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: mosquitto_opts_set
    functionSourceFile: /src/mosquitto/test/mock/lib/options_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: "int mosquitto_opts_set(struct mosquitto *mosq, enum mosq_opt_t option,\n\t\tvoid
      *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/options_mock.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mosq
    - option
    - value
    argTypes:
    - struct mosquitto*
    - enum mosq_opt_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: mosquitto_int_option
    functionSourceFile: /src/mosquitto/test/mock/lib/options_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: "int mosquitto_int_option(struct mosquitto *mosq, enum mosq_opt_t option,\n\t\tint
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/options_mock.cpp:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mosq
    - option
    - value
    argTypes:
    - struct mosquitto*
    - enum mosq_opt_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: mosquitto_void_option
    functionSourceFile: /src/mosquitto/test/mock/lib/options_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: "int mosquitto_void_option(struct mosquitto *mosq, enum mosq_opt_t
      option,\n\t\tvoid *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/options_mock.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mosq
    - userdata
    argTypes:
    - struct mosquitto*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: mosquitto_user_data_set
    functionSourceFile: /src/mosquitto/test/mock/lib/options_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: void
    signature: void mosquitto_user_data_set(struct mosquitto *mosq, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/options_mock.cpp:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: mosquitto_userdata
    functionSourceFile: /src/mosquitto/test/mock/lib/options_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: void
    signature: void *mosquitto_userdata(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/actions_publish_mock.cpp:7,1
    - Dst: static_cast<const char *>
      Src: /src/mosquitto/test/mock/lib/actions_publish_mock.cpp:7,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - mosq
    - mid
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    argTypes:
    - struct mosquitto*
    - int*
    - char*
    - int
    - void*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 8
    functionName: mosquitto_publish
    functionSourceFile: /src/mosquitto/test/mock/lib/actions_publish_mock.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const char *>
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: "int mosquitto_publish(struct mosquitto *mosq, int *mid, const char
      *topic,\n\t\tint payloadlen, const void *payload, int qos, bool retain)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/actions_publish_mock.cpp:14,1
    - Dst: static_cast<const char *>
      Src: /src/mosquitto/test/mock/lib/actions_publish_mock.cpp:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - mosq
    - mid
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    - properties
    argTypes:
    - struct mosquitto*
    - int*
    - char*
    - int
    - void*
    - int
    - bool
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 15
    functionName: mosquitto_publish_v5
    functionSourceFile: /src/mosquitto/test/mock/lib/actions_publish_mock.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const char *>
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: "int mosquitto_publish_v5(struct mosquitto *mosq, int *mid, const char
      *topic,\n\t\tint payloadlen, const void *payload, int qos, bool retain, const
      mosquitto_property *properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 5
    functionName: LibMosquittoMock::LibMosquittoMock
    functionSourceFile: /src/mosquitto/test/mock/lib/libmosquitto_mock.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LibMosquittoMock::LibMosquittoMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 8
    functionName: LibMosquittoMock::~LibMosquittoMock()
    functionSourceFile: /src/mosquitto/test/mock/lib/libmosquitto_mock.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LibMosquittoMock::~LibMosquittoMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/libmosquitto_mock.cpp:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - major
    - minor
    - revision
    argTypes:
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 15
    functionName: mosquitto_lib_version
    functionSourceFile: /src/mosquitto/test/mock/lib/libmosquitto_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_lib_version(int *major, int *minor, int *revision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/libmosquitto_mock.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: mosquitto_lib_init
    functionSourceFile: /src/mosquitto/test/mock/lib/libmosquitto_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_lib_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/libmosquitto_mock.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: mosquitto_lib_cleanup
    functionSourceFile: /src/mosquitto/test/mock/lib/libmosquitto_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_lib_cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/libmosquitto_mock.cpp:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - id
    - clean_start
    - userdata
    argTypes:
    - char*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: mosquitto_new
    functionSourceFile: /src/mosquitto/test/mock/lib/libmosquitto_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: struct mosquitto
    signature: struct mosquitto *mosquitto_new(const char *id, bool clean_start, void
      *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/libmosquitto_mock.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mosq
    - id
    - clean_start
    - userdata
    argTypes:
    - struct mosquitto*
    - char*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: mosquitto_reinitialise
    functionSourceFile: /src/mosquitto/test/mock/lib/libmosquitto_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: "int mosquitto_reinitialise(struct mosquitto *mosq, const char *id,
      bool clean_start,\n\t\tvoid *userdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/libmosquitto_mock.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: mosquitto_destroy
    functionSourceFile: /src/mosquitto/test/mock/lib/libmosquitto_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: void
    signature: void mosquitto_destroy(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/libmosquitto_mock.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: mosquitto_socket
    functionSourceFile: /src/mosquitto/test/mock/lib/libmosquitto_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_socket(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/libmosquitto_mock.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: mosquitto_want_write
    functionSourceFile: /src/mosquitto/test/mock/lib/libmosquitto_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: bool
    signature: bool mosquitto_want_write(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/net_mosq_mock.cpp:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 7
    functionName: mosquitto_ssl_get
    functionSourceFile: /src/mosquitto/test/mock/lib/net_mosq_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: void
    signature: void *mosquitto_ssl_get(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/actions_unsubscribe_mock.cpp:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mosq
    - mid
    - sub
    argTypes:
    - struct mosquitto*
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 7
    functionName: mosquitto_unsubscribe
    functionSourceFile: /src/mosquitto/test/mock/lib/actions_unsubscribe_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_unsubscribe(struct mosquitto *mosq, int *mid, const char
      *sub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/actions_unsubscribe_mock.cpp:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mosq
    - mid
    - sub
    - properties
    argTypes:
    - struct mosquitto*
    - int*
    - char*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 14
    functionName: mosquitto_unsubscribe_v5
    functionSourceFile: /src/mosquitto/test/mock/lib/actions_unsubscribe_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: "int mosquitto_unsubscribe_v5(struct mosquitto *mosq, int *mid, const
      char *sub,\n\t\tconst mosquitto_property *properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/actions_unsubscribe_mock.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - mosq
    - mid
    - sub_count
    - sub
    - properties
    argTypes:
    - struct mosquitto*
    - int*
    - int
    - char**
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: mosquitto_unsubscribe_multiple
    functionSourceFile: /src/mosquitto/test/mock/lib/actions_unsubscribe_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: "int mosquitto_unsubscribe_multiple(struct mosquitto *mosq, int *mid,
      int sub_count,\n\t\tchar *const *const sub, const mosquitto_property *properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/loop_mock.cpp:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mosq
    - timeout
    - max_packets
    argTypes:
    - struct mosquitto*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 7
    functionName: mosquitto_loop
    functionSourceFile: /src/mosquitto/test/mock/lib/loop_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_loop(struct mosquitto *mosq, int timeout, int max_packets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/loop_mock.cpp:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mosq
    - timeout
    - max_packets
    argTypes:
    - struct mosquitto*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: mosquitto_loop_forever
    functionSourceFile: /src/mosquitto/test/mock/lib/loop_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_loop_forever(struct mosquitto *mosq, int timeout, int
      max_packets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/loop_mock.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: mosquitto_loop_misc
    functionSourceFile: /src/mosquitto/test/mock/lib/loop_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_loop_misc(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/loop_mock.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mosq
    - max_packets
    argTypes:
    - struct mosquitto*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: mosquitto_loop_read
    functionSourceFile: /src/mosquitto/test/mock/lib/loop_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_loop_read(struct mosquitto *mosq, int max_packets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/loop_mock.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mosq
    - max_packets
    argTypes:
    - struct mosquitto*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: mosquitto_loop_write
    functionSourceFile: /src/mosquitto/test/mock/lib/loop_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_loop_write(struct mosquitto *mosq, int max_packets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/messages_mosq_mock.cpp:7,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct mosquitto_message*
    - struct mosquitto_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 8
    functionName: mosquitto_message_copy
    functionSourceFile: /src/mosquitto/test/mock/lib/messages_mosq_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: "int mosquitto_message_copy(struct mosquitto_message *dst,\n\t\tconst
      struct mosquitto_message *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/messages_mosq_mock.cpp:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - struct mosquitto_message**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: mosquitto_message_free
    functionSourceFile: /src/mosquitto/test/mock/lib/messages_mosq_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: void
    signature: void mosquitto_message_free(struct mosquitto_message **message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/messages_mosq_mock.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - struct mosquitto_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: mosquitto_message_free_contents
    functionSourceFile: /src/mosquitto/test/mock/lib/messages_mosq_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: void
    signature: void mosquitto_message_free_contents(struct mosquitto_message *message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/thread_mosq_mock.cpp:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 7
    functionName: mosquitto_loop_start
    functionSourceFile: /src/mosquitto/test/mock/lib/thread_mosq_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_loop_start(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/thread_mosq_mock.cpp:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mosq
    - force
    argTypes:
    - struct mosquitto*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: mosquitto_loop_stop
    functionSourceFile: /src/mosquitto/test/mock/lib/thread_mosq_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_loop_stop(struct mosquitto *mosq, bool force)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/thread_mosq_mock.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mosq
    - threaded
    argTypes:
    - struct mosquitto*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: mosquitto_threaded_set
    functionSourceFile: /src/mosquitto/test/mock/lib/thread_mosq_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_threaded_set(struct mosquitto *mosq, bool threaded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/extended_auth_mock.cpp:8,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - context
    - auth_method
    - auth_data_len
    - auth_data
    - input_props
    argTypes:
    - struct mosquitto*
    - char*
    - uint16_t
    - void*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 10
    functionName: mosquitto_ext_auth_continue
    functionSourceFile: /src/mosquitto/test/mock/lib/extended_auth_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: "int mosquitto_ext_auth_continue(struct mosquitto *context,\n\t\tconst
      char *auth_method, uint16_t auth_data_len, const void *auth_data,\n\t\tconst
      mosquitto_property *input_props)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/socks_mosq_mock.cpp:7,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - mosq
    - host
    - port
    - username
    - password
    argTypes:
    - struct mosquitto*
    - char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 9
    functionName: mosquitto_socks5_set
    functionSourceFile: /src/mosquitto/test/mock/lib/socks_mosq_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: "int mosquitto_socks5_set(struct mosquitto *mosq, const char *host,\n\t\tint
      port, const char *username, const char *password)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/actions_subscribe_mock.cpp:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mosq
    - mid
    - sub
    - qos
    argTypes:
    - struct mosquitto*
    - int*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 7
    functionName: mosquitto_subscribe
    functionSourceFile: /src/mosquitto/test/mock/lib/actions_subscribe_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_subscribe(struct mosquitto *mosq, int *mid, const char
      *sub, int qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/actions_subscribe_mock.cpp:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - mosq
    - mid
    - sub
    - qos
    - options
    - properties
    argTypes:
    - struct mosquitto*
    - int*
    - char*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 14
    functionName: mosquitto_subscribe_v5
    functionSourceFile: /src/mosquitto/test/mock/lib/actions_subscribe_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: "int mosquitto_subscribe_v5(struct mosquitto *mosq, int *mid, const
      char *sub, int qos,\n\t\tint options, const mosquitto_property *properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/actions_subscribe_mock.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - mosq
    - mid
    - sub_count
    - sub
    - qos
    - options
    - properties
    argTypes:
    - struct mosquitto*
    - int*
    - int
    - char**
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 21
    functionName: mosquitto_subscribe_multiple
    functionSourceFile: /src/mosquitto/test/mock/lib/actions_subscribe_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: "int mosquitto_subscribe_multiple(struct mosquitto *mosq, int *mid,
      int sub_count,\n\t\tchar *const *const sub, int qos, int options, const mosquitto_property
      *properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/connect_mock.cpp:7,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mosq
    - host
    - port
    - keepalive
    argTypes:
    - struct mosquitto*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 9
    functionName: mosquitto_connect
    functionSourceFile: /src/mosquitto/test/mock/lib/connect_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: "int mosquitto_connect(struct mosquitto *mosq, const char *host,\n\t\tint
      port, int keepalive)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/connect_mock.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - mosq
    - host
    - port
    - keepalive
    - bind_address
    argTypes:
    - struct mosquitto*
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 17
    functionName: mosquitto_connect_bind
    functionSourceFile: /src/mosquitto/test/mock/lib/connect_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: "int mosquitto_connect_bind(struct mosquitto *mosq, const char *host,\n\t\tint
      port, int keepalive, const char *bind_address)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/connect_mock.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - mosq
    - host
    - port
    - keepalive
    - bind_address
    - properties
    argTypes:
    - struct mosquitto*
    - char*
    - int
    - int
    - char*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 26
    functionName: mosquitto_connect_bind_v5
    functionSourceFile: /src/mosquitto/test/mock/lib/connect_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: "int mosquitto_connect_bind_v5(struct mosquitto *mosq, const char *host,\n\t\tint
      port, int keepalive, const char *bind_address,\n\t\tconst mosquitto_property
      *properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/connect_mock.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mosq
    - host
    - port
    - keepalive
    argTypes:
    - struct mosquitto*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: mosquitto_connect_async
    functionSourceFile: /src/mosquitto/test/mock/lib/connect_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: "int mosquitto_connect_async(struct mosquitto *mosq, const char *host,\n\t\tint
      port, int keepalive)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/connect_mock.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - mosq
    - host
    - port
    - keepalive
    - bind_address
    argTypes:
    - struct mosquitto*
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: mosquitto_connect_bind_async
    functionSourceFile: /src/mosquitto/test/mock/lib/connect_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: "int mosquitto_connect_bind_async(struct mosquitto *mosq, const char
      *host,\n\t\tint port, int keepalive, const char *bind_address)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/connect_mock.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: mosquitto_reconnect_async
    functionSourceFile: /src/mosquitto/test/mock/lib/connect_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_reconnect_async(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/connect_mock.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: mosquitto_reconnect
    functionSourceFile: /src/mosquitto/test/mock/lib/connect_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_reconnect(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/connect_mock.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: mosquitto_disconnect
    functionSourceFile: /src/mosquitto/test/mock/lib/connect_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_disconnect(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/connect_mock.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mosq
    - reason_code
    - properties
    argTypes:
    - struct mosquitto*
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: mosquitto_disconnect_v5
    functionSourceFile: /src/mosquitto/test/mock/lib/connect_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: "int mosquitto_disconnect_v5(struct mosquitto *mosq, int reason_code,\n\t\tconst
      mosquitto_property *properties)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/srv_mosq_mock.cpp:7,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mosq
    - host
    - keepalive
    - bind_address
    argTypes:
    - struct mosquitto*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 9
    functionName: mosquitto_connect_srv
    functionSourceFile: /src/mosquitto/test/mock/lib/srv_mosq_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: "int mosquitto_connect_srv(struct mosquitto *mosq, const char *host,\n\t\tint
      keepalive, const char *bind_address)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/helpers_mock.cpp:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 14
    argNames:
    - messages
    - msg_count
    - want_retained
    - topic
    - qos
    - host
    - port
    - clientid
    - keepalive
    - clean_session
    - username
    - password
    - will
    - tls
    argTypes:
    - struct mosquitto_message**
    - int
    - bool
    - char*
    - int
    - char*
    - int
    - char*
    - int
    - bool
    - char*
    - char*
    - struct libmosquitto_will*
    - struct libmosquitto_tls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 13
    functionName: mosquitto_subscribe_simple
    functionSourceFile: /src/mosquitto/test/mock/lib/helpers_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: "int mosquitto_subscribe_simple(struct mosquitto_message **messages,\n\t\tint
      msg_count, bool want_retained, const char *topic, int qos,\n\t\tconst char *host,
      int port, const char *clientid, int keepalive,\n\t\tbool clean_session, const
      char *username, const char *password,\n\t\tconst struct libmosquitto_will *will,
      const struct libmosquitto_tls *tls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/helpers_mock.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 12
    argNames:
    - userdata
    - topic
    - qos
    - host
    - port
    - clientid
    - keepalive
    - clean_session
    - username
    - password
    - will
    - tls
    argTypes:
    - void*
    - char*
    - int
    - char*
    - int
    - char*
    - int
    - bool
    - char*
    - char*
    - struct libmosquitto_will*
    - struct libmosquitto_tls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 27
    functionName: mosquitto_subscribe_callback
    functionSourceFile: /src/mosquitto/test/mock/lib/helpers_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: int
    signature: "int mosquitto_subscribe_callback(int (*callback)(struct mosquitto
      *,\n\t\tvoid *, const struct mosquitto_message *), void *userdata,\n\t\tconst
      char *topic, int qos, const char *host, int port,\n\t\tconst char *clientid,
      int keepalive, bool clean_session,\n\t\tconst char *username, const char *password,
      const struct libmosquitto_will *will,\n\t\tconst struct libmosquitto_tls *tls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/callbacks_mock.cpp:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mosq
    - on_connect
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_connect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 7
    functionName: mosquitto_connect_callback_set
    functionSourceFile: /src/mosquitto/test/mock/lib/callbacks_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: void
    signature: void mosquitto_connect_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_connect
      on_connect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/callbacks_mock.cpp:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mosq
    - on_connect
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_connect_with_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: mosquitto_connect_with_flags_callback_set
    functionSourceFile: /src/mosquitto/test/mock/lib/callbacks_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: void
    signature: void mosquitto_connect_with_flags_callback_set(struct mosquitto *mosq,
      LIBMOSQ_CB_connect_with_flags on_connect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/callbacks_mock.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mosq
    - on_connect
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_connect_v5
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: mosquitto_connect_v5_callback_set
    functionSourceFile: /src/mosquitto/test/mock/lib/callbacks_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: void
    signature: void mosquitto_connect_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_connect_v5
      on_connect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/callbacks_mock.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mosq
    - on_pre_connect
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_pre_connect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: mosquitto_pre_connect_callback_set
    functionSourceFile: /src/mosquitto/test/mock/lib/callbacks_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: void
    signature: void mosquitto_pre_connect_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_pre_connect
      on_pre_connect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/callbacks_mock.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mosq
    - on_disconnect
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_disconnect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: mosquitto_disconnect_callback_set
    functionSourceFile: /src/mosquitto/test/mock/lib/callbacks_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: void
    signature: void mosquitto_disconnect_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_disconnect
      on_disconnect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/callbacks_mock.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mosq
    - on_disconnect
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_disconnect_v5
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: mosquitto_disconnect_v5_callback_set
    functionSourceFile: /src/mosquitto/test/mock/lib/callbacks_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: void
    signature: void mosquitto_disconnect_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_disconnect_v5
      on_disconnect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/callbacks_mock.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mosq
    - on_publish
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_publish
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: mosquitto_publish_callback_set
    functionSourceFile: /src/mosquitto/test/mock/lib/callbacks_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: void
    signature: void mosquitto_publish_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_publish
      on_publish)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/callbacks_mock.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mosq
    - on_publish
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_publish_v5
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: mosquitto_publish_v5_callback_set
    functionSourceFile: /src/mosquitto/test/mock/lib/callbacks_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: void
    signature: void mosquitto_publish_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_publish_v5
      on_publish)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/callbacks_mock.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mosq
    - on_message
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: mosquitto_message_callback_set
    functionSourceFile: /src/mosquitto/test/mock/lib/callbacks_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: void
    signature: void mosquitto_message_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_message
      on_message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/callbacks_mock.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mosq
    - on_message
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_message_v5
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: mosquitto_message_v5_callback_set
    functionSourceFile: /src/mosquitto/test/mock/lib/callbacks_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: void
    signature: void mosquitto_message_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_message_v5
      on_message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/callbacks_mock.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mosq
    - on_subscribe
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_subscribe
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: mosquitto_subscribe_callback_set
    functionSourceFile: /src/mosquitto/test/mock/lib/callbacks_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: void
    signature: void mosquitto_subscribe_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_subscribe
      on_subscribe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/callbacks_mock.cpp:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mosq
    - on_subscribe
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_subscribe_v5
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: mosquitto_subscribe_v5_callback_set
    functionSourceFile: /src/mosquitto/test/mock/lib/callbacks_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: void
    signature: void mosquitto_subscribe_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_subscribe_v5
      on_subscribe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/callbacks_mock.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mosq
    - on_unsubscribe
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_unsubscribe
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: mosquitto_unsubscribe_callback_set
    functionSourceFile: /src/mosquitto/test/mock/lib/callbacks_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: void
    signature: void mosquitto_unsubscribe_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_unsubscribe
      on_unsubscribe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/callbacks_mock.cpp:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mosq
    - on_unsubscribe
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_unsubscribe_v5
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: mosquitto_unsubscribe_v5_callback_set
    functionSourceFile: /src/mosquitto/test/mock/lib/callbacks_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: void
    signature: void mosquitto_unsubscribe_v5_callback_set(struct mosquitto *mosq,
      LIBMOSQ_CB_unsubscribe_v5 on_unsubscribe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/callbacks_mock.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mosq
    - on_unsubscribe
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_unsubscribe2_v5
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: mosquitto_unsubscribe2_v5_callback_set
    functionSourceFile: /src/mosquitto/test/mock/lib/callbacks_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: void
    signature: void mosquitto_unsubscribe2_v5_callback_set(struct mosquitto *mosq,
      LIBMOSQ_CB_unsubscribe2_v5 on_unsubscribe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/callbacks_mock.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mosq
    - on_log
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_log
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: mosquitto_log_callback_set
    functionSourceFile: /src/mosquitto/test/mock/lib/callbacks_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: void
    signature: void mosquitto_log_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_log
      on_log)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoMock::get_mock
      Src: /src/mosquitto/test/mock/lib/callbacks_mock.cpp:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mosq
    - on_ext_auth
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_ext_auth
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: mosquitto_ext_auth_callback_set
    functionSourceFile: /src/mosquitto/test/mock/lib/callbacks_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoMock::get_mock
    linkageType: ''
    returnType: void
    signature: void mosquitto_ext_auth_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_ext_auth
      on_ext_auth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 8
    functionName: mosquitto_property_free
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: void
    signature: void mosquitto_property_free(mosquitto_property **property)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 15
    functionName: mosquitto_property_free_all
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: void
    signature: void mosquitto_property_free_all(mosquitto_property **property)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: mosquitto_property_get_length
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int mosquitto_property_get_length(const mosquitto_property
      *property)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: mosquitto_property_get_length_all
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int mosquitto_property_get_length_all(const mosquitto_property
      *property)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - command
    - identifier
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: mosquitto_property_check_command
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_property_check_command(int command, int identifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: mosquitto_property_identifier_to_string
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: char
    signature: char *mosquitto_property_identifier_to_string(int identifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - propname
    - identifier
    - type
    argTypes:
    - char*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: mosquitto_string_to_property_info
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_string_to_property_info(const char *propname, int *identifier,
      int *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - proplist
    - identifier
    - value
    argTypes:
    - mosquitto_property**
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: mosquitto_property_add_byte
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_property_add_byte(mosquitto_property **proplist, int
      identifier, uint8_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - proplist
    - identifier
    - value
    argTypes:
    - mosquitto_property**
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: mosquitto_property_add_int16
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_property_add_int16(mosquitto_property **proplist, int
      identifier, uint16_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - proplist
    - identifier
    - value
    argTypes:
    - mosquitto_property**
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: mosquitto_property_add_int32
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_property_add_int32(mosquitto_property **proplist, int
      identifier, uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - proplist
    - identifier
    - value
    argTypes:
    - mosquitto_property**
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: mosquitto_property_add_varint
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_property_add_varint(mosquitto_property **proplist, int
      identifier, uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - proplist
    - identifier
    - value
    - len
    argTypes:
    - mosquitto_property**
    - int
    - void*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: mosquitto_property_add_binary
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_property_add_binary(mosquitto_property **proplist, int
      identifier, const void *value, uint16_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - proplist
    - identifier
    - value
    argTypes:
    - mosquitto_property**
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: mosquitto_property_add_string
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_property_add_string(mosquitto_property **proplist, int
      identifier, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - proplist
    - identifier
    - name
    - value
    argTypes:
    - mosquitto_property**
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: mosquitto_property_add_string_pair
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_property_add_string_pair(mosquitto_property **proplist,
      int identifier, const char *name, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - command
    - properties
    argTypes:
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: mosquitto_property_check_all
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_property_check_all(int command, const mosquitto_property
      *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: mosquitto_property_identifier
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_property_identifier(const mosquitto_property *property)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: mosquitto_property_type
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_property_type(const mosquitto_property *property)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - proplist
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: mosquitto_property_next
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: mosquitto_property
    signature: mosquitto_property *mosquitto_property_next(const mosquitto_property
      *proplist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - proplist
    - identifier
    - value
    - skip_first
    argTypes:
    - mosquitto_property*
    - int
    - uint8_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: mosquitto_property_read_byte
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: mosquitto_property
    signature: mosquitto_property *mosquitto_property_read_byte(const mosquitto_property
      *proplist, int identifier, uint8_t *value, bool skip_first)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - proplist
    - identifier
    - value
    - skip_first
    argTypes:
    - mosquitto_property*
    - int
    - uint16_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: mosquitto_property_read_int16
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: mosquitto_property
    signature: mosquitto_property *mosquitto_property_read_int16(const mosquitto_property
      *proplist, int identifier, uint16_t *value, bool skip_first)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - proplist
    - identifier
    - value
    - skip_first
    argTypes:
    - mosquitto_property*
    - int
    - uint32_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: mosquitto_property_read_int32
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: mosquitto_property
    signature: mosquitto_property *mosquitto_property_read_int32(const mosquitto_property
      *proplist, int identifier, uint32_t *value, bool skip_first)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - proplist
    - identifier
    - value
    - skip_first
    argTypes:
    - mosquitto_property*
    - int
    - uint32_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: mosquitto_property_read_varint
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: mosquitto_property
    signature: mosquitto_property *mosquitto_property_read_varint(const mosquitto_property
      *proplist, int identifier, uint32_t *value, bool skip_first)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - proplist
    - identifier
    - value
    - len
    - skip_first
    argTypes:
    - mosquitto_property*
    - int
    - void**
    - uint16_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: mosquitto_property_read_binary
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: mosquitto_property
    signature: mosquitto_property *mosquitto_property_read_binary(const mosquitto_property
      *proplist, int identifier, void **value, uint16_t *len, bool skip_first)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - proplist
    - identifier
    - value
    - skip_first
    argTypes:
    - mosquitto_property*
    - int
    - char**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: mosquitto_property_read_string
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: mosquitto_property
    signature: mosquitto_property *mosquitto_property_read_string(const mosquitto_property
      *proplist, int identifier, char **value, bool skip_first)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - proplist
    - identifier
    - name
    - value
    - skip_first
    argTypes:
    - mosquitto_property*
    - int
    - char**
    - char**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: mosquitto_property_read_string_pair
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: mosquitto_property
    signature: mosquitto_property *mosquitto_property_read_string_pair(const mosquitto_property
      *proplist, int identifier, char **name, char **value, bool skip_first)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - proplist
    - property
    argTypes:
    - mosquitto_property**
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: mosquitto_property_remove
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_property_remove(mosquitto_property **proplist, const
      mosquitto_property *property)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - mosquitto_property**
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: mosquitto_property_copy_all
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_property_copy_all(mosquitto_property **dest, const mosquitto_property
      *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: mosquitto_property_byte_value
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t mosquitto_property_byte_value(const mosquitto_property *property)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: mosquitto_property_int16_value
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t mosquitto_property_int16_value(const mosquitto_property *property)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: mosquitto_property_int32_value
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mosquitto_property_int32_value(const mosquitto_property *property)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: mosquitto_property_varint_value
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mosquitto_property_varint_value(const mosquitto_property *property)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: mosquitto_property_binary_value
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: void
    signature: void *mosquitto_property_binary_value(const mosquitto_property *property)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: mosquitto_property_binary_value_length
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t mosquitto_property_binary_value_length(const mosquitto_property
      *property)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: mosquitto_property_string_value
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: char
    signature: char *mosquitto_property_string_value(const mosquitto_property *property)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: mosquitto_property_string_value_length
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t mosquitto_property_string_value_length(const mosquitto_property
      *property)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: mosquitto_property_string_name
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: char
    signature: char *mosquitto_property_string_name(const mosquitto_property *property)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: mosquitto_property_string_name_length
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t mosquitto_property_string_name_length(const mosquitto_property
      *property)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - props
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: mosquitto_property_get_remaining_length
    functionSourceFile: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int mosquitto_property_get_remaining_length(const mosquitto_property
      *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/file_common_mock.cpp:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - path
    - mode
    - restrict_read
    argTypes:
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 8
    functionName: mosquitto_fopen
    functionSourceFile: /src/mosquitto/test/mock/libcommon/file_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: FILE
    signature: FILE *mosquitto_fopen(const char *path, const char *mode, bool restrict_read)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/file_common_mock.cpp:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: mosquitto_trimblanks
    functionSourceFile: /src/mosquitto/test/mock/libcommon/file_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: char
    signature: char *mosquitto_trimblanks(char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/file_common_mock.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - buflen
    - stream
    argTypes:
    - char**
    - int*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: mosquitto_fgets
    functionSourceFile: /src/mosquitto/test/mock/libcommon/file_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: char
    signature: char *mosquitto_fgets(char **buf, int *buflen, FILE *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/file_common_mock.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - target_path
    - restrict_read
    - user_data
    argTypes:
    - char*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: mosquitto_write_file
    functionSourceFile: /src/mosquitto/test/mock/libcommon/file_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_write_file(const char *target_path, bool restrict_read,
      int (*write_fn)(FILE *fptr, void *user_data), void *user_data, void (*log_fn)(const
      char *msg))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/file_common_mock.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - file
    - buf
    - buflen
    argTypes:
    - char*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: mosquitto_read_file
    functionSourceFile: /src/mosquitto/test/mock/libcommon/file_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_read_file(const char *file, char **buf, size_t *buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/password_common_mock.cpp:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pw
    - hashtype
    argTypes:
    - struct mosquitto_pw**
    - enum mosquitto_pwhash_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 8
    functionName: mosquitto_pw_new
    functionSourceFile: /src/mosquitto/test/mock/libcommon/password_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_pw_new(struct mosquitto_pw **pw, enum mosquitto_pwhash_type
      hashtype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/password_common_mock.cpp:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pw
    - password
    argTypes:
    - struct mosquitto_pw*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 15
    functionName: mosquitto_pw_hash_encoded
    functionSourceFile: /src/mosquitto/test/mock/libcommon/password_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_pw_hash_encoded(struct mosquitto_pw *pw, const char *password)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/password_common_mock.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pw
    - password
    argTypes:
    - struct mosquitto_pw*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: mosquitto_pw_verify
    functionSourceFile: /src/mosquitto/test/mock/libcommon/password_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_pw_verify(struct mosquitto_pw *pw, const char *password)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/password_common_mock.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pw
    - valid
    argTypes:
    - struct mosquitto_pw*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: mosquitto_pw_set_valid
    functionSourceFile: /src/mosquitto/test/mock/libcommon/password_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: void
    signature: void mosquitto_pw_set_valid(struct mosquitto_pw *pw, bool valid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/password_common_mock.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pw
    argTypes:
    - struct mosquitto_pw*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: mosquitto_pw_is_valid
    functionSourceFile: /src/mosquitto/test/mock/libcommon/password_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: bool
    signature: bool mosquitto_pw_is_valid(struct mosquitto_pw *pw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/password_common_mock.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pw
    - password
    argTypes:
    - struct mosquitto_pw*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: mosquitto_pw_decode
    functionSourceFile: /src/mosquitto/test/mock/libcommon/password_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_pw_decode(struct mosquitto_pw *pw, const char *password)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/password_common_mock.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pw
    argTypes:
    - struct mosquitto_pw*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: mosquitto_pw_get_encoded
    functionSourceFile: /src/mosquitto/test/mock/libcommon/password_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: char
    signature: char *mosquitto_pw_get_encoded(struct mosquitto_pw *pw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/password_common_mock.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pw
    - param
    - value
    argTypes:
    - struct mosquitto_pw*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: mosquitto_pw_set_param
    functionSourceFile: /src/mosquitto/test/mock/libcommon/password_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_pw_set_param(struct mosquitto_pw *pw, int param, int
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/password_common_mock.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pw
    argTypes:
    - struct mosquitto_pw*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: mosquitto_pw_cleanup
    functionSourceFile: /src/mosquitto/test/mock/libcommon/password_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: void
    signature: void mosquitto_pw_cleanup(struct mosquitto_pw *pw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/base64_common_mock.cpp:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - in_len
    - encoded
    argTypes:
    - unsigned char*
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 8
    functionName: mosquitto_base64_encode
    functionSourceFile: /src/mosquitto/test/mock/libcommon/base64_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_base64_encode(const unsigned char *in, size_t in_len,
      char **encoded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/base64_common_mock.cpp:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - in
    - decoded
    - decoded_len
    argTypes:
    - char*
    - unsigned char**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 15
    functionName: mosquitto_base64_decode
    functionSourceFile: /src/mosquitto/test/mock/libcommon/base64_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_base64_decode(const char *in, unsigned char **decoded,
      unsigned int *decoded_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/strings_common_mock.cpp:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mosq_errno
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 8
    functionName: mosquitto_strerror
    functionSourceFile: /src/mosquitto/test/mock/libcommon/strings_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: char
    signature: char *mosquitto_strerror(int mosq_errno)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/strings_common_mock.cpp:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - connack_code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 15
    functionName: mosquitto_connack_string
    functionSourceFile: /src/mosquitto/test/mock/libcommon/strings_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: char
    signature: char *mosquitto_connack_string(int connack_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/strings_common_mock.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - reason_code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: mosquitto_reason_string
    functionSourceFile: /src/mosquitto/test/mock/libcommon/strings_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: char
    signature: char *mosquitto_reason_string(int reason_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/strings_common_mock.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - cmd
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: mosquitto_string_to_command
    functionSourceFile: /src/mosquitto/test/mock/libcommon/strings_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_string_to_command(const char *str, int *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/cjson_common.cpp:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - properties
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 8
    functionName: mosquitto_properties_to_json
    functionSourceFile: /src/mosquitto/test/mock/libcommon/cjson_common.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: cJSON
    signature: cJSON *mosquitto_properties_to_json(const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/utf8_common_mock.cpp:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 8
    functionName: mosquitto_validate_utf8
    functionSourceFile: /src/mosquitto/test/mock/libcommon/utf8_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_validate_utf8(const char *str, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/topic_common_mock.cpp:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 8
    functionName: mosquitto_pub_topic_check
    functionSourceFile: /src/mosquitto/test/mock/libcommon/topic_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_pub_topic_check(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/topic_common_mock.cpp:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 15
    functionName: mosquitto_pub_topic_check2
    functionSourceFile: /src/mosquitto/test/mock/libcommon/topic_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_pub_topic_check2(const char *str, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/topic_common_mock.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: mosquitto_sub_topic_check
    functionSourceFile: /src/mosquitto/test/mock/libcommon/topic_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_sub_topic_check(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/topic_common_mock.cpp:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: mosquitto_sub_topic_check2
    functionSourceFile: /src/mosquitto/test/mock/libcommon/topic_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_sub_topic_check2(const char *str, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/topic_common_mock.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - acl
    - sub
    - result
    argTypes:
    - char*
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: mosquitto_sub_matches_acl
    functionSourceFile: /src/mosquitto/test/mock/libcommon/topic_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_sub_matches_acl(const char *acl, const char *sub, bool
      *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/topic_common_mock.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - acl
    - sub
    - clientid
    - username
    - result
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: mosquitto_sub_matches_acl_with_pattern
    functionSourceFile: /src/mosquitto/test/mock/libcommon/topic_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_sub_matches_acl_with_pattern(const char *acl, const char
      *sub, const char *clientid, const char *username, bool *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/topic_common_mock.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sub
    - topic
    - result
    argTypes:
    - char*
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: mosquitto_topic_matches_sub
    functionSourceFile: /src/mosquitto/test/mock/libcommon/topic_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_topic_matches_sub(const char *sub, const char *topic,
      bool *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/topic_common_mock.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sub
    - topic
    - clientid
    - username
    - result
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: mosquitto_topic_matches_sub_with_pattern
    functionSourceFile: /src/mosquitto/test/mock/libcommon/topic_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_topic_matches_sub_with_pattern(const char *sub, const
      char *topic, const char *clientid, const char *username, bool *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/topic_common_mock.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sub
    - sublen
    - topic
    - topiclen
    - result
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: mosquitto_topic_matches_sub2
    functionSourceFile: /src/mosquitto/test/mock/libcommon/topic_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_topic_matches_sub2(const char *sub, size_t sublen, const
      char *topic, size_t topiclen, bool *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/topic_common_mock.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - subtopic
    - topics
    - count
    argTypes:
    - char*
    - char***
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: mosquitto_sub_topic_tokenise
    functionSourceFile: /src/mosquitto/test/mock/libcommon/topic_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_sub_topic_tokenise(const char *subtopic, char ***topics,
      int *count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/topic_common_mock.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - topics
    - count
    argTypes:
    - char***
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: mosquitto_sub_topic_tokens_free
    functionSourceFile: /src/mosquitto/test/mock/libcommon/topic_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_sub_topic_tokens_free(char ***topics, int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/mqtt_common_mock.cpp:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - word
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 7
    functionName: mosquitto_varint_bytes
    functionSourceFile: /src/mosquitto/test/mock/libcommon/mqtt_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int mosquitto_varint_bytes(uint32_t word)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 5
    functionName: LibMosquittoCommonMock::LibMosquittoCommonMock
    functionSourceFile: /src/mosquitto/test/mock/libcommon/libmosquitto_common_mock.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LibMosquittoCommonMock::LibMosquittoCommonMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 8
    functionName: LibMosquittoCommonMock::~LibMosquittoCommonMock()
    functionSourceFile: /src/mosquitto/test/mock/libcommon/libmosquitto_common_mock.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LibMosquittoCommonMock::~LibMosquittoCommonMock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/memory_common_mock.cpp:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lim
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 7
    functionName: mosquitto_memory_set_limit
    functionSourceFile: /src/mosquitto/test/mock/libcommon/memory_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: void
    signature: void mosquitto_memory_set_limit(size_t lim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/memory_common_mock.cpp:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: mosquitto_memory_used
    functionSourceFile: /src/mosquitto/test/mock/libcommon/memory_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mosquitto_memory_used(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/memory_common_mock.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: mosquitto_max_memory_used
    functionSourceFile: /src/mosquitto/test/mock/libcommon/memory_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mosquitto_max_memory_used(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/memory_common_mock.cpp:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: mosquitto_malloc
    functionSourceFile: /src/mosquitto/test/mock/libcommon/memory_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: void
    signature: void *mosquitto_malloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/memory_common_mock.cpp:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: mosquitto_realloc
    functionSourceFile: /src/mosquitto/test/mock/libcommon/memory_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: void
    signature: void *mosquitto_realloc(void *ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/memory_common_mock.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: mosquitto_free
    functionSourceFile: /src/mosquitto/test/mock/libcommon/memory_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: void
    signature: void mosquitto_free(void *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/memory_common_mock.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - nmemb
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: mosquitto_calloc
    functionSourceFile: /src/mosquitto/test/mock/libcommon/memory_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: void
    signature: void *mosquitto_calloc(size_t nmemb, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/memory_common_mock.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: mosquitto_strdup
    functionSourceFile: /src/mosquitto/test/mock/libcommon/memory_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: char
    signature: char *mosquitto_strdup(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/memory_common_mock.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: mosquitto_strndup
    functionSourceFile: /src/mosquitto/test/mock/libcommon/memory_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: char
    signature: char *mosquitto_strndup(const char *s, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/random_common_mock.cpp:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bytes
    - count
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 8
    functionName: mosquitto_getrandom
    functionSourceFile: /src/mosquitto/test/mock/libcommon/random_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: int
    signature: int mosquitto_getrandom(void *bytes, int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/time_common_mock.cpp:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 7
    functionName: mosquitto_time_init
    functionSourceFile: /src/mosquitto/test/mock/libcommon/time_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: void
    signature: void mosquitto_time_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/time_common_mock.cpp:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: mosquitto_time
    functionSourceFile: /src/mosquitto/test/mock/libcommon/time_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: time_t
    signature: time_t mosquitto_time(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/time_common_mock.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - ns
    argTypes:
    - time_t*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: mosquitto_time_ns
    functionSourceFile: /src/mosquitto/test/mock/libcommon/time_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: void
    signature: void mosquitto_time_ns(time_t *s, long *ns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LibMosquittoCommonMock::get_mock
      Src: /src/mosquitto/test/mock/libcommon/time_common_mock.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - t1_s
    - t1_ns
    - t2_s
    - t2_ns
    argTypes:
    - time_t
    - long
    - time_t
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: mosquitto_time_cmp
    functionSourceFile: /src/mosquitto/test/mock/libcommon/time_common_mock.cpp
    functionUses: 0
    functionsReached:
    - LibMosquittoCommonMock::get_mock
    linkageType: ''
    returnType: long
    signature: long mosquitto_time_cmp(time_t t1_s, long t1_ns, time_t t2_s, long
      t2_ns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:36,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:37,1
    - Dst: rl_bind_key
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:37,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:37,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:38,1
    - Dst: add_history
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:38,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:38,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:39,1
    - Dst: clear_history
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:39,1
    - Dst: t::AnyNumber
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:39,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:42,1
    - Dst: ctrl_shell__output
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:42,1
    - Dst: t::StartsWith
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct mosq_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 3
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: CtrlShellHelpTest::expect_setup
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp
    functionUses: 0
    functionsReached:
    - t::AnyNumber
    - ctrl_shell__output
    - reset
    - rl_bind_key
    - t::Eq
    - clear_history
    - add_history
    - t::Return
    - t::StartsWith
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void expect_setup(struct mosq_config *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:48,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:48,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:48,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:48,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:48,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:49,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:50,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:50,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:50,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:51,1
    - Dst: mosquitto_subscribe_callback_set
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:51,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:51,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:52,1
    - Dst: mosquitto_publish_v5_callback_set
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:52,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:52,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:53,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:53,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:53,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:53,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:54,1
    - Dst: mosquitto_loop_start
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:54,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:54,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:56,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:56,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:56,1
    - Dst: t::A<LIBMOSQ_CB_connect>
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:56,1
    - Dst: t::SaveArg<1>
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:57,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:58,1
    - Dst: mosquitto_message_callback_set
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:58,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:58,1
    - Dst: t::A<LIBMOSQ_CB_message>
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:58,1
    - Dst: t::SaveArg<1>
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - mosq
    - host
    - port
    argTypes:
    - struct mosquitto*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: CtrlShellHelpTest::expect_connect
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_loop_start
    - t::A<LIBMOSQ_CB_message>
    - mosquitto_message_callback_set
    - mosquitto_int_option
    - mosquitto_subscribe_callback_set
    - t::StrEq
    - t::Eq
    - t::A<LIBMOSQ_CB_connect>
    - t::SaveArg<1>
    - t::Return
    - mosquitto_new
    - mosquitto_connect
    - EXPECT_CALL
    - mosquitto_connect_callback_set
    - mosquitto_publish_v5_callback_set
    linkageType: ''
    returnType: void
    signature: void expect_connect(struct mosquitto *mosq, const char *host, int port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:65,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:65,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:65,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:66,1
    - Dst: mosquitto_loop_stop
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:66,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:66,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:67,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:67,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: CtrlShellHelpTest::expect_disconnect
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp
    functionUses: 0
    functionsReached:
    - t::Eq
    - mosquitto_loop_stop
    - mosquitto_disconnect
    - EXPECT_CALL
    - mosquitto_destroy
    linkageType: ''
    returnType: void
    signature: void expect_disconnect(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:74,1
    - Dst: ctrl_shell__output
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:74,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:74,1
    - Dst: t::AtLeast
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - outputs
    - count
    argTypes:
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: CtrlShellHelpTest::expect_outputs
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp
    functionUses: 0
    functionsReached:
    - ctrl_shell__output
    - t::StrEq
    - t::AtLeast
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void expect_outputs(const char **outputs, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:83,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:85,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:85,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:85,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:86,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:86,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:87,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:87,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:88,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:88,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:89,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:89,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:90,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:90,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:91,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:91,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:92,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:92,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:93,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:125,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 128
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp
    functionUses: 0
    functionsReached:
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellHelpTest, PreConnectHelp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:134,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:136,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:137,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:137,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:137,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:138,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:139,1
    - Dst: ctrl_shell__output
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:139,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:139,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp
    functionUses: 0
    functionsReached:
    - ctrl_shell__output
    - expect_setup
    - ctrl_shell__main
    - strdup
    - t::StrEq
    - readline
    - t::Return
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellHelpTest, Exit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:153,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:154,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:156,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:157,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:159,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:159,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:159,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:160,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:162,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:162,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:162,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:163,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:166,1
    - Dst: pthread_cond_timedwait
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:166,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:167,1
    - Dst: on_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:168,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:172,1
    - Dst: ctrl_shell__output
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:172,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:172,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 175
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - t::Invoke
    - ctrl_shell__output
    - expect_setup
    - ctrl_shell__main
    - strdup
    - t::StrEq
    - readline
    - snprintf
    - t::Return
    - pthread_cond_timedwait
    - EXPECT_CALL
    - on_connect
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellHelpTest, Connect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:186,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:187,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:189,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:190,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:192,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:192,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:192,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:193,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:194,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:194,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:196,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:196,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:196,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:197,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:197,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:198,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:198,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:199,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:199,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:200,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:200,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:201,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:201,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:202,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:202,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:203,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:203,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:204,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:204,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:205,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:205,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:210,1
    - Dst: pthread_cond_timedwait
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:210,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:211,1
    - Dst: on_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:212,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:244,1
    - Dst: expect_disconnect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:246,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 249
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - t::Invoke
    - expect_setup
    - ctrl_shell__main
    - strdup
    - t::StrEq
    - readline
    - expect_disconnect
    - snprintf
    - t::Return
    - pthread_cond_timedwait
    - EXPECT_CALL
    - expect_outputs
    - on_connect
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellHelpTest, PostConnectHelp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:260,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:261,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:263,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:264,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:266,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:266,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:266,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:267,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:268,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:268,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:270,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:270,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:270,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:271,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:271,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:272,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:272,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:273,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:273,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:273,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:274,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:274,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:275,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:275,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:276,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:276,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:277,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:277,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:278,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:278,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:279,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:279,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:280,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:280,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:281,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:281,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:282,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:282,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:283,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:283,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:285,1
    - Dst: mosquitto_subscribe
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:285,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:285,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:286,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:291,1
    - Dst: pthread_cond_timedwait
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:291,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:292,1
    - Dst: on_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:293,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:297,1
    - Dst: on_message
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:299,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:328,1
    - Dst: expect_disconnect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:330,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 333
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - t::Invoke
    - on_message
    - expect_setup
    - ctrl_shell__main
    - strdup
    - t::StrEq
    - readline
    - expect_disconnect
    - snprintf
    - t::Return
    - pthread_cond_timedwait
    - EXPECT_CALL
    - expect_outputs
    - on_connect
    - mosquitto_subscribe
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellHelpTest, BrokerHelp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:344,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:345,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:347,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:348,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:350,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:350,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:350,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:351,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:353,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:353,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:353,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:354,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:354,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:355,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:356,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:356,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:356,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:357,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:357,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:358,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:358,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:359,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:359,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:360,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:360,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:361,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:361,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:362,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:362,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:363,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:363,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:364,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:364,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:365,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:365,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:366,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:366,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:367,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:367,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:368,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:368,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:369,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:369,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:370,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:370,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:371,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:371,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:372,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:372,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:373,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:373,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:374,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:374,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:375,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:375,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:376,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:376,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:377,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:377,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:378,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:378,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:379,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:379,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:380,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:380,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:381,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:381,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:382,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:382,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:383,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:383,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:384,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:384,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:385,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:385,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:386,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:386,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:387,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:387,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:388,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:388,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:389,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:389,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:390,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:390,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:391,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:391,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:392,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:392,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:393,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:393,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:394,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:394,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:395,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:395,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:396,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:396,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:398,1
    - Dst: mosquitto_subscribe
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:398,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:398,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:399,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:404,1
    - Dst: pthread_cond_timedwait
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:404,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:405,1
    - Dst: on_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:406,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:408,1
    - Dst: on_message
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:410,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:412,1
    - Dst: on_message
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:414,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:416,1
    - Dst: on_message
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:418,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:420,1
    - Dst: on_message
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:422,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:424,1
    - Dst: on_message
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:426,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:428,1
    - Dst: on_message
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:430,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:432,1
    - Dst: on_message
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:434,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:437,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:437,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:437,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:437,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:438,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:439,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:441,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:441,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:441,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:441,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:442,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:443,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:445,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:445,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:445,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:445,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:446,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:447,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:555,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 558
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - t::Invoke
    - on_message
    - expect_setup
    - ctrl_shell__main
    - strdup
    - t::StrEq
    - readline
    - t::Eq
    - snprintf
    - t::Return
    - mosquitto_publish
    - pthread_cond_timedwait
    - EXPECT_CALL
    - expect_outputs
    - on_connect
    - mosquitto_subscribe
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellHelpTest, DynsecHelp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:36,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:37,1
    - Dst: rl_bind_key
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:37,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:37,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:38,1
    - Dst: add_history
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:38,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:38,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:39,1
    - Dst: clear_history
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:39,1
    - Dst: t::AnyNumber
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:39,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:42,1
    - Dst: ctrl_shell__output
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:42,1
    - Dst: t::StartsWith
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct mosq_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 3
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: CtrlShellPreConnectTest::expect_setup
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp
    functionUses: 0
    functionsReached:
    - t::AnyNumber
    - ctrl_shell__output
    - reset
    - rl_bind_key
    - t::Eq
    - clear_history
    - add_history
    - t::Return
    - t::StartsWith
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void expect_setup(struct mosq_config *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:48,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:48,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:48,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:48,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:48,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:49,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:50,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:50,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:50,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:51,1
    - Dst: mosquitto_subscribe_callback_set
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:51,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:51,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:52,1
    - Dst: mosquitto_publish_v5_callback_set
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:52,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:52,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:53,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:53,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:53,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:53,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:54,1
    - Dst: mosquitto_loop_start
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:54,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:54,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:56,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:56,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:56,1
    - Dst: t::A<LIBMOSQ_CB_connect>
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:56,1
    - Dst: t::SaveArg<1>
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:57,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:58,1
    - Dst: mosquitto_message_callback_set
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:58,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:58,1
    - Dst: t::A<LIBMOSQ_CB_message>
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:58,1
    - Dst: t::SaveArg<1>
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - mosq
    - host
    - port
    argTypes:
    - struct mosquitto*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: CtrlShellPreConnectTest::expect_connect
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_loop_start
    - t::A<LIBMOSQ_CB_message>
    - mosquitto_message_callback_set
    - mosquitto_int_option
    - mosquitto_subscribe_callback_set
    - t::StrEq
    - t::Eq
    - t::A<LIBMOSQ_CB_connect>
    - t::SaveArg<1>
    - t::Return
    - mosquitto_new
    - mosquitto_connect
    - EXPECT_CALL
    - mosquitto_connect_callback_set
    - mosquitto_publish_v5_callback_set
    linkageType: ''
    returnType: void
    signature: void expect_connect(struct mosquitto *mosq, const char *host, int port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:65,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:65,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:65,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:66,1
    - Dst: mosquitto_loop_stop
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:66,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:66,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:67,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:67,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: CtrlShellPreConnectTest::expect_disconnect
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp
    functionUses: 0
    functionsReached:
    - t::Eq
    - mosquitto_loop_stop
    - mosquitto_disconnect
    - EXPECT_CALL
    - mosquitto_destroy
    linkageType: ''
    returnType: void
    signature: void expect_disconnect(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:74,1
    - Dst: ctrl_shell__output
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:74,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:74,1
    - Dst: t::AtLeast
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - outputs
    - count
    argTypes:
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: CtrlShellPreConnectTest::expect_outputs
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp
    functionUses: 0
    functionsReached:
    - ctrl_shell__output
    - t::StrEq
    - t::AtLeast
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void expect_outputs(const char **outputs, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:84,1
    - Dst: pthread_cond_timedwait
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:84,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:85,1
    - Dst: CtrlShellPreConnectTest::on_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:86,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:90,1
    - Dst: CtrlShellPreConnectTest::on_message
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 96
    functionName: CtrlShellPreConnectTest::expect_empty_connect_and_messages
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp
    functionUses: 0
    functionsReached:
    - CtrlShellPreConnectTest::on_connect
    - t::Invoke
    - CtrlShellPreConnectTest::on_message
    - pthread_cond_timedwait
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void expect_empty_connect_and_messages(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:104,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:106,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:106,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:106,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:107,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:107,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:108,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:108,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:110,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:110,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:110,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:111,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:111,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:113,1
    - Dst: ctrl_shell_fgets
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:113,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:114,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:115,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:123,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 126
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp
    functionUses: 0
    functionsReached:
    - t::Invoke
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - snprintf
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - ctrl_shell_fgets
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellPreConnectTest, AuthNoUsername)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:133,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:135,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:135,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:135,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:136,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:136,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:137,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:137,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:139,1
    - Dst: ctrl_shell_fgets
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:139,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:140,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:141,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:149,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 152
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp
    functionUses: 0
    functionsReached:
    - t::Invoke
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - snprintf
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - ctrl_shell_fgets
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellPreConnectTest, AuthWithUsername)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:159,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:161,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:161,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:161,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:162,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:162,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:163,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:163,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:165,1
    - Dst: ctrl_shell_fgets
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:165,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:166,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:173,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 176
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp
    functionUses: 0
    functionsReached:
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - ctrl_shell_fgets
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellPreConnectTest, AuthNoPassword)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:43,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:44,1
    - Dst: rl_bind_key
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:44,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:44,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:45,1
    - Dst: add_history
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:45,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:45,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:46,1
    - Dst: clear_history
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:46,1
    - Dst: t::AnyNumber
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:46,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:50,1
    - Dst: ctrl_shell__output
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:50,1
    - Dst: t::StartsWith
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct mosq_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: CtrlShellOptionsTest::expect_setup
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp
    functionUses: 0
    functionsReached:
    - t::AnyNumber
    - ctrl_shell__output
    - reset
    - rl_bind_key
    - t::Eq
    - clear_history
    - add_history
    - t::Return
    - t::StartsWith
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void expect_setup(struct mosq_config *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:56,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:56,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:56,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:56,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:56,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:57,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:58,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:58,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:58,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:59,1
    - Dst: mosquitto_subscribe_callback_set
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:59,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:59,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:60,1
    - Dst: mosquitto_publish_v5_callback_set
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:60,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:60,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:61,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:61,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:61,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:61,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:62,1
    - Dst: mosquitto_loop_start
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:62,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:62,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:64,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:64,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:64,1
    - Dst: t::A<LIBMOSQ_CB_connect>
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:64,1
    - Dst: t::SaveArg<1>
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:65,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:66,1
    - Dst: mosquitto_message_callback_set
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:66,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:66,1
    - Dst: t::A<LIBMOSQ_CB_message>
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:66,1
    - Dst: t::SaveArg<1>
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - mosq
    - host
    - port
    argTypes:
    - struct mosquitto*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 68
    functionName: CtrlShellOptionsTest::expect_connect
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_loop_start
    - t::A<LIBMOSQ_CB_message>
    - mosquitto_message_callback_set
    - mosquitto_int_option
    - mosquitto_subscribe_callback_set
    - t::StrEq
    - t::Eq
    - t::A<LIBMOSQ_CB_connect>
    - t::SaveArg<1>
    - t::Return
    - mosquitto_new
    - mosquitto_connect
    - EXPECT_CALL
    - mosquitto_connect_callback_set
    - mosquitto_publish_v5_callback_set
    linkageType: ''
    returnType: void
    signature: void expect_connect(struct mosquitto *mosq, const char *host, int port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:73,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:73,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:73,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:74,1
    - Dst: mosquitto_loop_stop
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:74,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:74,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:75,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:75,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: CtrlShellOptionsTest::expect_disconnect
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp
    functionUses: 0
    functionsReached:
    - t::Eq
    - mosquitto_loop_stop
    - mosquitto_disconnect
    - EXPECT_CALL
    - mosquitto_destroy
    linkageType: ''
    returnType: void
    signature: void expect_disconnect(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:82,1
    - Dst: ctrl_shell__output
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:82,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:82,1
    - Dst: t::AtLeast
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - outputs
    - count
    argTypes:
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: CtrlShellOptionsTest::expect_outputs
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp
    functionUses: 0
    functionsReached:
    - ctrl_shell__output
    - t::StrEq
    - t::AtLeast
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void expect_outputs(const char **outputs, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:89,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:90,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:92,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:92,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:92,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:92,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:93,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:94,1
    - Dst: DL_APPEND
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - mosq
    - request
    - respons
    argTypes:
    - struct mosquitto*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 98
    functionName: CtrlShellOptionsTest::expect_request_response
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp
    functionUses: 0
    functionsReached:
    - t::Invoke
    - DL_APPEND
    - calloc
    - t::StrEq
    - t::Eq
    - snprintf
    - mosquitto_publish
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void expect_request_response(struct mosquitto *mosq, const char *request,
      const char *respons)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:104,1
    - Dst: CtrlShellOptionsTest::expect_request_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mosq
    - request
    - command
    argTypes:
    - struct mosquitto*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: CtrlShellOptionsTest::expect_request_response_success
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp
    functionUses: 0
    functionsReached:
    - snprintf
    - CtrlShellOptionsTest::expect_request_response
    linkageType: ''
    returnType: void
    signature: void expect_request_response_success(struct mosquitto *mosq, const
      char *request, const char *command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:114,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:115,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:117,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:117,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:117,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:117,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:118,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:119,1
    - Dst: CtrlShellOptionsTest::append_empty_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - mosq
    - command
    argTypes:
    - struct mosquitto*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 123
    functionName: CtrlShellOptionsTest::expect_request_response_empty
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp
    functionUses: 0
    functionsReached:
    - t::Invoke
    - t::StrEq
    - t::Eq
    - snprintf
    - mosquitto_publish
    - EXPECT_CALL
    - CtrlShellOptionsTest::append_empty_response
    linkageType: ''
    returnType: void
    signature: void expect_request_response_empty(struct mosquitto *mosq, const char
      *command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:128,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:129,1
    - Dst: DL_APPEND
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - response
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: CtrlShellOptionsTest::append_response
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp
    functionUses: 0
    functionsReached:
    - DL_APPEND
    - calloc
    - snprintf
    linkageType: ''
    returnType: void
    signature: void append_response(const char *response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:136,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:137,1
    - Dst: DL_APPEND
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - command
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: CtrlShellOptionsTest::append_empty_response
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp
    functionUses: 1
    functionsReached:
    - DL_APPEND
    - calloc
    - snprintf
    linkageType: ''
    returnType: void
    signature: void append_empty_response(const char *command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:146,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:147,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:149,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:149,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:149,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:150,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:152,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:152,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:152,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:153,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:153,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:155,1
    - Dst: mosquitto_subscribe
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:155,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:155,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - host
    - port
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 157
    functionName: CtrlShellOptionsTest::expect_broker
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp
    functionUses: 0
    functionsReached:
    - strdup
    - t::StrEq
    - readline
    - snprintf
    - t::Return
    - EXPECT_CALL
    - mosquitto_subscribe
    linkageType: ''
    returnType: void
    signature: void expect_broker(const char *host, int port)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:165,1
    - Dst: pthread_cond_timedwait
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:165,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:166,1
    - Dst: CtrlShellOptionsTest::on_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:167,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:171,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:175,1
    - Dst: strlen
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:177,1
    - Dst: CtrlShellOptionsTest::on_message
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:178,1
    - Dst: free
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 184
    functionName: CtrlShellOptionsTest::expect_connect_and_messages
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp
    functionUses: 0
    functionsReached:
    - t::Invoke
    - CtrlShellOptionsTest::on_message
    - CtrlShellOptionsTest::on_connect
    - strlen
    - pthread_cond_timedwait
    - DL_DELETE
    - EXPECT_CALL
    - free
    linkageType: ''
    returnType: void
    signature: void expect_connect_and_messages(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:192,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:194,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:194,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:194,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:195,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:195,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:196,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:196,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:201,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 204
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp
    functionUses: 0
    functionsReached:
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellOptionsTest, Empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:211,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:214,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:215,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:217,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:217,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:217,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:218,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:219,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:219,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:225,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 228
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp
    functionUses: 0
    functionsReached:
    - expect_setup
    - ctrl_shell__main
    - strdup
    - t::StrEq
    - readline
    - snprintf
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellOptionsTest, ConnectUrlMissingHost)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:238,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:239,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:240,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:244,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:245,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:247,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:247,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:247,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:248,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:250,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:250,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:252,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:252,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:252,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:253,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:253,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:258,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 261
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - mosquitto_int_option
    - strdup
    - t::StrEq
    - readline
    - ctrl_shell__main
    - snprintf
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellOptionsTest, ConnectTLS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:271,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:272,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:273,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:277,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:278,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:280,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:280,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:280,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:281,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:283,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:283,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:285,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:285,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:285,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:286,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:286,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:291,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 294
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - mosquitto_int_option
    - strdup
    - t::StrEq
    - readline
    - ctrl_shell__main
    - snprintf
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellOptionsTest, ConnectWebsockets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:304,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:305,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:306,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:310,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:311,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:313,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:313,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:313,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:314,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:316,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:316,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:317,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:317,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:319,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:319,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:319,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:320,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:320,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:325,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 328
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - mosquitto_int_option
    - strdup
    - t::StrEq
    - readline
    - ctrl_shell__main
    - snprintf
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellOptionsTest, ConnectWebsocketsTLS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:338,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:339,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:340,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:344,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:345,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:347,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:347,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:347,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:348,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:350,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:350,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:350,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:351,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:351,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:356,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 359
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - strdup
    - t::StrEq
    - readline
    - snprintf
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellOptionsTest, ConnectImplicitHostname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:369,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:370,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:371,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:375,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:376,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:378,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:378,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:378,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:379,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:381,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:381,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:381,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:382,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:382,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:387,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 390
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - strdup
    - t::StrEq
    - readline
    - snprintf
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellOptionsTest, ConnectImplicitPort)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:400,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:401,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:402,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:404,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:405,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:406,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:407,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:410,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:411,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:413,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:413,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:413,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:414,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:416,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:416,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:416,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:417,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:417,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:419,1
    - Dst: mosquitto_tls_set
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:419,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:421,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:422,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:423,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:424,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:426,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:432,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:434,1
    - Dst: free
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:435,1
    - Dst: free
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:436,1
    - Dst: free
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:437,1
    - Dst: free
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 439
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - strdup
    - t::StrEq
    - readline
    - snprintf
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - free
    - mosquitto_tls_set
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellOptionsTest, ConnectCertNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:449,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:450,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:451,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:453,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:454,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:455,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:456,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:459,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:460,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:462,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:462,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:462,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:463,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:465,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:465,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:465,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:466,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:466,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:468,1
    - Dst: mosquitto_tls_set
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:468,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:470,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:471,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:472,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:473,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:475,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:481,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:483,1
    - Dst: free
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:484,1
    - Dst: free
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:485,1
    - Dst: free
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:486,1
    - Dst: free
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 488
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - strdup
    - t::StrEq
    - readline
    - snprintf
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - free
    - mosquitto_tls_set
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellOptionsTest, ConnectCertError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:43,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:44,1
    - Dst: rl_bind_key
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:44,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:44,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:45,1
    - Dst: add_history
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:45,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:45,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:46,1
    - Dst: clear_history
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:46,1
    - Dst: t::AnyNumber
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:46,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:49,1
    - Dst: ctrl_shell__output
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:49,1
    - Dst: t::StartsWith
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct mosq_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: CtrlShellTest::expect_setup
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp
    functionUses: 0
    functionsReached:
    - t::AnyNumber
    - ctrl_shell__output
    - reset
    - rl_bind_key
    - t::Eq
    - clear_history
    - add_history
    - t::Return
    - t::StartsWith
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void expect_setup(struct mosq_config *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:55,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:55,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:55,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:55,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:55,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:56,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:57,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:57,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:57,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:58,1
    - Dst: mosquitto_subscribe_callback_set
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:58,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:58,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:59,1
    - Dst: mosquitto_publish_v5_callback_set
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:59,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:59,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:60,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:60,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:60,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:60,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:61,1
    - Dst: mosquitto_loop_start
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:61,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:61,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:63,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:63,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:63,1
    - Dst: t::A<LIBMOSQ_CB_connect>
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:63,1
    - Dst: t::SaveArg<1>
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:64,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:65,1
    - Dst: mosquitto_message_callback_set
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:65,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:65,1
    - Dst: t::A<LIBMOSQ_CB_message>
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:65,1
    - Dst: t::SaveArg<1>
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - mosq
    - host
    - port
    argTypes:
    - struct mosquitto*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: CtrlShellTest::expect_connect
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_loop_start
    - t::A<LIBMOSQ_CB_message>
    - mosquitto_message_callback_set
    - mosquitto_int_option
    - mosquitto_subscribe_callback_set
    - t::StrEq
    - t::Eq
    - t::A<LIBMOSQ_CB_connect>
    - t::SaveArg<1>
    - t::Return
    - mosquitto_new
    - mosquitto_connect
    - EXPECT_CALL
    - mosquitto_connect_callback_set
    - mosquitto_publish_v5_callback_set
    linkageType: ''
    returnType: void
    signature: void expect_connect(struct mosquitto *mosq, const char *host, int port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:72,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:72,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:72,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:73,1
    - Dst: mosquitto_loop_stop
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:73,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:73,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:74,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:74,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: CtrlShellTest::expect_disconnect
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp
    functionUses: 0
    functionsReached:
    - t::Eq
    - mosquitto_loop_stop
    - mosquitto_disconnect
    - EXPECT_CALL
    - mosquitto_destroy
    linkageType: ''
    returnType: void
    signature: void expect_disconnect(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:81,1
    - Dst: ctrl_shell__output
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:81,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:81,1
    - Dst: t::AtLeast
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - outputs
    - count
    argTypes:
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: CtrlShellTest::expect_outputs
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp
    functionUses: 0
    functionsReached:
    - ctrl_shell__output
    - t::StrEq
    - t::AtLeast
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void expect_outputs(const char **outputs, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:88,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:89,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:91,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:91,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:91,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:91,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:92,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:93,1
    - Dst: DL_APPEND
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - mosq
    - request
    - respons
    argTypes:
    - struct mosquitto*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: CtrlShellTest::expect_request_response
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp
    functionUses: 0
    functionsReached:
    - t::Invoke
    - DL_APPEND
    - calloc
    - t::StrEq
    - t::Eq
    - snprintf
    - mosquitto_publish
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void expect_request_response(struct mosquitto *mosq, const char *request,
      const char *respons)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:103,1
    - Dst: CtrlShellTest::expect_request_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mosq
    - request
    - command
    argTypes:
    - struct mosquitto*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: CtrlShellTest::expect_request_response_success
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp
    functionUses: 0
    functionsReached:
    - snprintf
    - CtrlShellTest::expect_request_response
    linkageType: ''
    returnType: void
    signature: void expect_request_response_success(struct mosquitto *mosq, const
      char *request, const char *command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:113,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:114,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:116,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:116,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:116,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:116,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:117,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:118,1
    - Dst: CtrlShellTest::append_empty_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - mosq
    - command
    argTypes:
    - struct mosquitto*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 122
    functionName: CtrlShellTest::expect_request_response_empty
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp
    functionUses: 0
    functionsReached:
    - t::Invoke
    - t::StrEq
    - t::Eq
    - snprintf
    - mosquitto_publish
    - CtrlShellTest::append_empty_response
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void expect_request_response_empty(struct mosquitto *mosq, const char
      *command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:127,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:128,1
    - Dst: DL_APPEND
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - response
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: CtrlShellTest::append_response
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp
    functionUses: 0
    functionsReached:
    - DL_APPEND
    - calloc
    - snprintf
    linkageType: ''
    returnType: void
    signature: void append_response(const char *response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:135,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:136,1
    - Dst: DL_APPEND
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - command
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: CtrlShellTest::append_empty_response
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp
    functionUses: 1
    functionsReached:
    - DL_APPEND
    - calloc
    - snprintf
    linkageType: ''
    returnType: void
    signature: void append_empty_response(const char *command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:150,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:152,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:152,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:152,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:153,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:153,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:159,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 162
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp
    functionUses: 0
    functionsReached:
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellTest, NoConfig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:173,1
    - Dst: set_no_colour
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:175,1
    - Dst: ctrl_shell_print_label_value
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp
    functionUses: 0
    functionsReached:
    - ctrl_shell_print_label_value
    - set_no_colour
    - expect_outputs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellTest, PrintLabelValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:39,1
    - Dst: pthread_cond_timedwait
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:39,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:40,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:45,1
    - Dst: mosquitto_subscribe
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:45,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:46,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:48,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:48,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:49,1
    - Dst: ctrl_shell__load_module
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 56
    functionName: CtrlShellCompletionTest::expect_setup
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp
    functionUses: 0
    functionsReached:
    - t::Invoke
    - ctrl_shell__load_module
    - t::Return
    - mosquitto_publish
    - pthread_cond_timedwait
    - EXPECT_CALL
    - mosquitto_subscribe
    linkageType: ''
    returnType: void
    signature: void expect_setup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:62,1
    - Dst: ctrl_shell__output
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:62,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:62,1
    - Dst: t::AtLeast
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - outputs
    - count
    argTypes:
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: CtrlShellCompletionTest::expect_outputs
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp
    functionUses: 0
    functionsReached:
    - ctrl_shell__output
    - t::StrEq
    - t::AtLeast
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void expect_outputs(const char **outputs, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:69,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:71,1
    - Dst: completion_matcher
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:72,1
    - Dst: free
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:73,1
    - Dst: ASSERT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp
    functionUses: 0
    functionsReached:
    - expect_setup
    - strdup
    - ASSERT_EQ
    - completion_matcher
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellCompletionTest, NoMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:81,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:83,1
    - Dst: completion_matcher
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:84,1
    - Dst: free
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:85,1
    - Dst: ASSERT_NE
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:86,1
    - Dst: EXPECT_STREQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:88,1
    - Dst: ASSERT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:92,1
    - Dst: EXPECT_THAT
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:96,1
    - Dst: t::UnorderedElementsAreArray
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:96,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:97,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:98,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:99,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:100,1
    - Dst: free
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:103,1
    - Dst: free
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:105,1
    - Dst: ctrl_shell__cleanup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 107
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp
    functionUses: 0
    functionsReached:
    - expect_setup
    - strdup
    - t::StrEq
    - EXPECT_STREQ
    - ASSERT_NE
    - ASSERT_EQ
    - t::UnorderedElementsAreArray
    - completion_matcher
    - ctrl_shell__cleanup
    - EXPECT_THAT
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellCompletionTest, MatchArg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:45,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:46,1
    - Dst: rl_bind_key
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:46,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:46,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:47,1
    - Dst: add_history
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:47,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:47,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:48,1
    - Dst: clear_history
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:48,1
    - Dst: t::AnyNumber
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:48,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:51,1
    - Dst: ctrl_shell__output
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:51,1
    - Dst: t::StartsWith
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct mosq_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: CtrlShellBrokerTest::expect_setup
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp
    functionUses: 0
    functionsReached:
    - t::AnyNumber
    - ctrl_shell__output
    - reset
    - rl_bind_key
    - t::Eq
    - clear_history
    - add_history
    - t::Return
    - t::StartsWith
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void expect_setup(struct mosq_config *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:57,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:57,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:57,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:57,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:57,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:58,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:59,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:59,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:59,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:60,1
    - Dst: mosquitto_subscribe_callback_set
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:60,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:60,1
    - Dst: t::A<LIBMOSQ_CB_subscribe>
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:60,1
    - Dst: t::SaveArg<1>
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:61,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:62,1
    - Dst: mosquitto_publish_v5_callback_set
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:62,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:62,1
    - Dst: t::A<LIBMOSQ_CB_publish_v5>
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:62,1
    - Dst: t::SaveArg<1>
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:63,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:64,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:64,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:64,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:64,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:65,1
    - Dst: mosquitto_loop_start
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:65,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:65,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:67,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:67,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:67,1
    - Dst: t::A<LIBMOSQ_CB_connect>
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:67,1
    - Dst: t::SaveArg<1>
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:68,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:69,1
    - Dst: mosquitto_message_callback_set
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:69,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:69,1
    - Dst: t::A<LIBMOSQ_CB_message>
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:69,1
    - Dst: t::SaveArg<1>
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - mosq
    - host
    - port
    argTypes:
    - struct mosquitto*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 71
    functionName: CtrlShellBrokerTest::expect_connect
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_loop_start
    - t::A<LIBMOSQ_CB_subscribe>
    - t::A<LIBMOSQ_CB_message>
    - mosquitto_message_callback_set
    - mosquitto_int_option
    - mosquitto_subscribe_callback_set
    - t::StrEq
    - t::Eq
    - t::A<LIBMOSQ_CB_connect>
    - t::Return
    - mosquitto_new
    - mosquitto_connect
    - EXPECT_CALL
    - mosquitto_publish_v5_callback_set
    - t::A<LIBMOSQ_CB_publish_v5>
    - mosquitto_connect_callback_set
    - t::SaveArg<1>
    linkageType: ''
    returnType: void
    signature: void expect_connect(struct mosquitto *mosq, const char *host, int port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:76,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:76,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:76,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:77,1
    - Dst: mosquitto_loop_stop
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:77,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:77,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:78,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:78,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: CtrlShellBrokerTest::expect_disconnect
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp
    functionUses: 0
    functionsReached:
    - t::Eq
    - mosquitto_loop_stop
    - mosquitto_disconnect
    - EXPECT_CALL
    - mosquitto_destroy
    linkageType: ''
    returnType: void
    signature: void expect_disconnect(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:85,1
    - Dst: ctrl_shell__output
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:85,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:85,1
    - Dst: t::AtLeast
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - outputs
    - count
    argTypes:
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: CtrlShellBrokerTest::expect_outputs
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp
    functionUses: 0
    functionsReached:
    - ctrl_shell__output
    - t::StrEq
    - t::AtLeast
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void expect_outputs(const char **outputs, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:92,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:93,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:95,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:95,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:95,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:95,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:96,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:97,1
    - Dst: DL_APPEND
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - mosq
    - request
    - respons
    argTypes:
    - struct mosquitto*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: CtrlShellBrokerTest::expect_request_response
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp
    functionUses: 0
    functionsReached:
    - t::Invoke
    - DL_APPEND
    - calloc
    - t::StrEq
    - t::Eq
    - snprintf
    - mosquitto_publish
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void expect_request_response(struct mosquitto *mosq, const char *request,
      const char *respons)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:107,1
    - Dst: CtrlShellBrokerTest::expect_request_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mosq
    - request
    - command
    argTypes:
    - struct mosquitto*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: CtrlShellBrokerTest::expect_request_response_success
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp
    functionUses: 0
    functionsReached:
    - snprintf
    - CtrlShellBrokerTest::expect_request_response
    linkageType: ''
    returnType: void
    signature: void expect_request_response_success(struct mosquitto *mosq, const
      char *request, const char *command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:117,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:118,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:120,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:120,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:120,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:120,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:121,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:122,1
    - Dst: CtrlShellBrokerTest::append_empty_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - mosq
    - command
    argTypes:
    - struct mosquitto*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 126
    functionName: CtrlShellBrokerTest::expect_request_response_empty
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp
    functionUses: 0
    functionsReached:
    - t::Invoke
    - t::StrEq
    - t::Eq
    - snprintf
    - mosquitto_publish
    - EXPECT_CALL
    - CtrlShellBrokerTest::append_empty_response
    linkageType: ''
    returnType: void
    signature: void expect_request_response_empty(struct mosquitto *mosq, const char
      *command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:131,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:132,1
    - Dst: DL_APPEND
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - response
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: CtrlShellBrokerTest::append_response
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp
    functionUses: 0
    functionsReached:
    - DL_APPEND
    - calloc
    - snprintf
    linkageType: ''
    returnType: void
    signature: void append_response(const char *response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:139,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:140,1
    - Dst: DL_APPEND
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - command
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: CtrlShellBrokerTest::append_empty_response
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp
    functionUses: 1
    functionsReached:
    - DL_APPEND
    - calloc
    - snprintf
    linkageType: ''
    returnType: void
    signature: void append_empty_response(const char *command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:149,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:150,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:152,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:152,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:152,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:153,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:155,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:155,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:155,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:156,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:156,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:158,1
    - Dst: mosquitto_subscribe
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:158,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:158,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - host
    - port
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 160
    functionName: CtrlShellBrokerTest::expect_broker
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp
    functionUses: 0
    functionsReached:
    - strdup
    - t::StrEq
    - readline
    - snprintf
    - t::Return
    - EXPECT_CALL
    - mosquitto_subscribe
    linkageType: ''
    returnType: void
    signature: void expect_broker(const char *host, int port)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:168,1
    - Dst: pthread_cond_timedwait
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:168,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:169,1
    - Dst: CtrlShellBrokerTest::on_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:170,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:174,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:178,1
    - Dst: strlen
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:180,1
    - Dst: CtrlShellBrokerTest::on_message
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:181,1
    - Dst: free
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 187
    functionName: CtrlShellBrokerTest::expect_connect_and_messages
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp
    functionUses: 0
    functionsReached:
    - t::Invoke
    - strlen
    - pthread_cond_timedwait
    - DL_DELETE
    - EXPECT_CALL
    - CtrlShellBrokerTest::on_connect
    - free
    - CtrlShellBrokerTest::on_message
    linkageType: ''
    returnType: void
    signature: void expect_connect_and_messages(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:198,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:199,1
    - Dst: expect_broker
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:200,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:201,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:203,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:203,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:203,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:204,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:204,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:205,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:205,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:210,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 213
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - expect_broker
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellBrokerTest, LineEmpty)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:223,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:224,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:227,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:228,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:230,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:230,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:230,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:231,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:233,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:233,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:233,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:234,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:234,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:236,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:236,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:236,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:237,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:237,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:239,1
    - Dst: mosquitto_subscribe
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:239,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:239,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:241,1
    - Dst: pthread_cond_timedwait
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:241,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:242,1
    - Dst: on_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:243,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:247,1
    - Dst: on_subscribe
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:249,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:253,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:257,1
    - Dst: strlen
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:259,1
    - Dst: on_message
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:260,1
    - Dst: free
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:261,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:271,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 274
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp
    functionUses: 0
    functionsReached:
    - expect_setup
    - t::Invoke
    - on_subscribe
    - DL_DELETE
    - EXPECT_CALL
    - expect_outputs
    - on_connect
    - free
    - expect_connect
    - on_message
    - strlen
    - mosquitto_subscribe
    - ctrl_shell__main
    - strdup
    - t::StrEq
    - readline
    - snprintf
    - t::Return
    - pthread_cond_timedwait
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellBrokerTest, SubscribeDenied)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:284,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:285,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:288,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:289,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:291,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:291,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:291,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:292,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:294,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:294,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:294,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:295,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:295,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:297,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:297,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:297,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:298,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:298,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:299,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:299,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:301,1
    - Dst: mosquitto_subscribe
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:301,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:301,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:303,1
    - Dst: pthread_cond_timedwait
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:303,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:304,1
    - Dst: on_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:305,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:309,1
    - Dst: on_subscribe
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:311,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:315,1
    - Dst: on_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:316,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:321,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:321,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:321,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:321,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:322,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:328,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 331
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - t::Invoke
    - expect_setup
    - ctrl_shell__main
    - strdup
    - t::StrEq
    - readline
    - t::Eq
    - snprintf
    - on_subscribe
    - t::Return
    - mosquitto_publish
    - pthread_cond_timedwait
    - on_publish
    - EXPECT_CALL
    - expect_outputs
    - on_connect
    - mosquitto_subscribe
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellBrokerTest, PublishDenied)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:341,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:342,1
    - Dst: expect_broker
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:343,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:345,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:345,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:345,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:346,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:346,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:347,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:347,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:349,1
    - Dst: expect_request_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:356,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:368,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 371
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - expect_request_response
    - t::StrEq
    - strdup
    - readline
    - ctrl_shell__main
    - expect_broker
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellBrokerTest, ListListeners)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:381,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:382,1
    - Dst: expect_broker
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:383,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:385,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:385,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:385,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:386,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:386,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:387,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:387,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:389,1
    - Dst: expect_request_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:396,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:402,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 405
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - expect_request_response
    - t::StrEq
    - strdup
    - readline
    - ctrl_shell__main
    - expect_broker
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellBrokerTest, ListListenersInvalidResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:415,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:416,1
    - Dst: expect_broker
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:417,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:419,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:419,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:419,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:420,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:420,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:421,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:421,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:423,1
    - Dst: expect_request_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:430,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:439,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 442
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - expect_request_response
    - t::StrEq
    - strdup
    - readline
    - ctrl_shell__main
    - expect_broker
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellBrokerTest, ListPlugins)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:452,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:453,1
    - Dst: expect_broker
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:454,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:456,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:456,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:456,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:457,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:457,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:458,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:458,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:460,1
    - Dst: expect_request_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:467,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:473,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 476
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - expect_request_response
    - t::StrEq
    - strdup
    - readline
    - ctrl_shell__main
    - expect_broker
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellBrokerTest, ListPluginsInvalidResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:43,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:44,1
    - Dst: rl_bind_key
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:44,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:44,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:45,1
    - Dst: add_history
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:45,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:45,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:46,1
    - Dst: clear_history
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:46,1
    - Dst: t::AnyNumber
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:46,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:49,1
    - Dst: ctrl_shell__output
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:49,1
    - Dst: t::StartsWith
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct mosq_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: CtrlShellDynsecTest::expect_setup
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - t::AnyNumber
    - ctrl_shell__output
    - reset
    - rl_bind_key
    - t::Eq
    - clear_history
    - add_history
    - t::Return
    - t::StartsWith
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void expect_setup(struct mosq_config *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:55,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:55,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:55,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:55,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:55,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:56,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:57,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:57,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:57,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:58,1
    - Dst: mosquitto_subscribe_callback_set
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:58,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:58,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:59,1
    - Dst: mosquitto_publish_v5_callback_set
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:59,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:59,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:60,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:60,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:60,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:60,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:61,1
    - Dst: mosquitto_loop_start
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:61,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:61,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:63,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:63,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:63,1
    - Dst: t::A<LIBMOSQ_CB_connect>
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:63,1
    - Dst: t::SaveArg<1>
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:64,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:65,1
    - Dst: mosquitto_message_callback_set
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:65,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:65,1
    - Dst: t::A<LIBMOSQ_CB_message>
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:65,1
    - Dst: t::SaveArg<1>
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - mosq
    - host
    - port
    argTypes:
    - struct mosquitto*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: CtrlShellDynsecTest::expect_connect
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_loop_start
    - t::A<LIBMOSQ_CB_message>
    - mosquitto_message_callback_set
    - mosquitto_int_option
    - mosquitto_subscribe_callback_set
    - t::StrEq
    - t::Eq
    - t::A<LIBMOSQ_CB_connect>
    - t::SaveArg<1>
    - t::Return
    - mosquitto_new
    - mosquitto_connect
    - EXPECT_CALL
    - mosquitto_connect_callback_set
    - mosquitto_publish_v5_callback_set
    linkageType: ''
    returnType: void
    signature: void expect_connect(struct mosquitto *mosq, const char *host, int port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:72,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:72,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:72,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:73,1
    - Dst: mosquitto_loop_stop
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:73,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:73,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:74,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:74,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: CtrlShellDynsecTest::expect_disconnect
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - t::Eq
    - mosquitto_loop_stop
    - mosquitto_disconnect
    - EXPECT_CALL
    - mosquitto_destroy
    linkageType: ''
    returnType: void
    signature: void expect_disconnect(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:81,1
    - Dst: ctrl_shell__output
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:81,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:81,1
    - Dst: t::AtLeast
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - outputs
    - count
    argTypes:
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: CtrlShellDynsecTest::expect_outputs
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - ctrl_shell__output
    - t::StrEq
    - t::AtLeast
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void expect_outputs(const char **outputs, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:88,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:89,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:91,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:91,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:91,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:91,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:92,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:93,1
    - Dst: DL_APPEND
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - mosq
    - request
    - respons
    argTypes:
    - struct mosquitto*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: CtrlShellDynsecTest::expect_request_response
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - t::Invoke
    - DL_APPEND
    - calloc
    - t::StrEq
    - t::Eq
    - snprintf
    - mosquitto_publish
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void expect_request_response(struct mosquitto *mosq, const char *request,
      const char *respons)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:103,1
    - Dst: CtrlShellDynsecTest::expect_request_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mosq
    - request
    - command
    argTypes:
    - struct mosquitto*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: CtrlShellDynsecTest::expect_request_response_success
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - CtrlShellDynsecTest::expect_request_response
    - snprintf
    linkageType: ''
    returnType: void
    signature: void expect_request_response_success(struct mosquitto *mosq, const
      char *request, const char *command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:113,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:114,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:116,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:116,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:116,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:116,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:117,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:118,1
    - Dst: CtrlShellDynsecTest::append_empty_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - mosq
    - command
    argTypes:
    - struct mosquitto*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 122
    functionName: CtrlShellDynsecTest::expect_request_response_empty
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - t::Invoke
    - CtrlShellDynsecTest::append_empty_response
    - t::StrEq
    - t::Eq
    - snprintf
    - mosquitto_publish
    - EXPECT_CALL
    linkageType: ''
    returnType: void
    signature: void expect_request_response_empty(struct mosquitto *mosq, const char
      *command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:127,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:128,1
    - Dst: DL_APPEND
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - response
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: CtrlShellDynsecTest::append_response
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - DL_APPEND
    - calloc
    - snprintf
    linkageType: ''
    returnType: void
    signature: void append_response(const char *response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:135,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:136,1
    - Dst: DL_APPEND
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - command
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: CtrlShellDynsecTest::append_empty_response
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 1
    functionsReached:
    - DL_APPEND
    - calloc
    - snprintf
    linkageType: ''
    returnType: void
    signature: void append_empty_response(const char *command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlShellDynsecTest::expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:144,1
    - Dst: CtrlShellDynsecTest::expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:145,1
    - Dst: CtrlShellDynsecTest::expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: CtrlShellDynsecTest::expect_single_lists
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - CtrlShellDynsecTest::expect_request_response_empty
    linkageType: ''
    returnType: void
    signature: void expect_single_lists(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:153,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:154,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:156,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:156,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:156,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:157,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:159,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:159,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:159,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:160,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:160,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:162,1
    - Dst: mosquitto_subscribe
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:162,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:162,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - host
    - port
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: CtrlShellDynsecTest::expect_dynsec
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - strdup
    - t::StrEq
    - readline
    - snprintf
    - t::Return
    - EXPECT_CALL
    - mosquitto_subscribe
    linkageType: ''
    returnType: void
    signature: void expect_dynsec(const char *host, int port)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:172,1
    - Dst: pthread_cond_timedwait
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:172,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:173,1
    - Dst: CtrlShellDynsecTest::on_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:174,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:178,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:182,1
    - Dst: strlen
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:184,1
    - Dst: CtrlShellDynsecTest::on_message
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:185,1
    - Dst: free
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 191
    functionName: CtrlShellDynsecTest::expect_connect_and_messages
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - t::Invoke
    - CtrlShellDynsecTest::on_message
    - CtrlShellDynsecTest::on_connect
    - strlen
    - pthread_cond_timedwait
    - DL_DELETE
    - EXPECT_CALL
    - free
    linkageType: ''
    returnType: void
    signature: void expect_connect_and_messages(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlShellDynsecTest::expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:203,1
    - Dst: CtrlShellDynsecTest::expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:204,1
    - Dst: CtrlShellDynsecTest::expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:205,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:207,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:208,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:208,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:208,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:209,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:209,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:210,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:210,1
    - Dst: CtrlShellDynsecTest::expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:212,1
    - Dst: CtrlShellDynsecTest::expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:213,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:215,1
    - Dst: CtrlShellDynsecTest::expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:218,1
    - Dst: CtrlShellDynsecTest::expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:224,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - command
    - itemlabel
    - itemvalue
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 194
    functionDepth: 4
    functionLinenumber: 194
    functionLinenumberEnd: 227
    functionName: CtrlShellDynsecTest::expect_generic_arg1
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - CtrlShellDynsecTest::expect_single_lists
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - CtrlShellDynsecTest::expect_setup
    - CtrlShellDynsecTest::expect_connect
    - snprintf
    - CtrlShellDynsecTest::expect_request_response_success
    - t::Return
    - CtrlShellDynsecTest::expect_outputs
    - CtrlShellDynsecTest::expect_dynsec
    - EXPECT_CALL
    - CtrlShellDynsecTest::expect_connect_and_messages
    linkageType: ''
    returnType: void
    signature: void expect_generic_arg1(const char *command, const char *itemlabel,
      const char *itemvalue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlShellDynsecTest::expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:239,1
    - Dst: CtrlShellDynsecTest::expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:240,1
    - Dst: CtrlShellDynsecTest::expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:241,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:243,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:244,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:244,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:244,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:245,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:245,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:246,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:246,1
    - Dst: CtrlShellDynsecTest::expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:248,1
    - Dst: CtrlShellDynsecTest::expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:249,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:251,1
    - Dst: CtrlShellDynsecTest::expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:254,1
    - Dst: CtrlShellDynsecTest::expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:256,1
    - Dst: CtrlShellDynsecTest::expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:262,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - command
    - itemlabel
    - itemvalue
    - listcmd
    argTypes:
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 230
    functionDepth: 4
    functionLinenumber: 230
    functionLinenumberEnd: 265
    functionName: CtrlShellDynsecTest::expect_generic_arg1_with_list_update
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - CtrlShellDynsecTest::expect_single_lists
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - CtrlShellDynsecTest::expect_setup
    - CtrlShellDynsecTest::expect_connect
    - snprintf
    - CtrlShellDynsecTest::expect_request_response_success
    - t::Return
    - CtrlShellDynsecTest::expect_outputs
    - CtrlShellDynsecTest::expect_dynsec
    - EXPECT_CALL
    - CtrlShellDynsecTest::expect_connect_and_messages
    - CtrlShellDynsecTest::expect_request_response_empty
    linkageType: ''
    returnType: void
    signature: void expect_generic_arg1_with_list_update(const char *command, const
      char *itemlabel, const char *itemvalue, const char *listcmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlShellDynsecTest::expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:277,1
    - Dst: CtrlShellDynsecTest::expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:278,1
    - Dst: CtrlShellDynsecTest::expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:279,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:281,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:282,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:282,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:282,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:283,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:283,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:284,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:284,1
    - Dst: CtrlShellDynsecTest::expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:286,1
    - Dst: CtrlShellDynsecTest::expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:287,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:289,1
    - Dst: CtrlShellDynsecTest::expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:294,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - command
    - itemlabel
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 268
    functionDepth: 4
    functionLinenumber: 268
    functionLinenumberEnd: 297
    functionName: CtrlShellDynsecTest::expect_generic_arg1_with_error
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - CtrlShellDynsecTest::expect_single_lists
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - CtrlShellDynsecTest::expect_setup
    - CtrlShellDynsecTest::expect_connect
    - snprintf
    - CtrlShellDynsecTest::expect_outputs
    - t::Return
    - CtrlShellDynsecTest::expect_dynsec
    - EXPECT_CALL
    - CtrlShellDynsecTest::expect_connect_and_messages
    linkageType: ''
    returnType: void
    signature: void expect_generic_arg1_with_error(const char *command, const char
      *itemlabel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlShellDynsecTest::expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:309,1
    - Dst: CtrlShellDynsecTest::expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:310,1
    - Dst: CtrlShellDynsecTest::expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:311,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:313,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:314,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:314,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:314,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:315,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:315,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:316,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:316,1
    - Dst: CtrlShellDynsecTest::expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:318,1
    - Dst: CtrlShellDynsecTest::expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:319,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:321,1
    - Dst: CtrlShellDynsecTest::expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:327,1
    - Dst: CtrlShellDynsecTest::expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:333,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - command
    - itemlabel1
    - itemvalue1
    - itemlabel2
    - itemvalue2
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 300
    functionDepth: 4
    functionLinenumber: 300
    functionLinenumberEnd: 336
    functionName: CtrlShellDynsecTest::expect_generic_arg2
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - CtrlShellDynsecTest::expect_single_lists
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - CtrlShellDynsecTest::expect_setup
    - CtrlShellDynsecTest::expect_connect
    - snprintf
    - CtrlShellDynsecTest::expect_request_response_success
    - t::Return
    - CtrlShellDynsecTest::expect_outputs
    - CtrlShellDynsecTest::expect_dynsec
    - EXPECT_CALL
    - CtrlShellDynsecTest::expect_connect_and_messages
    linkageType: ''
    returnType: void
    signature: void expect_generic_arg2(const char *command, const char *itemlabel1,
      const char *itemvalue1, const char *itemlabel2, const char *itemvalue2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CtrlShellDynsecTest::expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:347,1
    - Dst: CtrlShellDynsecTest::expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:348,1
    - Dst: CtrlShellDynsecTest::expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:349,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:351,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:352,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:352,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:352,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:353,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:353,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:354,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:354,1
    - Dst: CtrlShellDynsecTest::expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:356,1
    - Dst: CtrlShellDynsecTest::expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:357,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:359,1
    - Dst: CtrlShellDynsecTest::expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:366,1
    - Dst: CtrlShellDynsecTest::expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:372,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - acltype
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 339
    functionDepth: 4
    functionLinenumber: 339
    functionLinenumberEnd: 375
    functionName: CtrlShellDynsecTest::expect_send_set_acl_default_access
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - CtrlShellDynsecTest::expect_single_lists
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - CtrlShellDynsecTest::expect_setup
    - CtrlShellDynsecTest::expect_connect
    - snprintf
    - CtrlShellDynsecTest::expect_request_response_success
    - t::Return
    - CtrlShellDynsecTest::expect_outputs
    - CtrlShellDynsecTest::expect_dynsec
    - EXPECT_CALL
    - CtrlShellDynsecTest::expect_connect_and_messages
    linkageType: ''
    returnType: void
    signature: void expect_send_set_acl_default_access(const char *acltype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:386,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:387,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:388,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:390,1
    - Dst: pthread_cond_timedwait
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:390,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:391,1
    - Dst: on_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:392,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:396,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:401,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:403,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:403,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:403,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:403,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:404,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:405,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:407,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:407,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:407,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:408,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:415,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 418
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - t::Invoke
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - t::Eq
    - readline
    - t::Return
    - mosquitto_publish
    - pthread_cond_timedwait
    - EXPECT_CALL
    - expect_outputs
    - on_connect
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, NoDynsec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:428,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:429,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:430,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:432,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:432,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:432,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:433,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:433,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:434,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:434,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:436,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:437,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:444,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 447
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, CreateClient)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:457,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:458,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:459,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:461,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:461,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:461,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:462,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:462,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:463,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:463,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:465,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:467,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:467,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:467,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:467,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:468,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:469,1
    - Dst: append_empty_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:470,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:473,1
    - Dst: append_empty_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:474,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:477,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:478,1
    - Dst: expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:480,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:488,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 491
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - t::Invoke
    - expect_connect_and_messages
    - expect_setup
    - append_empty_response
    - t::StrEq
    - strdup
    - readline
    - t::Eq
    - expect_request_response_empty
    - expect_request_response_success
    - ctrl_shell__main
    - t::Return
    - mosquitto_publish
    - EXPECT_CALL
    - expect_outputs
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, CreateClientWithPassword)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:501,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:502,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:503,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:505,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:505,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:505,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:506,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:506,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:507,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:507,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:509,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:511,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:511,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:511,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:511,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:512,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:513,1
    - Dst: append_empty_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:514,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:517,1
    - Dst: append_empty_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:518,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:521,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:522,1
    - Dst: expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:524,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:532,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 535
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - t::Invoke
    - expect_connect_and_messages
    - expect_setup
    - append_empty_response
    - t::StrEq
    - strdup
    - readline
    - t::Eq
    - expect_request_response_empty
    - expect_request_response_success
    - ctrl_shell__main
    - t::Return
    - mosquitto_publish
    - EXPECT_CALL
    - expect_outputs
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, CreateClientWithPasswordAndClientid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:545,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:546,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:547,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:549,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:549,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:549,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:550,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:550,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:551,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:551,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:553,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:555,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:555,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:555,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:555,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:556,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:557,1
    - Dst: append_empty_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:558,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:561,1
    - Dst: append_empty_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:562,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:565,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:566,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:568,1
    - Dst: ctrl_shell_fgets
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:568,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:569,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:570,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:573,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:574,1
    - Dst: expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:578,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:587,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 590
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_setup
    - mosquitto_publish
    - t::Invoke
    - expect_connect_and_messages
    - expect_request_response_success
    - expect_request_response_empty
    - EXPECT_CALL
    - expect_outputs
    - expect_connect
    - t::Eq
    - expect_dynsec
    - append_empty_response
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - snprintf
    - t::Return
    - ctrl_shell_fgets
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, CreateClientPasswordCliMatching)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:600,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:601,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:602,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:604,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:604,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:604,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:605,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:605,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:606,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:606,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:608,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:609,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:611,1
    - Dst: ctrl_shell_fgets
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:611,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:612,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:613,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:616,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:617,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:626,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 629
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - t::Invoke
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell_fgets
    - t::StrEq
    - strdup
    - readline
    - ctrl_shell__main
    - snprintf
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, CreateClientPasswordCliNotMatching)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:639,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:640,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:641,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:643,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:643,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:643,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:644,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:644,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:645,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:645,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:647,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:648,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:650,1
    - Dst: ctrl_shell_fgets
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:650,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:651,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:652,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:655,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:662,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 665
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - t::Invoke
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell_fgets
    - t::StrEq
    - strdup
    - readline
    - ctrl_shell__main
    - snprintf
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, CreateClientPasswordCliOneOnly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_generic_arg1
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 671
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_generic_arg1
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, EnableClient)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_generic_arg1_with_error
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 676
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_generic_arg1_with_error
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, EnableClientMissing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_generic_arg1
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 683
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_generic_arg1
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, DisableClient)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_generic_arg1_with_error
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 688
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_generic_arg1_with_error
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, DisableClientMissing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_generic_arg1
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 693
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_generic_arg1
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, SetAnonGroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_generic_arg1_with_error
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 698
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_generic_arg1_with_error
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, SetAnonGroupMissing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_generic_arg2
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 704
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_generic_arg2
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, AddClientRole)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_generic_arg2
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 710
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_generic_arg2
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, AddGroupClient)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_generic_arg2
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 716
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_generic_arg2
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, AddGroupRole)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_generic_arg2
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 722
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_generic_arg2
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, RemoveClientRole)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_generic_arg2
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 728
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_generic_arg2
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, RemoveGroupClient)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_generic_arg2
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 734
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_generic_arg2
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, RemoveGroupRole)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_generic_arg2
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 740
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_generic_arg2
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, SetClientId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_send_set_acl_default_access
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 745
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_send_set_acl_default_access
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, SetDefaultACLAccessPublishClientReceive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_send_set_acl_default_access
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 751
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_send_set_acl_default_access
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, SetDefaultACLAccessPublishClientSend)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_send_set_acl_default_access
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 757
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_send_set_acl_default_access
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, SetDefaultACLAccessSubscribe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_send_set_acl_default_access
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 763
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_send_set_acl_default_access
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, SetDefaultACLAccessUnsubscribe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:773,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:774,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:775,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:777,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:777,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:777,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:778,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:778,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:779,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:779,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:781,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:782,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:788,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 791
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, SetDefaultACLAccessBadType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:801,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:802,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:803,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:805,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:805,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:805,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:806,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:806,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:807,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:807,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:809,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:810,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:816,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 819
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, SetDefaultACLAccessBadAllow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:829,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:830,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:831,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:833,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:833,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:833,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:834,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:834,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:835,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:835,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:837,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:838,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:844,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 847
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, SetDefaultACLAccessNoAllow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:856,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:857,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:858,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:860,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:860,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:860,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:861,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:861,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:862,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:862,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:864,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:865,1
    - Dst: expect_request_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:877,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:886,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 889
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - expect_request_response
    - t::StrEq
    - strdup
    - readline
    - ctrl_shell__main
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, GetDefaultACLAccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:899,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:900,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:901,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:903,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:903,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:903,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:904,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:904,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:905,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:905,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:907,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:908,1
    - Dst: expect_request_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:915,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:921,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 924
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - expect_request_response
    - t::StrEq
    - strdup
    - readline
    - ctrl_shell__main
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, GetAnonymousGroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:934,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:935,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:936,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:938,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:938,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:938,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:939,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:939,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:940,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:940,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:942,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:943,1
    - Dst: expect_request_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:960,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:983,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 986
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - expect_request_response
    - t::StrEq
    - strdup
    - readline
    - ctrl_shell__main
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, GetClient)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:996,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:997,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:998,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1000,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1000,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1000,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1001,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1001,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1002,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1002,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1004,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1005,1
    - Dst: expect_request_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1020,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1038,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 989
    functionDepth: 1
    functionLinenumber: 989
    functionLinenumberEnd: 1041
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - expect_request_response
    - t::StrEq
    - strdup
    - readline
    - ctrl_shell__main
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, GetGroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1051,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1052,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1053,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1055,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1055,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1055,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1056,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1056,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1057,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1057,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1059,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1060,1
    - Dst: expect_request_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1073,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1088,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1090,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1044
    functionDepth: 1
    functionLinenumber: 1044
    functionLinenumberEnd: 1092
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - expect_request_response
    - t::StrEq
    - strdup
    - readline
    - ctrl_shell__main
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, GetRole)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1102,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1103,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1104,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1106,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1106,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1106,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1107,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1107,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1108,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1108,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1110,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1111,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1113,1
    - Dst: ctrl_shell_fgets
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1113,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1114,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1115,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1118,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1119,1
    - Dst: expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1123,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1132,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1134,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1095
    functionDepth: 1
    functionLinenumber: 1095
    functionLinenumberEnd: 1136
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - t::Invoke
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell_fgets
    - t::StrEq
    - strdup
    - readline
    - expect_request_response_success
    - ctrl_shell__main
    - snprintf
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, SetClientPasswordCliMatching)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1146,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1147,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1148,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1150,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1150,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1150,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1151,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1151,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1152,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1152,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1154,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1155,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1157,1
    - Dst: ctrl_shell_fgets
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1157,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1158,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1159,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1162,1
    - Dst: snprintf
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1163,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1172,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1174,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1139
    functionDepth: 1
    functionLinenumber: 1139
    functionLinenumberEnd: 1176
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - t::Invoke
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell_fgets
    - t::StrEq
    - strdup
    - readline
    - ctrl_shell__main
    - EXPECT_EQ
    - snprintf
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, SetClientPasswordCliNotMatching)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1185,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1186,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1187,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1189,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1189,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1189,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1190,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1190,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1191,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1191,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1193,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1194,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1196,1
    - Dst: ctrl_shell_fgets
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1196,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1197,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1206,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1208,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1178
    functionDepth: 1
    functionLinenumber: 1178
    functionLinenumberEnd: 1210
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - t::Invoke
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell_fgets
    - t::StrEq
    - strdup
    - readline
    - ctrl_shell__main
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, SetClientPasswordCliNoPassword)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1219,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1220,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1221,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1223,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1223,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1223,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1224,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1224,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1225,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1225,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1227,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1228,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1234,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1236,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1212
    functionDepth: 1
    functionLinenumber: 1212
    functionLinenumberEnd: 1238
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, SetClientPasswordCliNoUsername)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1248,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1249,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1250,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1252,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1252,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1252,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1253,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1253,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1254,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1254,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1256,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1257,1
    - Dst: expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1267,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1273,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1275,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1241
    functionDepth: 1
    functionLinenumber: 1241
    functionLinenumberEnd: 1277
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - expect_request_response_success
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, AddRoleACLPublishClientReceive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1287,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1288,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1289,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1291,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1291,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1291,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1292,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1292,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1293,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1293,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1295,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1296,1
    - Dst: expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1306,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1312,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1314,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1280
    functionDepth: 1
    functionLinenumber: 1280
    functionLinenumberEnd: 1316
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - expect_request_response_success
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, AddRoleACLPublishClientSend)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1326,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1327,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1328,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1330,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1330,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1330,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1331,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1331,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1332,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1332,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1334,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1335,1
    - Dst: expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1345,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1351,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1353,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1319
    functionDepth: 1
    functionLinenumber: 1319
    functionLinenumberEnd: 1355
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - expect_request_response_success
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, AddRoleACLPublishClientSendWithPriority)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1365,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1366,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1367,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1369,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1369,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1369,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1370,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1370,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1371,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1371,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1373,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1374,1
    - Dst: expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1384,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1390,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1392,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1358
    functionDepth: 1
    functionLinenumber: 1358
    functionLinenumberEnd: 1394
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - expect_request_response_success
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, AddRoleACLSubscribeLiteral)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1404,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1405,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1406,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1408,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1408,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1408,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1409,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1409,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1410,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1410,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1412,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1413,1
    - Dst: expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1423,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1429,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1431,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1397
    functionDepth: 1
    functionLinenumber: 1397
    functionLinenumberEnd: 1433
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - expect_request_response_success
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, AddRoleACLSubscribePattern)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1445,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1446,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1447,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1449,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1449,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1449,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1450,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1450,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1451,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1451,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1453,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1454,1
    - Dst: expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1464,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1470,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1472,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1438
    functionDepth: 1
    functionLinenumber: 1438
    functionLinenumberEnd: 1474
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - expect_request_response_success
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, AddRoleACLUnsubscribeLiteral)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1484,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1485,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1486,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1488,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1488,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1488,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1489,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1489,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1490,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1490,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1492,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1493,1
    - Dst: expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1503,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1509,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1511,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1477
    functionDepth: 1
    functionLinenumber: 1477
    functionLinenumberEnd: 1513
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - expect_request_response_success
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, AddRoleACLUnsubscribePattern)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1523,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1524,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1525,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1527,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1527,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1527,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1528,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1528,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1529,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1529,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1531,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1532,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1539,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1541,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1516
    functionDepth: 1
    functionLinenumber: 1516
    functionLinenumberEnd: 1543
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, AddRoleACLBadAllow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1553,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1554,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1555,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1557,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1557,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1557,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1558,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1558,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1559,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1559,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1561,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1562,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1569,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1571,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1546
    functionDepth: 1
    functionLinenumber: 1546
    functionLinenumberEnd: 1573
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, AddRoleACLBadACLType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1583,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1584,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1585,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1587,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1587,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1587,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1588,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1588,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1589,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1589,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1591,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1592,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1598,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1600,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1576
    functionDepth: 1
    functionLinenumber: 1576
    functionLinenumberEnd: 1602
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, AddRoleACLNoTopic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1612,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1613,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1614,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1616,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1616,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1616,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1617,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1617,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1618,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1618,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1620,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1621,1
    - Dst: expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1629,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1635,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1637,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1605
    functionDepth: 1
    functionLinenumber: 1605
    functionLinenumberEnd: 1639
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - expect_request_response_success
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, RemoveRoleACLPublishClientReceive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1649,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1650,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1651,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1653,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1653,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1653,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1654,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1654,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1655,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1655,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1657,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1658,1
    - Dst: expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1666,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1672,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1674,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1676
      start: 1642
    functionDepth: 1
    functionLinenumber: 1642
    functionLinenumberEnd: 1676
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - expect_request_response_success
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, RemoveRoleACLPublishClientSend)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1686,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1687,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1688,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1690,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1690,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1690,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1691,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1691,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1692,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1692,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1694,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1695,1
    - Dst: expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1703,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1709,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1711,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1713
      start: 1679
    functionDepth: 1
    functionLinenumber: 1679
    functionLinenumberEnd: 1713
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - expect_request_response_success
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, RemoveRoleACLUnsubscribeLiteral)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1723,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1724,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1725,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1727,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1727,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1727,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1728,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1728,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1729,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1729,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1731,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1732,1
    - Dst: expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1740,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1746,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1748,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1716
    functionDepth: 1
    functionLinenumber: 1716
    functionLinenumberEnd: 1750
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - expect_request_response_success
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, RemoveRoleACLUnsubscribePattern)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1760,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1761,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1762,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1764,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1764,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1764,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1765,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1765,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1766,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1766,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1768,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1769,1
    - Dst: expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1777,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1783,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1785,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1753
    functionDepth: 1
    functionLinenumber: 1753
    functionLinenumberEnd: 1787
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - expect_request_response_success
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, RemoveRoleACLSubscribeLiteral)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1797,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1798,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1799,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1801,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1801,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1801,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1802,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1802,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1803,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1803,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1805,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1806,1
    - Dst: expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1814,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1820,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1822,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1824
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - expect_request_response_success
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, RemoveRoleACLSubscribePattern)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1834,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1835,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1836,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1838,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1838,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1838,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1839,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1839,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1840,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1840,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1842,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1843,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1850,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1852,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1827
    functionDepth: 1
    functionLinenumber: 1827
    functionLinenumberEnd: 1854
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, RemoveRoleACLBadACLType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1864,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1865,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1866,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1868,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1868,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1868,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1869,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1869,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1870,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1870,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1872,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1873,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1879,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1881,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1857
    functionDepth: 1
    functionLinenumber: 1857
    functionLinenumberEnd: 1883
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, RemoveRoleACLNoTopic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1892,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1893,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1894,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1896,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1897,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1899,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1899,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1899,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1899,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1900,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1901,1
    - Dst: append_empty_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1902,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1905,1
    - Dst: append_empty_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1906,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1910,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1910,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1910,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1911,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1911,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1912,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1912,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1914,1
    - Dst: expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1917,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1923,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1925,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1885
    functionDepth: 1
    functionLinenumber: 1885
    functionLinenumberEnd: 1927
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - t::Invoke
    - append_empty_response
    - expect_setup
    - expect_connect_and_messages
    - t::StrEq
    - t::Eq
    - readline
    - strdup
    - expect_request_response_empty
    - expect_request_response_success
    - ctrl_shell__main
    - t::Return
    - EXPECT_EQ
    - mosquitto_publish
    - EXPECT_CALL
    - expect_outputs
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, CreateGroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1936,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1937,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1938,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1940,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1941,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1943,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1943,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1943,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1943,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1944,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1945,1
    - Dst: append_empty_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1946,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1949,1
    - Dst: append_empty_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1950,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1954,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1954,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1954,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1955,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1955,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1956,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1956,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1958,1
    - Dst: expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1961,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1967,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1969,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1929
    functionDepth: 1
    functionLinenumber: 1929
    functionLinenumberEnd: 1971
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - t::Invoke
    - append_empty_response
    - expect_setup
    - expect_connect_and_messages
    - t::StrEq
    - t::Eq
    - readline
    - strdup
    - expect_request_response_empty
    - expect_request_response_success
    - ctrl_shell__main
    - t::Return
    - EXPECT_EQ
    - mosquitto_publish
    - EXPECT_CALL
    - expect_outputs
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, CreateRole)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1980,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1981,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1982,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1984,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1985,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1987,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1987,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1987,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1987,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1988,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1989,1
    - Dst: append_empty_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1990,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1993,1
    - Dst: append_empty_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1994,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1998,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1998,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1998,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1999,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:1999,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2000,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2000,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2002,1
    - Dst: expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2005,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2011,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2013,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2015
      start: 1973
    functionDepth: 1
    functionLinenumber: 1973
    functionLinenumberEnd: 2015
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - t::Invoke
    - append_empty_response
    - expect_setup
    - expect_connect_and_messages
    - t::StrEq
    - t::Eq
    - readline
    - strdup
    - expect_request_response_empty
    - expect_request_response_success
    - ctrl_shell__main
    - t::Return
    - EXPECT_EQ
    - mosquitto_publish
    - EXPECT_CALL
    - expect_outputs
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, DeleteClient)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2025,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2026,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2027,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2029,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2030,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2032,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2032,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2032,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2032,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2033,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2034,1
    - Dst: append_empty_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2035,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2038,1
    - Dst: append_empty_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2039,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2043,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2043,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2043,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2044,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2044,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2045,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2045,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2047,1
    - Dst: expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2050,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2056,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2058,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2059,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2060
      start: 2018
    functionDepth: 1
    functionLinenumber: 2018
    functionLinenumberEnd: 2060
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - t::Invoke
    - append_empty_response
    - expect_setup
    - expect_connect_and_messages
    - t::StrEq
    - t::Eq
    - readline
    - strdup
    - expect_request_response_empty
    - expect_request_response_success
    - ctrl_shell__main
    - t::Return
    - EXPECT_EQ
    - mosquitto_publish
    - EXPECT_CALL
    - expect_outputs
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, DeleteGroup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2069,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2070,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2071,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2073,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2074,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2076,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2076,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2076,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2076,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2077,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2078,1
    - Dst: append_empty_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2079,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2082,1
    - Dst: append_empty_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2083,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2087,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2087,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2087,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2088,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2088,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2089,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2089,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2091,1
    - Dst: expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2094,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2100,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2102,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2062
    functionDepth: 1
    functionLinenumber: 2062
    functionLinenumberEnd: 2104
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - t::Invoke
    - append_empty_response
    - expect_setup
    - expect_connect_and_messages
    - t::StrEq
    - t::Eq
    - readline
    - strdup
    - expect_request_response_empty
    - expect_request_response_success
    - ctrl_shell__main
    - t::Return
    - EXPECT_EQ
    - mosquitto_publish
    - EXPECT_CALL
    - expect_outputs
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, DeleteRole)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2114,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2115,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2116,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2118,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2118,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2118,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2119,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2119,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2120,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2120,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2122,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2123,1
    - Dst: expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2130,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2136,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2138,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2107
    functionDepth: 1
    functionLinenumber: 2107
    functionLinenumberEnd: 2140
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - expect_request_response_success
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, ModifyClientTextName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2150,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2151,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2152,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2154,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2154,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2154,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2155,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2155,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2156,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2156,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2158,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2159,1
    - Dst: expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2166,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2172,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2174,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2176
      start: 2143
    functionDepth: 1
    functionLinenumber: 2143
    functionLinenumberEnd: 2176
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - expect_request_response_success
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, ModifyClientTextDescription)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2186,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2187,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2188,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2190,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2190,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2190,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2191,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2191,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2192,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2192,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2194,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2195,1
    - Dst: expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2202,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2208,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2210,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2212
      start: 2179
    functionDepth: 1
    functionLinenumber: 2179
    functionLinenumberEnd: 2212
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - expect_request_response_success
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, ModifyGroupTextName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2222,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2223,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2224,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2226,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2226,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2226,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2227,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2227,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2228,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2228,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2230,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2231,1
    - Dst: expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2238,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2244,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2246,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2248
      start: 2215
    functionDepth: 1
    functionLinenumber: 2215
    functionLinenumberEnd: 2248
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - expect_request_response_success
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, ModifyGroupTextDescription)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2258,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2259,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2260,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2262,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2262,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2262,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2263,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2263,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2264,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2264,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2266,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2267,1
    - Dst: expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2274,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2280,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2282,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2284
      start: 2251
    functionDepth: 1
    functionLinenumber: 2251
    functionLinenumberEnd: 2284
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - expect_request_response_success
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, ModifyRoleTextName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2294,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2295,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2296,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2298,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2298,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2298,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2299,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2299,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2300,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2300,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2302,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2303,1
    - Dst: expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2310,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2316,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2318,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2320
      start: 2287
    functionDepth: 1
    functionLinenumber: 2287
    functionLinenumberEnd: 2320
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - expect_request_response_success
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, ModifyRoleTextDescription)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2330,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2331,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2332,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2334,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2334,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2334,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2335,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2335,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2336,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2336,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2338,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2339,1
    - Dst: expect_request_response_success
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2346,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2352,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2354,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2356
      start: 2323
    functionDepth: 1
    functionLinenumber: 2323
    functionLinenumberEnd: 2356
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - expect_request_response_success
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, ModifyRoleWildcardSubs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2366,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2367,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2368,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2370,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2370,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2370,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2371,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2371,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2372,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2372,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2374,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2375,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2382,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2384,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2386
      start: 2359
    functionDepth: 1
    functionLinenumber: 2359
    functionLinenumberEnd: 2386
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, ModifyRoleAllowWildcardSubsBadValue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2396,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2397,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2398,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2400,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2400,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2400,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2401,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2401,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2402,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2402,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2404,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2405,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2412,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2414,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2416
      start: 2389
    functionDepth: 1
    functionLinenumber: 2389
    functionLinenumberEnd: 2416
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, ModifyRoleBadProp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2426,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2427,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2428,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2430,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2430,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2430,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2431,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2431,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2432,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2432,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2434,1
    - Dst: expect_single_lists
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2435,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2441,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2443,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2445
      start: 2419
    functionDepth: 1
    functionLinenumber: 2419
    functionLinenumberEnd: 2445
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - EXPECT_EQ
    - t::Return
    - EXPECT_CALL
    - expect_outputs
    - expect_single_lists
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, ModifyRoleNoProp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2455,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2456,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2457,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2459,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2459,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2459,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2460,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2460,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2461,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2461,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2463,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2464,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2465,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2467,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2467,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2467,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2467,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2468,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2469,1
    - Dst: append_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2470,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2475,1
    - Dst: append_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2476,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2488,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2490,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2492
      start: 2448
    functionDepth: 1
    functionLinenumber: 2448
    functionLinenumberEnd: 2492
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - t::Invoke
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - t::Eq
    - expect_request_response_empty
    - EXPECT_EQ
    - t::Return
    - mosquitto_publish
    - EXPECT_CALL
    - expect_outputs
    - append_response
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, ListClients)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2502,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2503,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2504,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2506,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2506,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2506,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2507,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2507,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2508,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2508,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2510,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2511,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2512,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2513,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2515,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2515,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2515,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2515,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2516,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2517,1
    - Dst: append_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2518,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2530,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2532,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2534
      start: 2495
    functionDepth: 1
    functionLinenumber: 2495
    functionLinenumberEnd: 2534
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - t::Invoke
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - t::Eq
    - expect_request_response_empty
    - EXPECT_EQ
    - t::Return
    - mosquitto_publish
    - EXPECT_CALL
    - expect_outputs
    - append_response
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, ListClientsWithCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2544,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2545,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2546,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2548,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2548,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2548,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2549,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2549,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2550,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2550,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2552,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2553,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2554,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2555,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2557,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2557,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2557,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2557,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2558,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2559,1
    - Dst: append_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2560,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2572,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2574,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2576
      start: 2537
    functionDepth: 1
    functionLinenumber: 2537
    functionLinenumberEnd: 2576
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - t::Invoke
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - t::Eq
    - expect_request_response_empty
    - EXPECT_EQ
    - t::Return
    - mosquitto_publish
    - EXPECT_CALL
    - expect_outputs
    - append_response
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, ListClientsWithCountAndOffset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2586,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2587,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2588,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2590,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2590,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2590,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2591,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2591,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2592,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2592,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2594,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2595,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2596,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2598,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2598,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2598,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2598,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2599,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2600,1
    - Dst: append_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2601,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2606,1
    - Dst: append_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2607,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2619,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2621,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2623
      start: 2579
    functionDepth: 1
    functionLinenumber: 2579
    functionLinenumberEnd: 2623
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - t::Invoke
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - t::Eq
    - expect_request_response_empty
    - EXPECT_EQ
    - t::Return
    - mosquitto_publish
    - EXPECT_CALL
    - expect_outputs
    - append_response
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, ListGroups)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2633,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2634,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2635,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2637,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2637,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2637,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2638,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2638,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2639,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2639,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2641,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2642,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2643,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2644,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2646,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2646,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2646,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2646,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2647,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2648,1
    - Dst: append_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2649,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2661,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2663,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2665
      start: 2626
    functionDepth: 1
    functionLinenumber: 2626
    functionLinenumberEnd: 2665
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - t::Invoke
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - t::Eq
    - expect_request_response_empty
    - EXPECT_EQ
    - t::Return
    - mosquitto_publish
    - EXPECT_CALL
    - expect_outputs
    - append_response
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, ListGroupsWithCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2675,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2676,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2677,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2679,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2679,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2679,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2680,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2680,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2681,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2681,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2683,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2684,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2685,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2686,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2688,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2688,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2688,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2688,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2689,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2690,1
    - Dst: append_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2691,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2703,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2705,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2707
      start: 2668
    functionDepth: 1
    functionLinenumber: 2668
    functionLinenumberEnd: 2707
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - t::Invoke
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - t::Eq
    - expect_request_response_empty
    - EXPECT_EQ
    - t::Return
    - mosquitto_publish
    - EXPECT_CALL
    - expect_outputs
    - append_response
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, ListGroupsWithCountAndOffset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2717,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2718,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2719,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2721,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2721,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2721,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2722,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2722,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2723,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2723,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2725,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2726,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2727,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2729,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2729,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2729,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2729,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2730,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2731,1
    - Dst: append_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2732,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2737,1
    - Dst: append_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2738,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2750,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2752,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2754
      start: 2710
    functionDepth: 1
    functionLinenumber: 2710
    functionLinenumberEnd: 2754
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - t::Invoke
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - t::Eq
    - expect_request_response_empty
    - EXPECT_EQ
    - t::Return
    - mosquitto_publish
    - EXPECT_CALL
    - expect_outputs
    - append_response
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, ListRoles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2764,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2765,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2766,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2768,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2768,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2768,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2769,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2769,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2770,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2770,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2772,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2773,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2774,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2775,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2777,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2777,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2777,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2777,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2778,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2779,1
    - Dst: append_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2780,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2792,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2794,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2796
      start: 2757
    functionDepth: 1
    functionLinenumber: 2757
    functionLinenumberEnd: 2796
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - t::Invoke
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - t::Eq
    - expect_request_response_empty
    - EXPECT_EQ
    - t::Return
    - mosquitto_publish
    - EXPECT_CALL
    - expect_outputs
    - append_response
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, ListRolesWithCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2806,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2807,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2808,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2810,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2810,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2810,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2811,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2811,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2812,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2812,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2814,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2815,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2816,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2817,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2819,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2819,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2819,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2819,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2820,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2821,1
    - Dst: append_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2822,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2834,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2836,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2799
    functionDepth: 1
    functionLinenumber: 2799
    functionLinenumberEnd: 2838
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - t::Invoke
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - t::Eq
    - expect_request_response_empty
    - EXPECT_EQ
    - t::Return
    - mosquitto_publish
    - EXPECT_CALL
    - expect_outputs
    - append_response
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, ListRolesWithCountAndOffset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_setup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2848,1
    - Dst: expect_connect
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2849,1
    - Dst: expect_dynsec
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2850,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2852,1
    - Dst: readline
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2852,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2852,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2853,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2853,1
    - Dst: t::Return
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2854,1
    - Dst: strdup
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2854,1
    - Dst: expect_connect_and_messages
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2856,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2857,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2858,1
    - Dst: expect_request_response_empty
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2859,1
    - Dst: EXPECT_CALL
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2861,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2861,1
    - Dst: t::Eq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2861,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2861,1
    - Dst: t::StrEq
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2862,1
    - Dst: t::Invoke
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2863,1
    - Dst: append_response
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2864,1
    - Dst: expect_outputs
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2885,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2887,1
    - Dst: EXPECT_EQ
      Src: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp:2888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2889
      start: 2841
    functionDepth: 1
    functionLinenumber: 2841
    functionLinenumberEnd: 2889
    functionName: TEST_F
    functionSourceFile: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    functionUses: 0
    functionsReached:
    - expect_connect
    - t::Invoke
    - expect_connect_and_messages
    - expect_setup
    - ctrl_shell__main
    - t::StrEq
    - strdup
    - readline
    - t::Eq
    - expect_request_response_empty
    - EXPECT_EQ
    - t::Return
    - mosquitto_publish
    - EXPECT_CALL
    - expect_outputs
    - append_response
    - expect_dynsec
    linkageType: ''
    returnType: void
    signature: void TEST_F(CtrlShellDynsecTest, GetDetails)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 12
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/random/auth_plugin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srandom
      Src: /src/mosquitto/test/random/auth_plugin.c:17,1
    - Dst: time
      Src: /src/mosquitto/test/random/auth_plugin.c:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: mosquitto_auth_plugin_init
    functionSourceFile: /src/mosquitto/test/random/auth_plugin.c
    functionUses: 0
    functionsReached:
    - srandom
    - time
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_init(void **user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: mosquitto_auth_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/random/auth_plugin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: mosquitto_auth_security_init
    functionSourceFile: /src/mosquitto/test/random/auth_plugin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_init(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: mosquitto_auth_security_cleanup
    functionSourceFile: /src/mosquitto/test/random/auth_plugin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/mosquitto/test/random/auth_plugin.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - access
    - client
    - msg
    argTypes:
    - void*
    - int
    - struct mosquitto*
    - struct mosquitto_acl_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: mosquitto_auth_acl_check
    functionSourceFile: /src/mosquitto/test/random/auth_plugin.c
    functionUses: 0
    functionsReached:
    - random
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_acl_check(void *user_data, int access, struct mosquitto
      *client, const struct mosquitto_acl_msg *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/mosquitto/test/random/auth_plugin.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - client
    - username
    - password
    argTypes:
    - void*
    - struct mosquitto*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: mosquitto_auth_unpwd_check
    functionSourceFile: /src/mosquitto/test/random/auth_plugin.c
    functionUses: 0
    functionsReached:
    - random
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_unpwd_check(void *user_data, struct mosquitto *client,
      const char *username, const char *password)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - user_data
    - client
    - hint
    - identity
    - key
    - max_key_len
    argTypes:
    - void*
    - struct mosquitto*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: mosquitto_auth_psk_key_get
    functionSourceFile: /src/mosquitto/test/random/auth_plugin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_psk_key_get(void *user_data, struct mosquitto *client,
      const char *hint, const char *identity, char *key, int max_key_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-loop-forever.c:17,1
    - Dst: mosquitto_subscribe_v5
      Src: /src/mosquitto/test/lib/c/03-publish-loop-forever.c:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - mosq
    - obj
    - rc
    - flags
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 21
    functionName: on_connect_v5
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-loop-forever.c
    functionUses: 0
    functionsReached:
    - exit
    - mosquitto_subscribe_v5
    linkageType: ''
    returnType: void
    signature: void on_connect_v5(struct mosquitto *mosq, void *obj, int rc, int flags,
      const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - mosq
    - obj
    - rc
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: on_disconnect_v5
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-loop-forever.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect_v5(struct mosquitto *mosq, void *obj, int rc, const
      mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_publish_v5
      Src: /src/mosquitto/test/lib/c/03-publish-loop-forever.c:42,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/03-publish-loop-forever.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - mosq
    - obj
    - mid
    - qos_count
    - granted_qos
    - props
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - int*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: on_subscribe_v5
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-loop-forever.c
    functionUses: 0
    functionsReached:
    - strlen
    - mosquitto_publish_v5
    linkageType: ''
    returnType: void
    signature: void on_subscribe_v5(struct mosquitto *mosq, void *obj, int mid, int
      qos_count, const int *granted_qos, const mosquitto_property *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/03-publish-loop-forever.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - mosq
    - obj
    - msg
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - struct mosquitto_message*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: on_message_v5
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-loop-forever.c
    functionUses: 0
    functionsReached:
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_message_v5(struct mosquitto *mosq, void *obj, const struct
      mosquitto_message *msg, const mosquitto_property *properties)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/03-publish-loop-forever.c:65,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/03-publish-loop-forever.c:67,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/03-publish-loop-forever.c:69,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/lib/c/03-publish-loop-forever.c:73,1
    - Dst: mosquitto_connect_v5_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-loop-forever.c:75,1
    - Dst: mosquitto_disconnect_v5_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-loop-forever.c:76,1
    - Dst: mosquitto_subscribe_v5_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-loop-forever.c:77,1
    - Dst: mosquitto_message_v5_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-loop-forever.c:78,1
    - Dst: mosquitto_connect_bind_v5
      Src: /src/mosquitto/test/lib/c/03-publish-loop-forever.c:80,1
    - Dst: mosquitto_loop_forever
      Src: /src/mosquitto/test/lib/c/03-publish-loop-forever.c:85,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/03-publish-loop-forever.c:86,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/03-publish-loop-forever.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 90
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-loop-forever.c
    functionUses: 95
    functionsReached:
    - mosquitto_connect_v5_callback_set
    - mosquitto_lib_cleanup
    - mosquitto_int_option
    - mosquitto_lib_init
    - mosquitto_subscribe_v5_callback_set
    - mosquitto_message_v5_callback_set
    - atoi
    - mosquitto_new
    - mosquitto_connect_bind_v5
    - mosquitto_destroy
    - mosquitto_disconnect_v5_callback_set
    - mosquitto_loop_forever
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-0.c:15,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-0.c:17,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-0.c:17,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-0.c:21,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-0.c:21,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-0.c:25,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-0.c:25,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 30
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-0.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_publish
    - strlen
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-0.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - obj
    - mid
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: on_publish
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-0.c
    functionUses: 1
    functionsReached:
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_publish(struct mosquitto *mosq, void *obj, int mid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-0.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-0.c:62,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-0.c:64,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-0.c:66,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-0.c:70,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-0.c:71,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-0.c:72,1
    - Dst: mosquitto_publish_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-0.c:73,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-0.c:75,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-0.c:81,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-0.c:84,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-0.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-0.c
    functionUses: 95
    functionsReached:
    - mosquitto_publish_callback_set
    - mosquitto_lib_cleanup
    - mosquitto_int_option
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/01-keepalive-pingreq.c:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 17
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/01-keepalive-pingreq.c
    functionUses: 11
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/01-keepalive-pingreq.c:29,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/01-keepalive-pingreq.c:31,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/01-keepalive-pingreq.c:33,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/01-keepalive-pingreq.c:37,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/01-keepalive-pingreq.c:39,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/01-keepalive-pingreq.c:45,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/01-keepalive-pingreq.c:51,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/01-keepalive-pingreq.c:52,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/01-keepalive-pingreq.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - atoi
    - mosquitto_connect
    - mosquitto_new
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/08-ssl-bad-cacert.c:16,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/08-ssl-bad-cacert.c:18,1
    - Dst: mosquitto_tls_set
      Src: /src/mosquitto/test/lib/c/08-ssl-bad-cacert.c:22,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/08-ssl-bad-cacert.c:25,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/08-ssl-bad-cacert.c:26,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 28
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/08-ssl-bad-cacert.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - mosquitto_new
    - mosquitto_destroy
    - mosquitto_tls_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/01-will-set.c:15,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/01-will-set.c:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 19
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/01-will-set.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/01-will-set.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/01-will-set.c:40,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/01-will-set.c:42,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/01-will-set.c:44,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/01-will-set.c:48,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/01-will-set.c:49,1
    - Dst: mosquitto_will_set
      Src: /src/mosquitto/test/lib/c/01-will-set.c:50,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/01-will-set.c:50,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/01-will-set.c:52,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/01-will-set.c:58,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/01-will-set.c:60,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/01-will-set.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 64
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/01-will-set.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - atoi
    - mosquitto_will_set
    - strlen
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/11-prop-send-payload-format.c:20,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/lib/c/11-prop-send-payload-format.c:22,1
    - Dst: abort
      Src: /src/mosquitto/test/lib/c/11-prop-send-payload-format.c:24,1
    - Dst: mosquitto_publish_v5
      Src: /src/mosquitto/test/lib/c/11-prop-send-payload-format.c:26,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/11-prop-send-payload-format.c:26,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/lib/c/11-prop-send-payload-format.c:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 29
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/11-prop-send-payload-format.c
    functionUses: 11
    functionsReached:
    - mosquitto_publish_v5
    - mosquitto_property_add_byte
    - abort
    - exit
    - strlen
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/11-prop-send-payload-format.c:37,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/11-prop-send-payload-format.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - mosq
    - obj
    - mid
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: on_publish
    functionSourceFile: /src/mosquitto/test/lib/c/11-prop-send-payload-format.c
    functionUses: 1
    functionsReached:
    - exit
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_publish(struct mosquitto *mosq, void *obj, int mid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/11-prop-send-payload-format.c:55,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/11-prop-send-payload-format.c:57,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/11-prop-send-payload-format.c:59,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/11-prop-send-payload-format.c:63,1
    - Dst: mosquitto_publish_callback_set
      Src: /src/mosquitto/test/lib/c/11-prop-send-payload-format.c:64,1
    - Dst: mosquitto_opts_set
      Src: /src/mosquitto/test/lib/c/11-prop-send-payload-format.c:66,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/11-prop-send-payload-format.c:68,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/11-prop-send-payload-format.c:74,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/11-prop-send-payload-format.c:79,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/11-prop-send-payload-format.c:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 83
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/11-prop-send-payload-format.c
    functionUses: 95
    functionsReached:
    - mosquitto_publish_callback_set
    - mosquitto_opts_set
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2.c:15,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2.c:17,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2.c:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 19
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos2.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_publish
    - strlen
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - mid
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: on_publish
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos2.c
    functionUses: 1
    functionsReached:
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_publish(struct mosquitto *mosq, void *obj, int mid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2.c:50,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2.c:52,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2.c:54,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2.c:58,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2.c:59,1
    - Dst: mosquitto_publish_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2.c:60,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2.c:62,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2.c:68,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2.c:70,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos2.c
    functionUses: 95
    functionsReached:
    - mosquitto_publish_callback_set
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c:20,1
    - Dst: mosquitto_subscribe
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 24
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_subscribe
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - mosq
    - obj
    - mid
    - qos_count
    - granted_qos
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: on_subscribe
    functionSourceFile: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c
    functionUses: 2
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void on_subscribe(struct mosquitto *mosq, void *obj, int mid, int qos_count,
      const int *granted_qos)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 64
    functionName: loglevel_as_str
    functionSourceFile: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *loglevel_as_str(int level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c:71,1
    - Dst: loglevel_as_str
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - mosq
    - user_data
    - level
    - msg
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: on_log
    functionSourceFile: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c
    functionUses: 0
    functionsReached:
    - fprintf
    - loglevel_as_str
    linkageType: ''
    returnType: void
    signature: void on_log(struct mosquitto *mosq, void *user_data, int level, const
      char *msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c:84,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c:86,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c:88,1
    - Dst: mosquitto_log_callback_set
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c:92,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c:93,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c:94,1
    - Dst: mosquitto_subscribe_callback_set
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c:95,1
    - Dst: mosquitto_connect_async
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c:97,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c:99,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c:99,1
    - Dst: mosquitto_loop_start
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c:102,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c:104,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c:104,1
    - Dst: nanosleep
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c:110,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c:113,1
    - Dst: mosquitto_loop_stop
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c:114,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c:115,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c:117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 120
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c
    functionUses: 95
    functionsReached:
    - mosquitto_loop_start
    - mosquitto_lib_cleanup
    - mosquitto_connect_async
    - mosquitto_subscribe_callback_set
    - mosquitto_log_callback_set
    - nanosleep
    - mosquitto_lib_init
    - atoi
    - mosquitto_disconnect
    - mosquitto_strerror
    - mosquitto_loop_stop
    - mosquitto_new
    - printf
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/01-extended-auth-failure.c:20,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/01-extended-auth-failure.c:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - mosq
    - obj
    - rc
    - flags
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 24
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/01-extended-auth-failure.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc, int flags,
      const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - mosq
    - obj
    - auth_method
    - auth_data_len
    - auth_data
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - char*
    - uint16_t
    - void*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: on_ext_auth
    functionSourceFile: /src/mosquitto/test/lib/c/01-extended-auth-failure.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int on_ext_auth(struct mosquitto *mosq, void *obj, const char *auth_method,
      uint16_t auth_data_len, const void *auth_data, const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - mosq
    - obj
    - rc
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/01-extended-auth-failure.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc, const
      mosquitto_property *properties)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/01-extended-auth-failure.c:61,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/01-extended-auth-failure.c:63,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/01-extended-auth-failure.c:65,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/lib/c/01-extended-auth-failure.c:69,1
    - Dst: mosquitto_connect_v5_callback_set
      Src: /src/mosquitto/test/lib/c/01-extended-auth-failure.c:70,1
    - Dst: mosquitto_ext_auth_callback_set
      Src: /src/mosquitto/test/lib/c/01-extended-auth-failure.c:71,1
    - Dst: mosquitto_disconnect_v5_callback_set
      Src: /src/mosquitto/test/lib/c/01-extended-auth-failure.c:72,1
    - Dst: mosquitto_property_add_int32
      Src: /src/mosquitto/test/lib/c/01-extended-auth-failure.c:74,1
    - Dst: mosquitto_connect_bind_v5
      Src: /src/mosquitto/test/lib/c/01-extended-auth-failure.c:75,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/lib/c/01-extended-auth-failure.c:76,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/01-extended-auth-failure.c:82,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/01-extended-auth-failure.c:85,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/01-extended-auth-failure.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 89
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/01-extended-auth-failure.c
    functionUses: 95
    functionsReached:
    - mosquitto_connect_v5_callback_set
    - mosquitto_lib_cleanup
    - mosquitto_int_option
    - mosquitto_ext_auth_callback_set
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_property_add_int32
    - mosquitto_connect_bind_v5
    - mosquitto_destroy
    - mosquitto_disconnect_v5_callback_set
    - mosquitto_property_free_all
    - mosquitto_loop
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_socket
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:18,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:21,1
    - Dst: FD_ZERO
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:24,1
    - Dst: FD_ZERO
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:25,1
    - Dst: FD_SET
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:27,1
    - Dst: FD_SET
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:33,1
    - Dst: mosquitto_want_write
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:34,1
    - Dst: FD_SET
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:35,1
    - Dst: FD_CLR
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:37,1
    - Dst: select
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:40,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:42,1
    - Dst: FD_ISSET
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:44,1
    - Dst: mosquitto_loop_read
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:45,1
    - Dst: FD_ISSET
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:47,1
    - Dst: mosquitto_loop_write
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:48,1
    - Dst: mosquitto_loop_misc
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:50,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 52
    functionName: do_loop
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-loop-manual.c
    functionUses: 0
    functionsReached:
    - mosquitto_want_write
    - FD_ISSET
    - mosquitto_socket
    - mosquitto_loop_write
    - FD_ZERO
    - FD_SET
    - FD_CLR
    - exit
    - mosquitto_loop_read
    - select
    - mosquitto_loop_misc
    linkageType: ''
    returnType: void
    signature: void do_loop(struct mosquitto *mosq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:63,1
    - Dst: mosquitto_subscribe_v5
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - mosq
    - obj
    - rc
    - flags
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: on_connect_v5
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-loop-manual.c
    functionUses: 0
    functionsReached:
    - exit
    - mosquitto_subscribe_v5
    linkageType: ''
    returnType: void
    signature: void on_connect_v5(struct mosquitto *mosq, void *obj, int rc, int flags,
      const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - mosq
    - obj
    - rc
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: on_disconnect_v5
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-loop-manual.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect_v5(struct mosquitto *mosq, void *obj, int rc, const
      mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_publish_v5
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:88,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - mosq
    - obj
    - mid
    - qos_count
    - granted_qos
    - props
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - int*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: on_subscribe_v5
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-loop-manual.c
    functionUses: 0
    functionsReached:
    - strlen
    - mosquitto_publish_v5
    linkageType: ''
    returnType: void
    signature: void on_subscribe_v5(struct mosquitto *mosq, void *obj, int mid, int
      qos_count, const int *granted_qos, const mosquitto_property *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - mosq
    - obj
    - msg
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - struct mosquitto_message*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: on_message_v5
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-loop-manual.c
    functionUses: 0
    functionsReached:
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_message_v5(struct mosquitto *mosq, void *obj, const struct
      mosquitto_message *msg, const mosquitto_property *properties)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:112,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:114,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:116,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:120,1
    - Dst: mosquitto_connect_v5_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:122,1
    - Dst: mosquitto_disconnect_v5_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:123,1
    - Dst: mosquitto_subscribe_v5_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:124,1
    - Dst: mosquitto_message_v5_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:125,1
    - Dst: mosquitto_connect_bind_v5
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:127,1
    - Dst: do_loop
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:132,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:133,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/03-publish-loop-manual.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 137
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-loop-manual.c
    functionUses: 95
    functionsReached:
    - mosquitto_connect_v5_callback_set
    - do_loop
    - mosquitto_lib_cleanup
    - mosquitto_int_option
    - mosquitto_lib_init
    - mosquitto_subscribe_v5_callback_set
    - mosquitto_message_v5_callback_set
    - atoi
    - mosquitto_new
    - mosquitto_connect_bind_v5
    - mosquitto_destroy
    - mosquitto_disconnect_v5_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-disconnect.c:16,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-disconnect.c:19,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-disconnect.c:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 23
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-disconnect.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_publish
    - strlen
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-disconnect.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - mid
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: on_publish
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-disconnect.c
    functionUses: 1
    functionsReached:
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_publish(struct mosquitto *mosq, void *obj, int mid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_reconnect
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-disconnect.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-disconnect.c
    functionUses: 0
    functionsReached:
    - mosquitto_reconnect
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-disconnect.c:56,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-disconnect.c:58,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-disconnect.c:60,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-disconnect.c:64,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-disconnect.c:65,1
    - Dst: mosquitto_publish_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-disconnect.c:66,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-disconnect.c:68,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-disconnect.c:74,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-disconnect.c:76,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-disconnect.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 80
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-disconnect.c
    functionUses: 95
    functionsReached:
    - mosquitto_publish_callback_set
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/11-prop-recv.c:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 20
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/11-prop-recv.c
    functionUses: 11
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_read_string
      Src: /src/mosquitto/test/lib/c/11-prop-recv.c:31,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/11-prop-recv.c:32,1
    - Dst: free
      Src: /src/mosquitto/test/lib/c/11-prop-recv.c:33,1
    - Dst: mosquitto_property_read_string
      Src: /src/mosquitto/test/lib/c/11-prop-recv.c:36,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/11-prop-recv.c:37,1
    - Dst: free
      Src: /src/mosquitto/test/lib/c/11-prop-recv.c:38,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/lib/c/11-prop-recv.c:42,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/11-prop-recv.c:52,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - mosq
    - obj
    - msg
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - struct mosquitto_message*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 53
    functionName: on_message_v5
    functionSourceFile: /src/mosquitto/test/lib/c/11-prop-recv.c
    functionUses: 0
    functionsReached:
    - mosquitto_publish
    - exit
    - strcmp
    - free
    - mosquitto_property_read_string
    linkageType: ''
    returnType: void
    signature: void on_message_v5(struct mosquitto *mosq, void *obj, const struct
      mosquitto_message *msg, const mosquitto_property *properties)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/11-prop-recv.c:65,1
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/11-prop-recv.c:66,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/11-prop-recv.c:68,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/11-prop-recv.c:70,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/11-prop-recv.c:74,1
    - Dst: mosquitto_message_v5_callback_set
      Src: /src/mosquitto/test/lib/c/11-prop-recv.c:75,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/lib/c/11-prop-recv.c:76,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/11-prop-recv.c:78,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/11-prop-recv.c:84,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/11-prop-recv.c:89,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/11-prop-recv.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 93
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/11-prop-recv.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_int_option
    - mosquitto_message_v5_callback_set
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-san.c:16,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-san.c:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 20
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/08-ssl-connect-san.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/08-ssl-connect-san.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-san.c:42,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-san.c:45,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-san.c:47,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-san.c:52,1
    - Dst: mosquitto_tls_set
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-san.c:53,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-san.c:54,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-san.c:55,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-san.c:57,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-san.c:63,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-san.c:65,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-san.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 69
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/08-ssl-connect-san.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - cat_sourcedir_with_relpath
    - mosquitto_tls_set
    - mosquitto_connect_callback_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - signal
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 19
    functionName: handle_sigint
    functionSourceFile: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void handle_sigint(int signal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c:27,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c:46,1
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c:47,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c:49,1
    - Dst: OPENSSL_init_crypto
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c:51,1
    - Dst: SSL_CTX_new
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c:54,1
    - Dst: TLS_client_method
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c:54,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c:57,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c:59,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c:61,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c:63,1
    - Dst: SSL_CTX_set_verify
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c:65,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c:66,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c:67,1
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c:68,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c:70,1
    - Dst: mosquitto_tls_set
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c:74,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c:75,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c:76,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c:78,1
    - Dst: mosquitto_void_option
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c:79,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c:81,1
    - Dst: signal
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c:86,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c:88,1
    - Dst: SSL_CTX_free
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c:90,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c:91,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (argc == 2)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c
    constantsTouched: []
    func_position:
      end: 95
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 95
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c
    functionUses: 95
    functionsReached:
    - SSL_CTX_use_PrivateKey_file
    - OPENSSL_init_crypto
    - atoi
    - SSL_CTX_set_verify
    - SSL_CTX_load_verify_locations
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - signal
    - mosquitto_new
    - cat_sourcedir_with_relpath
    - SSL_CTX_use_certificate_chain_file
    - mosquitto_int_option
    - TLS_client_method
    - mosquitto_void_option
    - assert
    - mosquitto_tls_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    - SSL_CTX_free
    - SSL_CTX_new
    - mosquitto_connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-disconnect.c:16,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-disconnect.c:19,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-disconnect.c:19,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 23
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-disconnect.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_publish
    - strlen
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-disconnect.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - mid
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: on_publish
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-disconnect.c
    functionUses: 1
    functionsReached:
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_publish(struct mosquitto *mosq, void *obj, int mid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_reconnect
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-disconnect.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-disconnect.c
    functionUses: 0
    functionsReached:
    - mosquitto_reconnect
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-disconnect.c:56,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-disconnect.c:58,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-disconnect.c:60,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-disconnect.c:64,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-disconnect.c:65,1
    - Dst: mosquitto_publish_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-disconnect.c:66,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-disconnect.c:68,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-disconnect.c:74,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-disconnect.c:76,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-disconnect.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 80
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-disconnect.c
    functionUses: 95
    functionsReached:
    - mosquitto_publish_callback_set
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-receive-maximum.c:19,1
    - Dst: mosquitto_publish_v5
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-receive-maximum.c:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - mosq
    - obj
    - rc
    - flags
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 25
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-receive-maximum.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_publish_v5
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc, int flags,
      const mosquitto_property *properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-receive-maximum.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - mosq
    - obj
    - mid
    - reason_code
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: on_publish
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-receive-maximum.c
    functionUses: 1
    functionsReached:
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_publish(struct mosquitto *mosq, void *obj, int mid, int reason_code,
      const mosquitto_property *properties)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-receive-maximum.c:50,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-receive-maximum.c:52,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-receive-maximum.c:54,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-receive-maximum.c:58,1
    - Dst: mosquitto_connect_v5_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-receive-maximum.c:60,1
    - Dst: mosquitto_publish_v5_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-receive-maximum.c:61,1
    - Dst: mosquitto_connect_bind_v5
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-receive-maximum.c:63,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-receive-maximum.c:69,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-receive-maximum.c:72,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-receive-maximum.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-receive-maximum.c
    functionUses: 95
    functionsReached:
    - mosquitto_connect_v5_callback_set
    - mosquitto_lib_cleanup
    - mosquitto_int_option
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect_bind_v5
    - mosquitto_destroy
    - mosquitto_loop
    - mosquitto_publish_v5_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-loop.c:17,1
    - Dst: mosquitto_subscribe_v5
      Src: /src/mosquitto/test/lib/c/03-publish-loop.c:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - mosq
    - obj
    - rc
    - flags
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 21
    functionName: on_connect_v5
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-loop.c
    functionUses: 0
    functionsReached:
    - exit
    - mosquitto_subscribe_v5
    linkageType: ''
    returnType: void
    signature: void on_connect_v5(struct mosquitto *mosq, void *obj, int rc, int flags,
      const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - mosq
    - obj
    - rc
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: on_disconnect_v5
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-loop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect_v5(struct mosquitto *mosq, void *obj, int rc, const
      mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_publish_v5
      Src: /src/mosquitto/test/lib/c/03-publish-loop.c:42,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/03-publish-loop.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - mosq
    - obj
    - mid
    - qos_count
    - granted_qos
    - props
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - int*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: on_subscribe_v5
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-loop.c
    functionUses: 0
    functionsReached:
    - strlen
    - mosquitto_publish_v5
    linkageType: ''
    returnType: void
    signature: void on_subscribe_v5(struct mosquitto *mosq, void *obj, int mid, int
      qos_count, const int *granted_qos, const mosquitto_property *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/03-publish-loop.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - mosq
    - obj
    - msg
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - struct mosquitto_message*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: on_message_v5
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-loop.c
    functionUses: 0
    functionsReached:
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_message_v5(struct mosquitto *mosq, void *obj, const struct
      mosquitto_message *msg, const mosquitto_property *properties)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/03-publish-loop.c:65,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/03-publish-loop.c:67,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/03-publish-loop.c:69,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/lib/c/03-publish-loop.c:73,1
    - Dst: mosquitto_connect_v5_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-loop.c:75,1
    - Dst: mosquitto_disconnect_v5_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-loop.c:76,1
    - Dst: mosquitto_subscribe_v5_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-loop.c:77,1
    - Dst: mosquitto_message_v5_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-loop.c:78,1
    - Dst: mosquitto_connect_bind_v5
      Src: /src/mosquitto/test/lib/c/03-publish-loop.c:80,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/03-publish-loop.c:86,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/03-publish-loop.c:88,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/03-publish-loop.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 92
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-loop.c
    functionUses: 95
    functionsReached:
    - mosquitto_connect_v5_callback_set
    - mosquitto_lib_cleanup
    - mosquitto_int_option
    - mosquitto_lib_init
    - mosquitto_subscribe_v5_callback_set
    - mosquitto_message_v5_callback_set
    - atoi
    - mosquitto_new
    - mosquitto_connect_bind_v5
    - mosquitto_destroy
    - mosquitto_disconnect_v5_callback_set
    - mosquitto_loop
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 8
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/test/lib/c/04-retain-qos0.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/04-retain-qos0.c:14,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/04-retain-qos0.c:17,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/lib/c/04-retain-qos0.c:19,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/04-retain-qos0.c:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 21
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/04-retain-qos0.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_publish
    - UNUSED
    - strlen
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/04-retain-qos0.c:26,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/04-retain-qos0.c:27,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/04-retain-qos0.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - obj
    - mid
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: on_publish
    functionSourceFile: /src/mosquitto/test/lib/c/04-retain-qos0.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void on_publish(struct mosquitto *mosq, void *obj, int mid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/04-retain-qos0.c:43,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/04-retain-qos0.c:45,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/04-retain-qos0.c:47,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/04-retain-qos0.c:51,1
    - Dst: mosquitto_publish_callback_set
      Src: /src/mosquitto/test/lib/c/04-retain-qos0.c:52,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/04-retain-qos0.c:54,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/04-retain-qos0.c:60,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/04-retain-qos0.c:62,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/04-retain-qos0.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 66
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/04-retain-qos0.c
    functionUses: 95
    functionsReached:
    - mosquitto_publish_callback_set
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1-unexpected-puback.c:16,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1-unexpected-puback.c:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 19
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-b2c-qos1-unexpected-puback.c
    functionUses: 11
    functionsReached:
    - exit
    - printf
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1-unexpected-puback.c:31,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1-unexpected-puback.c:33,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1-unexpected-puback.c:35,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1-unexpected-puback.c:39,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1-unexpected-puback.c:41,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1-unexpected-puback.c:47,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1-unexpected-puback.c:49,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1-unexpected-puback.c:53,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 55
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-b2c-qos1-unexpected-puback.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - atoi
    - exit
    - mosquitto_connect
    - mosquitto_new
    - mosquitto_connect_callback_set
    - mosquitto_loop
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-request-response-correlation-1.c:18,1
    - Dst: mosquitto_subscribe
      Src: /src/mosquitto/test/lib/c/03-request-response-correlation-1.c:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 22
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/03-request-response-correlation-1.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_subscribe
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/mosquitto/test/lib/c/03-request-response-correlation-1.c:34,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/lib/c/03-request-response-correlation-1.c:37,1
    - Dst: mosquitto_property_add_binary
      Src: /src/mosquitto/test/lib/c/03-request-response-correlation-1.c:38,1
    - Dst: abort
      Src: /src/mosquitto/test/lib/c/03-request-response-correlation-1.c:39,1
    - Dst: mosquitto_publish_v5
      Src: /src/mosquitto/test/lib/c/03-request-response-correlation-1.c:41,1
    - Dst: abort
      Src: /src/mosquitto/test/lib/c/03-request-response-correlation-1.c:43,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/lib/c/03-request-response-correlation-1.c:45,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - mosq
    - obj
    - mid
    - qos_count
    - granted_qos
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 46
    functionName: on_subscribe
    functionSourceFile: /src/mosquitto/test/lib/c/03-request-response-correlation-1.c
    functionUses: 2
    functionsReached:
    - mosquitto_publish_v5
    - abort
    - mosquitto_property_add_string
    - mosquitto_property_free_all
    - mosquitto_property_add_binary
    linkageType: ''
    returnType: void
    signature: void on_subscribe(struct mosquitto *mosq, void *obj, int mid, int qos_count,
      const int *granted_qos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/03-request-response-correlation-1.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - mosq
    - obj
    - msg
    argTypes:
    - struct mosquitto*
    - void*
    - struct mosquitto_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: on_message
    functionSourceFile: /src/mosquitto/test/lib/c/03-request-response-correlation-1.c
    functionUses: 7
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: void on_message(struct mosquitto *mosq, void *obj, const struct mosquitto_message
      *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/03-request-response-correlation-1.c:72,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/03-request-response-correlation-1.c:74,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/03-request-response-correlation-1.c:76,1
    - Dst: mosquitto_opts_set
      Src: /src/mosquitto/test/lib/c/03-request-response-correlation-1.c:80,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/03-request-response-correlation-1.c:81,1
    - Dst: mosquitto_subscribe_callback_set
      Src: /src/mosquitto/test/lib/c/03-request-response-correlation-1.c:82,1
    - Dst: mosquitto_message_callback_set
      Src: /src/mosquitto/test/lib/c/03-request-response-correlation-1.c:83,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/03-request-response-correlation-1.c:85,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/03-request-response-correlation-1.c:91,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/03-request-response-correlation-1.c:93,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/03-request-response-correlation-1.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 97
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/03-request-response-correlation-1.c
    functionUses: 95
    functionsReached:
    - mosquitto_opts_set
    - mosquitto_lib_cleanup
    - mosquitto_message_callback_set
    - mosquitto_subscribe_callback_set
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1.c:14,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 16
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-b2c-qos1.c
    functionUses: 11
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1.c:25,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1.c:26,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1.c:29,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1.c:30,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1.c:32,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1.c:33,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1.c:34,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1.c:36,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1.c:37,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1.c:38,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1.c:41,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1.c:42,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1.c:45,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1.c:46,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1.c:49,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - mosq
    - obj
    - msg
    argTypes:
    - struct mosquitto*
    - void*
    - struct mosquitto_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 50
    functionName: on_message
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-b2c-qos1.c
    functionUses: 7
    functionsReached:
    - exit
    - printf
    - strcmp
    linkageType: ''
    returnType: void
    signature: void on_message(struct mosquitto *mosq, void *obj, const struct mosquitto_message
      *msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1.c:62,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1.c:64,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1.c:66,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1.c:70,1
    - Dst: mosquitto_message_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1.c:71,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1.c:73,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1.c:79,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1.c:83,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos1.c:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-b2c-qos1.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_message_callback_set
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth.c:16,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth.c:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 20
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth.c:41,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth.c:43,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth.c:45,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth.c:50,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth.c:52,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth.c:54,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth.c:56,1
    - Dst: mosquitto_tls_set
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth.c:57,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth.c:58,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth.c:59,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth.c:61,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth.c:67,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth.c:69,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - cat_sourcedir_with_relpath
    - mosquitto_tls_set
    - mosquitto_connect_callback_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/01-con-discon-success-v5.c:19,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/01-con-discon-success-v5.c:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - mosq
    - obj
    - rc
    - flags
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 23
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/01-con-discon-success-v5.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc, int flags,
      const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - mosq
    - obj
    - rc
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/01-con-discon-success-v5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc, const
      mosquitto_property *properties)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/01-con-discon-success-v5.c:47,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/01-con-discon-success-v5.c:49,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/01-con-discon-success-v5.c:51,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/lib/c/01-con-discon-success-v5.c:55,1
    - Dst: mosquitto_connect_v5_callback_set
      Src: /src/mosquitto/test/lib/c/01-con-discon-success-v5.c:56,1
    - Dst: mosquitto_disconnect_v5_callback_set
      Src: /src/mosquitto/test/lib/c/01-con-discon-success-v5.c:57,1
    - Dst: mosquitto_property_add_int32
      Src: /src/mosquitto/test/lib/c/01-con-discon-success-v5.c:59,1
    - Dst: mosquitto_connect_bind_v5
      Src: /src/mosquitto/test/lib/c/01-con-discon-success-v5.c:60,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/lib/c/01-con-discon-success-v5.c:61,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/01-con-discon-success-v5.c:67,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/01-con-discon-success-v5.c:70,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/01-con-discon-success-v5.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/01-con-discon-success-v5.c
    functionUses: 95
    functionsReached:
    - mosquitto_connect_v5_callback_set
    - mosquitto_lib_cleanup
    - mosquitto_int_option
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_property_add_int32
    - mosquitto_connect_bind_v5
    - mosquitto_destroy
    - mosquitto_disconnect_v5_callback_set
    - mosquitto_property_free_all
    - mosquitto_loop
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/02-subscribe-helper-simple-qos2.c:17,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/02-subscribe-helper-simple-qos2.c:19,1
    - Dst: mosquitto_subscribe_simple
      Src: /src/mosquitto/test/lib/c/02-subscribe-helper-simple-qos2.c:21,1
    - Dst: mosquitto_message_free
      Src: /src/mosquitto/test/lib/c/02-subscribe-helper-simple-qos2.c:25,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/02-subscribe-helper-simple-qos2.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 29
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/02-subscribe-helper-simple-qos2.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - atoi
    - mosquitto_message_free
    - mosquitto_subscribe_simple
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-multiple-v5.c:16,1
    - Dst: mosquitto_subscribe_v5
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-multiple-v5.c:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 20
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/02-unsubscribe-multiple-v5.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_subscribe_v5
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-multiple-v5.c:31,1
    - Dst: mosquitto_unsubscribe_multiple
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-multiple-v5.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - mosq
    - obj
    - mid
    - sub_count
    - subs
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 35
    functionName: on_subscribe
    functionSourceFile: /src/mosquitto/test/lib/c/02-unsubscribe-multiple-v5.c
    functionUses: 2
    functionsReached:
    - mosquitto_unsubscribe_multiple
    - abort
    linkageType: ''
    returnType: void
    signature: void on_subscribe(struct mosquitto *mosq, void *obj, int mid, int sub_count,
      const int *subs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/02-unsubscribe-multiple-v5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-multiple-v5.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - mid
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: on_unsubscribe
    functionSourceFile: /src/mosquitto/test/lib/c/02-unsubscribe-multiple-v5.c
    functionUses: 0
    functionsReached:
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_unsubscribe(struct mosquitto *mosq, void *obj, int mid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-multiple-v5.c:65,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-multiple-v5.c:67,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-multiple-v5.c:69,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-multiple-v5.c:73,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-multiple-v5.c:74,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-multiple-v5.c:75,1
    - Dst: mosquitto_subscribe_callback_set
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-multiple-v5.c:76,1
    - Dst: mosquitto_unsubscribe_callback_set
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-multiple-v5.c:77,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-multiple-v5.c:79,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-multiple-v5.c:85,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-multiple-v5.c:87,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-multiple-v5.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 91
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/02-unsubscribe-multiple-v5.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_int_option
    - mosquitto_subscribe_callback_set
    - mosquitto_unsubscribe_callback_set
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/01-unpwd-set.c:14,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/01-unpwd-set.c:16,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/01-unpwd-set.c:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 20
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/01-unpwd-set.c
    functionUses: 11
    functionsReached:
    - exit
    - printf
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/01-unpwd-set.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/01-unpwd-set.c:41,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/01-unpwd-set.c:43,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/01-unpwd-set.c:45,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/01-unpwd-set.c:49,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/01-unpwd-set.c:50,1
    - Dst: mosquitto_username_pw_set
      Src: /src/mosquitto/test/lib/c/01-unpwd-set.c:51,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/01-unpwd-set.c:53,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/01-unpwd-set.c:59,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/01-unpwd-set.c:61,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/01-unpwd-set.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 65
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/01-unpwd-set.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_username_pw_set
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-qos0.c:15,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/lib/c/03-publish-qos0.c:17,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/03-publish-qos0.c:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 19
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-qos0.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_publish
    - strlen
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/03-publish-qos0.c:27,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-qos0.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - mid
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: on_publish
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-qos0.c
    functionUses: 1
    functionsReached:
    - exit
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_publish(struct mosquitto *mosq, void *obj, int mid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/03-publish-qos0.c:43,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/03-publish-qos0.c:45,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/03-publish-qos0.c:47,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-qos0.c:51,1
    - Dst: mosquitto_publish_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-qos0.c:52,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/03-publish-qos0.c:54,1
    - Dst: mosquitto_loop_forever
      Src: /src/mosquitto/test/lib/c/03-publish-qos0.c:59,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/03-publish-qos0.c:61,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/03-publish-qos0.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 64
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-qos0.c
    functionUses: 95
    functionsReached:
    - mosquitto_publish_callback_set
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_loop_forever
    - mosquitto_connect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-no-auth.c:16,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-no-auth.c:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 20
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/08-ssl-connect-no-auth.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/08-ssl-connect-no-auth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-no-auth.c:41,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-no-auth.c:43,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-no-auth.c:45,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-no-auth.c:50,1
    - Dst: mosquitto_tls_set
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-no-auth.c:51,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-no-auth.c:52,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-no-auth.c:53,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-no-auth.c:55,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-no-auth.c:61,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-no-auth.c:63,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-no-auth.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 67
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/08-ssl-connect-no-auth.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - cat_sourcedir_with_relpath
    - mosquitto_tls_set
    - mosquitto_connect_callback_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-pubrec-error.c:17,1
    - Dst: mosquitto_publish_v5
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-pubrec-error.c:19,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-pubrec-error.c:19,1
    - Dst: mosquitto_publish_v5
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-pubrec-error.c:20,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-pubrec-error.c:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - mosq
    - obj
    - rc
    - flags
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 21
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-pubrec-error.c
    functionUses: 11
    functionsReached:
    - exit
    - strlen
    - mosquitto_publish_v5
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc, int flags,
      const mosquitto_property *properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - mosq
    - obj
    - mid
    - reason_code
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 34
    functionName: on_publish
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-pubrec-error.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_publish(struct mosquitto *mosq, void *obj, int mid, int reason_code,
      const mosquitto_property *properties)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-pubrec-error.c:46,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-pubrec-error.c:48,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-pubrec-error.c:50,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-pubrec-error.c:54,1
    - Dst: mosquitto_connect_v5_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-pubrec-error.c:56,1
    - Dst: mosquitto_publish_v5_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-pubrec-error.c:57,1
    - Dst: mosquitto_connect_bind_v5
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-pubrec-error.c:59,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-pubrec-error.c:65,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-pubrec-error.c:68,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-pubrec-error.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 71
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-pubrec-error.c
    functionUses: 95
    functionsReached:
    - mosquitto_connect_v5_callback_set
    - mosquitto_lib_cleanup
    - mosquitto_int_option
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect_bind_v5
    - mosquitto_destroy
    - mosquitto_loop
    - mosquitto_publish_v5_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/01-will-unpwd-set.c:15,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/01-will-unpwd-set.c:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 19
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/01-will-unpwd-set.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/01-will-unpwd-set.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/01-will-unpwd-set.c:40,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/01-will-unpwd-set.c:42,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/01-will-unpwd-set.c:44,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/01-will-unpwd-set.c:48,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/01-will-unpwd-set.c:49,1
    - Dst: mosquitto_username_pw_set
      Src: /src/mosquitto/test/lib/c/01-will-unpwd-set.c:50,1
    - Dst: mosquitto_will_set
      Src: /src/mosquitto/test/lib/c/01-will-unpwd-set.c:51,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/01-will-unpwd-set.c:51,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/01-will-unpwd-set.c:53,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/01-will-unpwd-set.c:59,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/01-will-unpwd-set.c:61,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/01-will-unpwd-set.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 65
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/01-will-unpwd-set.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_username_pw_set
    - mosquitto_lib_init
    - atoi
    - mosquitto_will_set
    - strlen
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/01-no-clean-session.c:15,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/01-no-clean-session.c:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 19
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/01-no-clean-session.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/01-no-clean-session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/01-no-clean-session.c:40,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/01-no-clean-session.c:42,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/01-no-clean-session.c:44,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/01-no-clean-session.c:48,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/01-no-clean-session.c:49,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/01-no-clean-session.c:51,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/01-no-clean-session.c:57,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/01-no-clean-session.c:59,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/01-no-clean-session.c:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 63
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/01-no-clean-session.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/01-con-discon-will.c:15,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/01-con-discon-will.c:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 19
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/01-con-discon-will.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/01-con-discon-will.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/01-con-discon-will.c:40,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/01-con-discon-will.c:42,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/01-con-discon-will.c:44,1
    - Dst: mosquitto_will_set
      Src: /src/mosquitto/test/lib/c/01-con-discon-will.c:49,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/01-con-discon-will.c:49,1
    - Dst: mosquitto_will_set
      Src: /src/mosquitto/test/lib/c/01-con-discon-will.c:50,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/01-con-discon-will.c:50,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/01-con-discon-will.c:51,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/01-con-discon-will.c:52,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/01-con-discon-will.c:54,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/01-con-discon-will.c:60,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/01-con-discon-will.c:63,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/01-con-discon-will.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 67
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/01-con-discon-will.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - atoi
    - mosquitto_will_set
    - strlen
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 10
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/test/lib/c/fuzzish.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/test/lib/c/fuzzish.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: signal_handler
    functionSourceFile: /src/mosquitto/test/lib/c/fuzzish.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void signal_handler(int s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_copy_all
      Src: /src/mosquitto/test/lib/c/fuzzish.c:31,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/fuzzish.c:33,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/test/lib/c/fuzzish.c:33,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/fuzzish.c:34,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/lib/c/fuzzish.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - props
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: prop_test
    functionSourceFile: /src/mosquitto/test/lib/c/fuzzish.c
    functionUses: 0
    functionsReached:
    - mosquitto_strerror
    - exit
    - printf
    - mosquitto_property_copy_all
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void prop_test(const mosquitto_property *props)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/lib/c/fuzzish.c:45,1
    - Dst: mosquitto_message_copy
      Src: /src/mosquitto/test/lib/c/fuzzish.c:46,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/fuzzish.c:48,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/test/lib/c/fuzzish.c:48,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/fuzzish.c:49,1
    - Dst: mosquitto_message_free_contents
      Src: /src/mosquitto/test/lib/c/fuzzish.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct mosquitto_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: msg_test
    functionSourceFile: /src/mosquitto/test/lib/c/fuzzish.c
    functionUses: 0
    functionsReached:
    - mosquitto_message_free_contents
    - mosquitto_strerror
    - exit
    - printf
    - memset
    - mosquitto_message_copy
    linkageType: ''
    returnType: void
    signature: void msg_test(const struct mosquitto_message *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:57,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mosq
    - obj
    argTypes:
    - struct mosquitto*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: on_pre_connect
    functionSourceFile: /src/mosquitto/test/lib/c/fuzzish.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void on_pre_connect(struct mosquitto *mosq, void *obj)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:68,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:69,1
    - Dst: strncmp
      Src: /src/mosquitto/test/lib/c/fuzzish.c:73,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/fuzzish.c:73,1
    - Dst: mosquitto_property_add_varint
      Src: /src/mosquitto/test/lib/c/fuzzish.c:74,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/fuzzish.c:76,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/test/lib/c/fuzzish.c:76,1
    - Dst: mosquitto_property_add_string_pair
      Src: /src/mosquitto/test/lib/c/fuzzish.c:79,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/fuzzish.c:81,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/test/lib/c/fuzzish.c:81,1
    - Dst: strncmp
      Src: /src/mosquitto/test/lib/c/fuzzish.c:84,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/fuzzish.c:84,1
    - Dst: mosquitto_property_add_string_pair
      Src: /src/mosquitto/test/lib/c/fuzzish.c:85,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/fuzzish.c:87,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/test/lib/c/fuzzish.c:87,1
    - Dst: strncmp
      Src: /src/mosquitto/test/lib/c/fuzzish.c:90,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/fuzzish.c:90,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/lib/c/fuzzish.c:91,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/fuzzish.c:93,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/test/lib/c/fuzzish.c:93,1
    - Dst: mosquitto_property_add_int32
      Src: /src/mosquitto/test/lib/c/fuzzish.c:96,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/fuzzish.c:98,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/test/lib/c/fuzzish.c:98,1
    - Dst: mosquitto_property_add_int16
      Src: /src/mosquitto/test/lib/c/fuzzish.c:101,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/fuzzish.c:103,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/test/lib/c/fuzzish.c:103,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/lib/c/fuzzish.c:106,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/fuzzish.c:108,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/test/lib/c/fuzzish.c:108,1
    - Dst: mosquitto_property_add_binary
      Src: /src/mosquitto/test/lib/c/fuzzish.c:111,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/fuzzish.c:111,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/fuzzish.c:113,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/test/lib/c/fuzzish.c:113,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/lib/c/fuzzish.c:116,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/fuzzish.c:118,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/test/lib/c/fuzzish.c:118,1
    - Dst: mosquitto_property_add_string_pair
      Src: /src/mosquitto/test/lib/c/fuzzish.c:121,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/fuzzish.c:123,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/test/lib/c/fuzzish.c:123,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/fuzzish.c:129,1
    - Dst: mosquitto_subscribe_v5
      Src: /src/mosquitto/test/lib/c/fuzzish.c:130,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/fuzzish.c:132,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/fuzzish.c:135,1
    - Dst: mosquitto_subscribe_v5
      Src: /src/mosquitto/test/lib/c/fuzzish.c:136,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/fuzzish.c:138,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/fuzzish.c:141,1
    - Dst: mosquitto_subscribe_v5
      Src: /src/mosquitto/test/lib/c/fuzzish.c:142,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/fuzzish.c:144,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/fuzzish.c:147,1
    - Dst: mosquitto_subscribe_multiple
      Src: /src/mosquitto/test/lib/c/fuzzish.c:149,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/fuzzish.c:151,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/fuzzish.c:154,1
    - Dst: mosquitto_unsubscribe_v5
      Src: /src/mosquitto/test/lib/c/fuzzish.c:155,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/fuzzish.c:157,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/fuzzish.c:160,1
    - Dst: mosquitto_unsubscribe_multiple
      Src: /src/mosquitto/test/lib/c/fuzzish.c:162,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/fuzzish.c:164,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/fuzzish.c:167,1
    - Dst: mosquitto_publish_v5
      Src: /src/mosquitto/test/lib/c/fuzzish.c:168,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/fuzzish.c:168,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/fuzzish.c:170,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/fuzzish.c:173,1
    - Dst: mosquitto_publish_v5
      Src: /src/mosquitto/test/lib/c/fuzzish.c:174,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/fuzzish.c:174,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/fuzzish.c:176,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/fuzzish.c:179,1
    - Dst: mosquitto_publish_v5
      Src: /src/mosquitto/test/lib/c/fuzzish.c:180,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/fuzzish.c:180,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/fuzzish.c:182,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/fuzzish.c:186,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/lib/c/fuzzish.c:191,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/lib/c/fuzzish.c:195,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/fuzzish.c:196,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 155
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 197
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/fuzzish.c
    functionUses: 11
    functionsReached:
    - mosquitto_subscribe_v5
    - mosquitto_unsubscribe_v5
    - exit
    - mosquitto_property_add_string_pair
    - printf
    - strcmp
    - mosquitto_property_free_all
    - mosquitto_property_add_varint
    - UNUSED
    - mosquitto_property_add_binary
    - strncmp
    - mosquitto_unsubscribe_multiple
    - mosquitto_property_add_int16
    - mosquitto_publish_v5
    - strlen
    - mosquitto_property_add_int32
    - mosquitto_property_add_byte
    - mosquitto_strerror
    - mosquitto_subscribe_multiple
    - mosquitto_property_add_string
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:202,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:203,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:204,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - mosq
    - obj
    - rc
    - flags
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: on_connect_with_flags
    functionSourceFile: /src/mosquitto/test/lib/c/fuzzish.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void on_connect_with_flags(struct mosquitto *mosq, void *obj, int rc,
      int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:211,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:212,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:213,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:214,1
    - Dst: prop_test
      Src: /src/mosquitto/test/lib/c/fuzzish.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - mosq
    - obj
    - rc
    - flags
    - props
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 217
    functionName: on_connect_v5
    functionSourceFile: /src/mosquitto/test/lib/c/fuzzish.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - prop_test
    linkageType: ''
    returnType: void
    signature: void on_connect_v5(struct mosquitto *mosq, void *obj, int rc, int flags,
      const mosquitto_property *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:222,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/fuzzish.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:231,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:232,1
    - Dst: prop_test
      Src: /src/mosquitto/test/lib/c/fuzzish.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - mosq
    - obj
    - rc
    - props
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: on_disconnect_v5
    functionSourceFile: /src/mosquitto/test/lib/c/fuzzish.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - prop_test
    linkageType: ''
    returnType: void
    signature: void on_disconnect_v5(struct mosquitto *mosq, void *obj, int rc, const
      mosquitto_property *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:242,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:243,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - mid
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: on_publish
    functionSourceFile: /src/mosquitto/test/lib/c/fuzzish.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void on_publish(struct mosquitto *mosq, void *obj, int mid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:250,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:251,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:252,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:253,1
    - Dst: prop_test
      Src: /src/mosquitto/test/lib/c/fuzzish.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - mosq
    - obj
    - mid
    - reason_code
    - props
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: on_publish_v5
    functionSourceFile: /src/mosquitto/test/lib/c/fuzzish.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - prop_test
    linkageType: ''
    returnType: void
    signature: void on_publish_v5(struct mosquitto *mosq, void *obj, int mid, int
      reason_code, const mosquitto_property *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:261,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:262,1
    - Dst: msg_test
      Src: /src/mosquitto/test/lib/c/fuzzish.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - msg
    argTypes:
    - struct mosquitto*
    - void*
    - struct mosquitto_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 265
    functionName: on_message
    functionSourceFile: /src/mosquitto/test/lib/c/fuzzish.c
    functionUses: 7
    functionsReached:
    - msg_test
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void on_message(struct mosquitto *mosq, void *obj, const struct mosquitto_message
      *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:270,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:271,1
    - Dst: msg_test
      Src: /src/mosquitto/test/lib/c/fuzzish.c:273,1
    - Dst: prop_test
      Src: /src/mosquitto/test/lib/c/fuzzish.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - mosq
    - obj
    - msg
    - props
    argTypes:
    - struct mosquitto*
    - void*
    - struct mosquitto_message*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 275
    functionName: on_message_v5
    functionSourceFile: /src/mosquitto/test/lib/c/fuzzish.c
    functionUses: 0
    functionsReached:
    - msg_test
    - UNUSED
    - prop_test
    linkageType: ''
    returnType: void
    signature: void on_message_v5(struct mosquitto *mosq, void *obj, const struct
      mosquitto_message *msg, const mosquitto_property *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:280,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:281,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:285,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:286,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - mosq
    - obj
    - mid
    - qos_count
    - granted_qos
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 294
    functionName: on_subscribe
    functionSourceFile: /src/mosquitto/test/lib/c/fuzzish.c
    functionUses: 2
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void on_subscribe(struct mosquitto *mosq, void *obj, int mid, int qos_count,
      const int *granted_qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:299,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:300,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:304,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:305,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:306,1
    - Dst: prop_test
      Src: /src/mosquitto/test/lib/c/fuzzish.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 6
    argNames:
    - mosq
    - obj
    - mid
    - qos_count
    - granted_qos
    - props
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - int*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 314
    functionName: on_subscribe_v5
    functionSourceFile: /src/mosquitto/test/lib/c/fuzzish.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - prop_test
    linkageType: ''
    returnType: void
    signature: void on_subscribe_v5(struct mosquitto *mosq, void *obj, int mid, int
      qos_count, const int *granted_qos, const mosquitto_property *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:319,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:320,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - mid
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 322
    functionName: on_unsubscribe
    functionSourceFile: /src/mosquitto/test/lib/c/fuzzish.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void on_unsubscribe(struct mosquitto *mosq, void *obj, int mid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:327,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:328,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:329,1
    - Dst: prop_test
      Src: /src/mosquitto/test/lib/c/fuzzish.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - mosq
    - obj
    - mid
    - props
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 332
    functionName: on_unsubscribe_v5
    functionSourceFile: /src/mosquitto/test/lib/c/fuzzish.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - prop_test
    linkageType: ''
    returnType: void
    signature: void on_unsubscribe_v5(struct mosquitto *mosq, void *obj, int mid,
      const mosquitto_property *props)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:337,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:338,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:339,1
    - Dst: prop_test
      Src: /src/mosquitto/test/lib/c/fuzzish.c:342,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/fuzzish.c:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - mosq
    - obj
    - mid
    - reason_code_count
    - reason_codes
    - props
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - int*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 350
    functionName: on_unsubscribe2_v5
    functionSourceFile: /src/mosquitto/test/lib/c/fuzzish.c
    functionUses: 0
    functionsReached:
    - exit
    - UNUSED
    - prop_test
    linkageType: ''
    returnType: void
    signature: void on_unsubscribe2_v5(struct mosquitto *mosq, void *obj, int mid,
      int reason_code_count, const int *reason_codes, const mosquitto_property *props)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:355,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:356,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/lib/c/fuzzish.c:357,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/fuzzish.c:360,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/fuzzish.c:361,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/fuzzish.c:363,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/fuzzish.c:365,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/fuzzish.c:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - mosq
    - obj
    - level
    - str
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 368
    functionName: on_log
    functionSourceFile: /src/mosquitto/test/lib/c/fuzzish.c
    functionUses: 0
    functionsReached:
    - exit
    - strlen
    - UNUSED
    - printf
    linkageType: ''
    returnType: void
    signature: void on_log(struct mosquitto *mosq, void *obj, int level, const char
      *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sigaction
      Src: /src/mosquitto/test/lib/c/fuzzish.c:376,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/fuzzish.c:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 379
    functionName: setup_signal_handler
    functionSourceFile: /src/mosquitto/test/lib/c/fuzzish.c
    functionUses: 0
    functionsReached:
    - exit
    - sigaction
    linkageType: ''
    returnType: void
    signature: void setup_signal_handler(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setup_signal_handler
      Src: /src/mosquitto/test/lib/c/fuzzish.c:393,1
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/fuzzish.c:395,1
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/fuzzish.c:396,1
    - Dst: strcasecmp
      Src: /src/mosquitto/test/lib/c/fuzzish.c:397,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/fuzzish.c:402,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/fuzzish.c:404,1
    - Dst: mosquitto_user_data_set
      Src: /src/mosquitto/test/lib/c/fuzzish.c:408,1
    - Dst: mosquitto_pre_connect_callback_set
      Src: /src/mosquitto/test/lib/c/fuzzish.c:410,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/fuzzish.c:412,1
    - Dst: mosquitto_connect_with_flags_callback_set
      Src: /src/mosquitto/test/lib/c/fuzzish.c:413,1
    - Dst: mosquitto_connect_v5_callback_set
      Src: /src/mosquitto/test/lib/c/fuzzish.c:414,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/fuzzish.c:416,1
    - Dst: mosquitto_disconnect_v5_callback_set
      Src: /src/mosquitto/test/lib/c/fuzzish.c:417,1
    - Dst: mosquitto_publish_callback_set
      Src: /src/mosquitto/test/lib/c/fuzzish.c:419,1
    - Dst: mosquitto_publish_v5_callback_set
      Src: /src/mosquitto/test/lib/c/fuzzish.c:420,1
    - Dst: mosquitto_message_callback_set
      Src: /src/mosquitto/test/lib/c/fuzzish.c:422,1
    - Dst: mosquitto_message_v5_callback_set
      Src: /src/mosquitto/test/lib/c/fuzzish.c:423,1
    - Dst: mosquitto_subscribe_callback_set
      Src: /src/mosquitto/test/lib/c/fuzzish.c:425,1
    - Dst: mosquitto_subscribe_v5_callback_set
      Src: /src/mosquitto/test/lib/c/fuzzish.c:426,1
    - Dst: mosquitto_unsubscribe_callback_set
      Src: /src/mosquitto/test/lib/c/fuzzish.c:428,1
    - Dst: mosquitto_unsubscribe_v5_callback_set
      Src: /src/mosquitto/test/lib/c/fuzzish.c:429,1
    - Dst: mosquitto_unsubscribe2_v5_callback_set
      Src: /src/mosquitto/test/lib/c/fuzzish.c:430,1
    - Dst: mosquitto_log_callback_set
      Src: /src/mosquitto/test/lib/c/fuzzish.c:432,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/lib/c/fuzzish.c:434,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/fuzzish.c:436,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/fuzzish.c:438,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/fuzzish.c:443,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/fuzzish.c:446,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/fuzzish.c:448,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 450
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/fuzzish.c
    functionUses: 95
    functionsReached:
    - mosquitto_subscribe_callback_set
    - mosquitto_log_callback_set
    - mosquitto_unsubscribe_callback_set
    - mosquitto_subscribe_v5_callback_set
    - atoi
    - printf
    - setup_signal_handler
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_publish_callback_set
    - mosquitto_user_data_set
    - mosquitto_lib_cleanup
    - strcasecmp
    - mosquitto_lib_init
    - mosquitto_message_v5_callback_set
    - mosquitto_new
    - mosquitto_unsubscribe_v5_callback_set
    - mosquitto_unsubscribe2_v5_callback_set
    - mosquitto_pre_connect_callback_set
    - mosquitto_int_option
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    - mosquitto_publish_v5_callback_set
    - mosquitto_connect_v5_callback_set
    - mosquitto_connect_with_flags_callback_set
    - mosquitto_message_callback_set
    - mosquitto_connect
    - mosquitto_disconnect_v5_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos2.c:16,1
    - Dst: mosquitto_subscribe
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos2.c:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 20
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/02-subscribe-qos2.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_subscribe
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/02-subscribe-qos2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos2.c:38,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos2.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - mosq
    - obj
    - mid
    - qos_count
    - granted_qos
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: on_subscribe
    functionSourceFile: /src/mosquitto/test/lib/c/02-subscribe-qos2.c
    functionUses: 2
    functionsReached:
    - mosquitto_disconnect
    - abort
    linkageType: ''
    returnType: void
    signature: void on_subscribe(struct mosquitto *mosq, void *obj, int mid, int qos_count,
      const int *granted_qos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos2.c:53,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos2.c:55,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos2.c:57,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos2.c:61,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos2.c:62,1
    - Dst: mosquitto_subscribe_callback_set
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos2.c:63,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos2.c:65,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos2.c:71,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos2.c:74,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos2.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/02-subscribe-qos2.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_subscribe_callback_set
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async1.c:20,1
    - Dst: mosquitto_subscribe
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async1.c:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 24
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/02-subscribe-qos1-async1.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_subscribe
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/02-subscribe-qos1-async1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async1.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - mosq
    - obj
    - mid
    - qos_count
    - granted_qos
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: on_subscribe
    functionSourceFile: /src/mosquitto/test/lib/c/02-subscribe-qos1-async1.c
    functionUses: 2
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void on_subscribe(struct mosquitto *mosq, void *obj, int mid, int qos_count,
      const int *granted_qos)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async1.c:58,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async1.c:60,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async1.c:62,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async1.c:66,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async1.c:67,1
    - Dst: mosquitto_subscribe_callback_set
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async1.c:68,1
    - Dst: mosquitto_loop_start
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async1.c:70,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async1.c:72,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async1.c:72,1
    - Dst: mosquitto_connect_async
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async1.c:76,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async1.c:78,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async1.c:78,1
    - Dst: nanosleep
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async1.c:85,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async1.c:88,1
    - Dst: mosquitto_loop_stop
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async1.c:89,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async1.c:90,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1-async1.c:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 94
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/02-subscribe-qos1-async1.c
    functionUses: 95
    functionsReached:
    - mosquitto_loop_start
    - mosquitto_lib_cleanup
    - mosquitto_connect_async
    - mosquitto_subscribe_callback_set
    - nanosleep
    - mosquitto_lib_init
    - atoi
    - mosquitto_disconnect
    - mosquitto_strerror
    - mosquitto_loop_stop
    - mosquitto_new
    - printf
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-v5.c:16,1
    - Dst: mosquitto_property_add_string_pair
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-v5.c:18,1
    - Dst: abort
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-v5.c:20,1
    - Dst: mosquitto_unsubscribe_v5
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-v5.c:22,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 24
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/02-unsubscribe-v5.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_property_add_string_pair
    - mosquitto_unsubscribe_v5
    - abort
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/02-unsubscribe-v5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-v5.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - mosq
    - obj
    - mid
    - props
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: on_unsubscribe
    functionSourceFile: /src/mosquitto/test/lib/c/02-unsubscribe-v5.c
    functionUses: 0
    functionsReached:
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_unsubscribe(struct mosquitto *mosq, void *obj, int mid, const
      mosquitto_property *props)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-v5.c:55,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-v5.c:57,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-v5.c:59,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-v5.c:63,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-v5.c:64,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-v5.c:65,1
    - Dst: mosquitto_unsubscribe_v5_callback_set
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-v5.c:66,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-v5.c:68,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-v5.c:74,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-v5.c:76,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/02-unsubscribe-v5.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 80
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/02-unsubscribe-v5.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_int_option
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_unsubscribe_v5_callback_set
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-enc.c:18,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-enc.c:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 22
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-enc.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-enc.c:39,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-enc.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - userdata
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: password_callback
    functionSourceFile: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-enc.c
    functionUses: 0
    functionsReached:
    - strlen
    - strncpy
    linkageType: ''
    returnType: int
    signature: int password_callback(char *buf, int size, int rwflag, void *userdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-enc.c:55,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-enc.c:57,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-enc.c:59,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-enc.c:64,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-enc.c:66,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-enc.c:68,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-enc.c:70,1
    - Dst: mosquitto_tls_set
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-enc.c:71,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-enc.c:72,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-enc.c:73,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-enc.c:75,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-enc.c:81,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-enc.c:83,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-enc.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-enc.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - cat_sourcedir_with_relpath
    - mosquitto_tls_set
    - mosquitto_connect_callback_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/11-prop-send-content-type.c:20,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/lib/c/11-prop-send-content-type.c:22,1
    - Dst: abort
      Src: /src/mosquitto/test/lib/c/11-prop-send-content-type.c:24,1
    - Dst: mosquitto_publish_v5
      Src: /src/mosquitto/test/lib/c/11-prop-send-content-type.c:26,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/11-prop-send-content-type.c:26,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/lib/c/11-prop-send-content-type.c:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 29
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/11-prop-send-content-type.c
    functionUses: 11
    functionsReached:
    - mosquitto_publish_v5
    - abort
    - exit
    - strlen
    - mosquitto_property_add_string
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/11-prop-send-content-type.c:37,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/11-prop-send-content-type.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - mosq
    - obj
    - mid
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: on_publish
    functionSourceFile: /src/mosquitto/test/lib/c/11-prop-send-content-type.c
    functionUses: 1
    functionsReached:
    - exit
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_publish(struct mosquitto *mosq, void *obj, int mid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/11-prop-send-content-type.c:55,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/11-prop-send-content-type.c:57,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/11-prop-send-content-type.c:59,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/11-prop-send-content-type.c:63,1
    - Dst: mosquitto_publish_callback_set
      Src: /src/mosquitto/test/lib/c/11-prop-send-content-type.c:64,1
    - Dst: mosquitto_opts_set
      Src: /src/mosquitto/test/lib/c/11-prop-send-content-type.c:66,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/11-prop-send-content-type.c:68,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/11-prop-send-content-type.c:74,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/11-prop-send-content-type.c:80,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/11-prop-send-content-type.c:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 83
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/11-prop-send-content-type.c
    functionUses: 95
    functionsReached:
    - mosquitto_publish_callback_set
    - mosquitto_opts_set
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/02-unsubscribe.c:14,1
    - Dst: mosquitto_unsubscribe
      Src: /src/mosquitto/test/lib/c/02-unsubscribe.c:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 18
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/02-unsubscribe.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_unsubscribe
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 27
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/02-unsubscribe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/02-unsubscribe.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - mid
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: on_unsubscribe
    functionSourceFile: /src/mosquitto/test/lib/c/02-unsubscribe.c
    functionUses: 0
    functionsReached:
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_unsubscribe(struct mosquitto *mosq, void *obj, int mid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/02-unsubscribe.c:48,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/02-unsubscribe.c:50,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/02-unsubscribe.c:52,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/02-unsubscribe.c:56,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/02-unsubscribe.c:57,1
    - Dst: mosquitto_unsubscribe_callback_set
      Src: /src/mosquitto/test/lib/c/02-unsubscribe.c:58,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/02-unsubscribe.c:60,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/02-unsubscribe.c:66,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/02-unsubscribe.c:69,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/02-unsubscribe.c:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/02-unsubscribe.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_unsubscribe_callback_set
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-clear.c:15,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-clear.c:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 19
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/01-con-discon-will-clear.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/01-con-discon-will-clear.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-clear.c:40,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-clear.c:42,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-clear.c:44,1
    - Dst: mosquitto_will_set
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-clear.c:48,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-clear.c:48,1
    - Dst: mosquitto_will_clear
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-clear.c:49,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-clear.c:50,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-clear.c:51,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-clear.c:53,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-clear.c:59,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-clear.c:62,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-clear.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 66
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/01-con-discon-will-clear.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_will_clear
    - mosquitto_lib_init
    - atoi
    - mosquitto_will_set
    - strlen
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-v5.c:16,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-v5.c:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 20
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/01-con-discon-will-v5.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/01-con-discon-will-v5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-v5.c:42,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-v5.c:44,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-v5.c:46,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-v5.c:50,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-v5.c:52,1
    - Dst: abort
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-v5.c:54,1
    - Dst: mosquitto_will_set_v5
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-v5.c:57,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-v5.c:57,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-v5.c:59,1
    - Dst: abort
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-v5.c:61,1
    - Dst: mosquitto_will_set_v5
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-v5.c:63,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-v5.c:63,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-v5.c:64,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-v5.c:65,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-v5.c:67,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-v5.c:73,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-v5.c:76,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/01-con-discon-will-v5.c:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 80
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/01-con-discon-will-v5.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_int_option
    - mosquitto_will_set_v5
    - mosquitto_property_add_byte
    - mosquitto_lib_init
    - atoi
    - abort
    - strlen
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - signal
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 19
    functionName: handle_sigint
    functionSourceFile: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx-default.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void handle_sigint(int signal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx-default.c:27,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx-default.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx-default.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx-default.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx-default.c:47,1
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx-default.c:48,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx-default.c:50,1
    - Dst: OPENSSL_init_crypto
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx-default.c:52,1
    - Dst: SSL_CTX_new
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx-default.c:55,1
    - Dst: TLS_client_method
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx-default.c:55,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx-default.c:57,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx-default.c:62,1
    - Dst: mosquitto_void_option
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx-default.c:63,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx-default.c:66,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx-default.c:68,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx-default.c:70,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx-default.c:72,1
    - Dst: mosquitto_tls_set
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx-default.c:74,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx-default.c:75,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx-default.c:76,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx-default.c:78,1
    - Dst: signal
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx-default.c:83,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx-default.c:85,1
    - Dst: SSL_CTX_free
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx-default.c:87,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx-default.c:88,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx-default.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (argc == 2)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx-default.c
    constantsTouched: []
    func_position:
      end: 92
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 92
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx-default.c
    functionUses: 95
    functionsReached:
    - OPENSSL_init_crypto
    - atoi
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - signal
    - mosquitto_new
    - cat_sourcedir_with_relpath
    - mosquitto_int_option
    - TLS_client_method
    - mosquitto_void_option
    - assert
    - mosquitto_tls_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    - SSL_CTX_free
    - SSL_CTX_new
    - mosquitto_connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2.c:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 18
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-b2c-qos2.c
    functionUses: 11
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2.c:27,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2.c:28,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2.c:31,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2.c:32,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2.c:34,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2.c:35,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2.c:36,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2.c:38,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2.c:39,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2.c:40,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2.c:43,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2.c:44,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2.c:47,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2.c:48,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - mosq
    - obj
    - msg
    argTypes:
    - struct mosquitto*
    - void*
    - struct mosquitto_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 52
    functionName: on_message
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-b2c-qos2.c
    functionUses: 7
    functionsReached:
    - exit
    - printf
    - strcmp
    linkageType: ''
    returnType: void
    signature: void on_message(struct mosquitto *mosq, void *obj, const struct mosquitto_message
      *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2.c:64,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2.c:66,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2.c:68,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2.c:72,1
    - Dst: mosquitto_message_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2.c:73,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2.c:75,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2.c:81,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2.c:84,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-b2c-qos2.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_message_callback_set
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos0.c:16,1
    - Dst: mosquitto_subscribe
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos0.c:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 20
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/02-subscribe-qos0.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_subscribe
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/02-subscribe-qos0.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos0.c:38,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos0.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - mosq
    - obj
    - mid
    - qos_count
    - granted_qos
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: on_subscribe
    functionSourceFile: /src/mosquitto/test/lib/c/02-subscribe-qos0.c
    functionUses: 2
    functionsReached:
    - mosquitto_disconnect
    - abort
    linkageType: ''
    returnType: void
    signature: void on_subscribe(struct mosquitto *mosq, void *obj, int mid, int qos_count,
      const int *granted_qos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos0.c:53,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos0.c:55,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos0.c:57,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos0.c:61,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos0.c:62,1
    - Dst: mosquitto_subscribe_callback_set
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos0.c:63,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos0.c:65,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos0.c:71,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos0.c:73,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos0.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/02-subscribe-qos0.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_subscribe_callback_set
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_username_pw_set
      Src: /src/mosquitto/test/lib/c/01-pre-connect-callback.c:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mosq
    - userdata
    argTypes:
    - struct mosquitto*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 13
    functionName: on_pre_connect
    functionSourceFile: /src/mosquitto/test/lib/c/01-pre-connect-callback.c
    functionUses: 0
    functionsReached:
    - mosquitto_username_pw_set
    linkageType: ''
    returnType: void
    signature: void on_pre_connect(struct mosquitto *mosq, void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/01-pre-connect-callback.c:23,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/01-pre-connect-callback.c:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 27
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/01-pre-connect-callback.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/01-pre-connect-callback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/01-pre-connect-callback.c:48,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/01-pre-connect-callback.c:50,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/01-pre-connect-callback.c:52,1
    - Dst: mosquitto_pre_connect_callback_set
      Src: /src/mosquitto/test/lib/c/01-pre-connect-callback.c:56,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/01-pre-connect-callback.c:57,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/01-pre-connect-callback.c:58,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/01-pre-connect-callback.c:60,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/01-pre-connect-callback.c:66,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/01-pre-connect-callback.c:68,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/01-pre-connect-callback.c:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/01-pre-connect-callback.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_disconnect_callback_set
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    - mosquitto_pre_connect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/01-server-keepalive-pingreq.c:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 17
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/01-server-keepalive-pingreq.c
    functionUses: 11
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/01-server-keepalive-pingreq.c:29,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/01-server-keepalive-pingreq.c:31,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/01-server-keepalive-pingreq.c:33,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/lib/c/01-server-keepalive-pingreq.c:37,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/01-server-keepalive-pingreq.c:38,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/01-server-keepalive-pingreq.c:40,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/01-server-keepalive-pingreq.c:46,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/01-server-keepalive-pingreq.c:52,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/01-server-keepalive-pingreq.c:53,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 55
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/01-server-keepalive-pingreq.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_int_option
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/08-ssl-fake-cacert.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 17
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/08-ssl-fake-cacert.c
    functionUses: 11
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/08-ssl-fake-cacert.c:29,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/08-ssl-fake-cacert.c:31,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/08-ssl-fake-cacert.c:33,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/c/08-ssl-fake-cacert.c:38,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/c/08-ssl-fake-cacert.c:40,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/c/08-ssl-fake-cacert.c:42,1
    - Dst: mosquitto_tls_set
      Src: /src/mosquitto/test/lib/c/08-ssl-fake-cacert.c:43,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/08-ssl-fake-cacert.c:44,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/08-ssl-fake-cacert.c:46,1
    - Dst: mosquitto_loop_forever
      Src: /src/mosquitto/test/lib/c/08-ssl-fake-cacert.c:51,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/08-ssl-fake-cacert.c:52,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/08-ssl-fake-cacert.c:53,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/08-ssl-fake-cacert.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - atoi
    - mosquitto_loop_forever
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - cat_sourcedir_with_relpath
    - mosquitto_tls_set
    - mosquitto_connect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:9,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:10,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:12,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:14,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:17,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - topic
    - topics
    - topic_count
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 18
    functionName: print_error
    functionSourceFile: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_error(const char *topic, char **topics, int topic_count)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_sub_topic_tokenise
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:29,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:30,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:33,1
    - Dst: print_error
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:34,1
    - Dst: mosquitto_sub_topic_tokens_free
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:37,1
    - Dst: mosquitto_sub_topic_tokenise
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:39,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:40,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:44,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:45,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:46,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:47,1
    - Dst: print_error
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:48,1
    - Dst: mosquitto_sub_topic_tokens_free
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:51,1
    - Dst: mosquitto_sub_topic_tokenise
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:53,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:54,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:59,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:60,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:61,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:62,1
    - Dst: print_error
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:63,1
    - Dst: mosquitto_sub_topic_tokens_free
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:66,1
    - Dst: mosquitto_sub_topic_tokenise
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:68,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:69,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:73,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:74,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:75,1
    - Dst: print_error
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:76,1
    - Dst: mosquitto_sub_topic_tokens_free
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:79,1
    - Dst: mosquitto_sub_topic_tokenise
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:81,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:82,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:87,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:88,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:89,1
    - Dst: print_error
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:90,1
    - Dst: mosquitto_sub_topic_tokens_free
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:93,1
    - Dst: mosquitto_sub_topic_tokenise
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:95,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:96,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:100,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:103,1
    - Dst: print_error
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:104,1
    - Dst: mosquitto_sub_topic_tokens_free
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:107,1
    - Dst: mosquitto_sub_topic_tokenise
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:109,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:110,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:115,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:118,1
    - Dst: print_error
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:119,1
    - Dst: mosquitto_sub_topic_tokens_free
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:122,1
    - Dst: mosquitto_sub_topic_tokenise
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:124,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:125,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:130,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:133,1
    - Dst: print_error
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:135,1
    - Dst: mosquitto_sub_topic_tokens_free
      Src: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c:138,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 76
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 141
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c
    functionUses: 95
    functionsReached:
    - mosquitto_sub_topic_tokenise
    - mosquitto_sub_topic_tokens_free
    - print_error
    - printf
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-len.c:15,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-len.c:17,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-len.c:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 19
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-len.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_publish
    - strlen
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-len.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - mosq
    - obj
    - mid
    - reason_code
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: on_publish
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-len.c
    functionUses: 1
    functionsReached:
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_publish(struct mosquitto *mosq, void *obj, int mid, int reason_code,
      const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-len.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-len.c:52,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-len.c:54,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-len.c:56,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-len.c:60,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-len.c:61,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-len.c:62,1
    - Dst: mosquitto_publish_v5_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-len.c:63,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-len.c:65,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-len.c:71,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-len.c:74,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-len.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-len.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_int_option
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_publish_v5_callback_set
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-qos0-no-payload.c:16,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/lib/c/03-publish-qos0-no-payload.c:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 20
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-qos0-no-payload.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_publish
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/03-publish-qos0-no-payload.c:28,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-qos0-no-payload.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - mosq
    - obj
    - mid
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: on_publish
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-qos0-no-payload.c
    functionUses: 1
    functionsReached:
    - exit
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_publish(struct mosquitto *mosq, void *obj, int mid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/03-publish-qos0-no-payload.c:45,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/03-publish-qos0-no-payload.c:47,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/03-publish-qos0-no-payload.c:49,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-qos0-no-payload.c:53,1
    - Dst: mosquitto_publish_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-qos0-no-payload.c:54,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/03-publish-qos0-no-payload.c:56,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/03-publish-qos0-no-payload.c:62,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/03-publish-qos0-no-payload.c:64,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/03-publish-qos0-no-payload.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-qos0-no-payload.c
    functionUses: 95
    functionsReached:
    - mosquitto_publish_callback_set
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_userdata
      Src: /src/mosquitto/test/lib/c/01-con-discon-success.c:14,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/01-con-discon-success.c:15,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/01-con-discon-success.c:17,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 19
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/01-con-discon-success.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_userdata
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/01-con-discon-success.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/01-con-discon-success.c:40,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/01-con-discon-success.c:42,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/01-con-discon-success.c:44,1
    - Dst: mosquitto_user_data_set
      Src: /src/mosquitto/test/lib/c/01-con-discon-success.c:48,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/01-con-discon-success.c:49,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/01-con-discon-success.c:50,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/01-con-discon-success.c:52,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/01-con-discon-success.c:58,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/01-con-discon-success.c:61,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/01-con-discon-success.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 65
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/01-con-discon-success.c
    functionUses: 95
    functionsReached:
    - mosquitto_user_data_set
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 18
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c
    functionUses: 11
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c:26,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c:27,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c:30,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c:31,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c:33,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c:34,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c:35,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c:37,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c:38,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c:39,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c:42,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c:43,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c:46,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c:47,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c:50,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - mosq
    - obj
    - msg
    argTypes:
    - struct mosquitto*
    - void*
    - struct mosquitto_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 51
    functionName: on_message
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c
    functionUses: 7
    functionsReached:
    - exit
    - printf
    - strcmp
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_message(struct mosquitto *mosq, void *obj, const struct mosquitto_message
      *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c:73,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c:75,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c:77,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c:81,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c:82,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c:83,1
    - Dst: mosquitto_message_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c:84,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c:86,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c:92,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c:95,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 98
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_message_callback_set
    - mosquitto_int_option
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 18
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c
    functionUses: 11
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c:26,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c:31,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c:32,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c:35,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c:36,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c:38,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c:39,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c:40,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c:42,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c:43,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c:44,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c:47,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c:48,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c:51,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c:52,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - mosq
    - obj
    - msg
    argTypes:
    - struct mosquitto*
    - void*
    - struct mosquitto_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 54
    functionName: on_message
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c
    functionUses: 7
    functionsReached:
    - exit
    - printf
    - strcmp
    linkageType: ''
    returnType: void
    signature: void on_message(struct mosquitto *mosq, void *obj, const struct mosquitto_message
      *msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c:66,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c:68,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c:70,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c:74,1
    - Dst: mosquitto_message_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c:75,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c:77,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c:83,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c:85,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c:85,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c:86,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c:90,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 93
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_message_callback_set
    - mosquitto_lib_init
    - atoi
    - mosquitto_strerror
    - exit
    - mosquitto_new
    - mosquitto_connect
    - printf
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-request-response-1.c:18,1
    - Dst: mosquitto_subscribe
      Src: /src/mosquitto/test/lib/c/03-request-response-1.c:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 22
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/03-request-response-1.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_subscribe
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/mosquitto/test/lib/c/03-request-response-1.c:32,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/lib/c/03-request-response-1.c:35,1
    - Dst: abort
      Src: /src/mosquitto/test/lib/c/03-request-response-1.c:36,1
    - Dst: mosquitto_publish_v5
      Src: /src/mosquitto/test/lib/c/03-request-response-1.c:38,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/lib/c/03-request-response-1.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - mosq
    - obj
    - mid
    - qos_count
    - granted_qos
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 40
    functionName: on_subscribe
    functionSourceFile: /src/mosquitto/test/lib/c/03-request-response-1.c
    functionUses: 2
    functionsReached:
    - mosquitto_property_add_string
    - mosquitto_property_free_all
    - mosquitto_publish_v5
    - abort
    linkageType: ''
    returnType: void
    signature: void on_subscribe(struct mosquitto *mosq, void *obj, int mid, int qos_count,
      const int *granted_qos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/03-request-response-1.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - mosq
    - obj
    - msg
    argTypes:
    - struct mosquitto*
    - void*
    - struct mosquitto_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: on_message
    functionSourceFile: /src/mosquitto/test/lib/c/03-request-response-1.c
    functionUses: 7
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: void on_message(struct mosquitto *mosq, void *obj, const struct mosquitto_message
      *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/03-request-response-1.c:66,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/03-request-response-1.c:68,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/03-request-response-1.c:70,1
    - Dst: mosquitto_opts_set
      Src: /src/mosquitto/test/lib/c/03-request-response-1.c:74,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/03-request-response-1.c:75,1
    - Dst: mosquitto_subscribe_callback_set
      Src: /src/mosquitto/test/lib/c/03-request-response-1.c:76,1
    - Dst: mosquitto_message_callback_set
      Src: /src/mosquitto/test/lib/c/03-request-response-1.c:77,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/03-request-response-1.c:79,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/03-request-response-1.c:85,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/03-request-response-1.c:87,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/03-request-response-1.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 91
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/03-request-response-1.c
    functionUses: 95
    functionsReached:
    - mosquitto_opts_set
    - mosquitto_lib_cleanup
    - mosquitto_message_callback_set
    - mosquitto_subscribe_callback_set
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-request-response-2.c:16,1
    - Dst: mosquitto_subscribe
      Src: /src/mosquitto/test/lib/c/03-request-response-2.c:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 20
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/03-request-response-2.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_subscribe
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/03-request-response-2.c:31,1
    - Dst: mosquitto_property_read_string
      Src: /src/mosquitto/test/lib/c/03-request-response-2.c:32,1
    - Dst: mosquitto_property_read_binary
      Src: /src/mosquitto/test/lib/c/03-request-response-2.c:34,1
    - Dst: mosquitto_publish_v5
      Src: /src/mosquitto/test/lib/c/03-request-response-2.c:35,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/03-request-response-2.c:35,1
    - Dst: abort
      Src: /src/mosquitto/test/lib/c/03-request-response-2.c:37,1
    - Dst: free
      Src: /src/mosquitto/test/lib/c/03-request-response-2.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - mosq
    - obj
    - msg
    - props
    argTypes:
    - struct mosquitto*
    - void*
    - struct mosquitto_message*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 42
    functionName: on_message_v5
    functionSourceFile: /src/mosquitto/test/lib/c/03-request-response-2.c
    functionUses: 0
    functionsReached:
    - mosquitto_publish_v5
    - mosquitto_property_read_binary
    - abort
    - strlen
    - strcmp
    - free
    - mosquitto_property_read_string
    linkageType: ''
    returnType: void
    signature: void on_message_v5(struct mosquitto *mosq, void *obj, const struct
      mosquitto_message *msg, const mosquitto_property *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - obj
    - mid
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: on_publish
    functionSourceFile: /src/mosquitto/test/lib/c/03-request-response-2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_publish(struct mosquitto *mosq, void *obj, int mid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/03-request-response-2.c:65,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/03-request-response-2.c:67,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/03-request-response-2.c:69,1
    - Dst: mosquitto_opts_set
      Src: /src/mosquitto/test/lib/c/03-request-response-2.c:73,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/03-request-response-2.c:74,1
    - Dst: mosquitto_publish_callback_set
      Src: /src/mosquitto/test/lib/c/03-request-response-2.c:75,1
    - Dst: mosquitto_message_v5_callback_set
      Src: /src/mosquitto/test/lib/c/03-request-response-2.c:76,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/03-request-response-2.c:78,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/03-request-response-2.c:84,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/03-request-response-2.c:86,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/03-request-response-2.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 90
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/03-request-response-2.c
    functionUses: 95
    functionsReached:
    - mosquitto_publish_callback_set
    - mosquitto_opts_set
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - mosquitto_message_v5_callback_set
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/test/lib/c/02-subscribe-helper-callback-qos2.c:15,1
    - Dst: assert
      Src: /src/mosquitto/test/lib/c/02-subscribe-helper-callback-qos2.c:16,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/02-subscribe-helper-callback-qos2.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - mosq
    - userdata
    - msg
    argTypes:
    - struct mosquitto*
    - void*
    - struct mosquitto_message*
    assertStmts:
    - condition: (msg)
      pos:
        line_end: 14
        line_start: 14
        source_file: /src/mosquitto/test/lib/c/02-subscribe-helper-callback-qos2.c
    - condition: (!strcmp(msg->topic, "qos2/test"))
      pos:
        line_end: 15
        line_start: 15
        source_file: /src/mosquitto/test/lib/c/02-subscribe-helper-callback-qos2.c
    constantsTouched: []
    func_position:
      end: 18
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 18
    functionName: cb
    functionSourceFile: /src/mosquitto/test/lib/c/02-subscribe-helper-callback-qos2.c
    functionUses: 0
    functionsReached:
    - strcmp
    - assert
    linkageType: ''
    returnType: int
    signature: int cb(struct mosquitto *mosq, void *userdata, const struct mosquitto_message
      *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/02-subscribe-helper-callback-qos2.c:28,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/02-subscribe-helper-callback-qos2.c:30,1
    - Dst: mosquitto_subscribe_callback
      Src: /src/mosquitto/test/lib/c/02-subscribe-helper-callback-qos2.c:32,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/02-subscribe-helper-callback-qos2.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 38
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/02-subscribe-helper-callback-qos2.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - mosquitto_subscribe_callback
    - atoi
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1.c:16,1
    - Dst: mosquitto_subscribe
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1.c:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 20
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/02-subscribe-qos1.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_subscribe
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/02-subscribe-qos1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1.c:38,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - mosq
    - obj
    - mid
    - qos_count
    - granted_qos
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: on_subscribe
    functionSourceFile: /src/mosquitto/test/lib/c/02-subscribe-qos1.c
    functionUses: 2
    functionsReached:
    - mosquitto_disconnect
    - abort
    linkageType: ''
    returnType: void
    signature: void on_subscribe(struct mosquitto *mosq, void *obj, int mid, int qos_count,
      const int *granted_qos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1.c:53,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1.c:55,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1.c:57,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1.c:61,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1.c:62,1
    - Dst: mosquitto_subscribe_callback_set
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1.c:63,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1.c:65,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1.c:71,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1.c:73,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/02-subscribe-qos1.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/02-subscribe-qos1.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_subscribe_callback_set
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-loop-start.c:18,1
    - Dst: mosquitto_subscribe_v5
      Src: /src/mosquitto/test/lib/c/03-publish-loop-start.c:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - mosq
    - obj
    - rc
    - flags
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 22
    functionName: on_connect_v5
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-loop-start.c
    functionUses: 0
    functionsReached:
    - exit
    - mosquitto_subscribe_v5
    linkageType: ''
    returnType: void
    signature: void on_connect_v5(struct mosquitto *mosq, void *obj, int rc, int flags,
      const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - mosq
    - obj
    - rc
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: on_disconnect_v5
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-loop-start.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect_v5(struct mosquitto *mosq, void *obj, int rc, const
      mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_publish_v5
      Src: /src/mosquitto/test/lib/c/03-publish-loop-start.c:43,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/03-publish-loop-start.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - mosq
    - obj
    - mid
    - qos_count
    - granted_qos
    - props
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - int*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: on_subscribe_v5
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-loop-start.c
    functionUses: 0
    functionsReached:
    - strlen
    - mosquitto_publish_v5
    linkageType: ''
    returnType: void
    signature: void on_subscribe_v5(struct mosquitto *mosq, void *obj, int mid, int
      qos_count, const int *granted_qos, const mosquitto_property *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/03-publish-loop-start.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - mosq
    - obj
    - msg
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - struct mosquitto_message*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: on_message_v5
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-loop-start.c
    functionUses: 0
    functionsReached:
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_message_v5(struct mosquitto *mosq, void *obj, const struct
      mosquitto_message *msg, const mosquitto_property *properties)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/03-publish-loop-start.c:66,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/03-publish-loop-start.c:68,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/03-publish-loop-start.c:70,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/lib/c/03-publish-loop-start.c:74,1
    - Dst: mosquitto_connect_v5_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-loop-start.c:76,1
    - Dst: mosquitto_disconnect_v5_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-loop-start.c:77,1
    - Dst: mosquitto_subscribe_v5_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-loop-start.c:78,1
    - Dst: mosquitto_message_v5_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-loop-start.c:79,1
    - Dst: mosquitto_connect_bind_v5
      Src: /src/mosquitto/test/lib/c/03-publish-loop-start.c:81,1
    - Dst: mosquitto_loop_start
      Src: /src/mosquitto/test/lib/c/03-publish-loop-start.c:86,1
    - Dst: nanosleep
      Src: /src/mosquitto/test/lib/c/03-publish-loop-start.c:89,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/03-publish-loop-start.c:92,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/03-publish-loop-start.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 96
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-loop-start.c
    functionUses: 95
    functionsReached:
    - mosquitto_connect_v5_callback_set
    - mosquitto_loop_start
    - mosquitto_lib_cleanup
    - mosquitto_int_option
    - nanosleep
    - mosquitto_lib_init
    - mosquitto_subscribe_v5_callback_set
    - mosquitto_message_v5_callback_set
    - atoi
    - mosquitto_new
    - mosquitto_connect_bind_v5
    - mosquitto_destroy
    - mosquitto_disconnect_v5_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/01-extended-auth-continue.c:20,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/01-extended-auth-continue.c:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - mosq
    - obj
    - rc
    - flags
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 24
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/01-extended-auth-continue.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc, int flags,
      const mosquitto_property *properties)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/01-extended-auth-continue.c:34,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/c/01-extended-auth-continue.c:38,1
    - Dst: mosquitto_ext_auth_continue
      Src: /src/mosquitto/test/lib/c/01-extended-auth-continue.c:42,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/01-extended-auth-continue.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 6
    argNames:
    - mosq
    - obj
    - auth_method
    - auth_data_len
    - auth_data
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - char*
    - uint16_t
    - void*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: on_ext_auth
    functionSourceFile: /src/mosquitto/test/lib/c/01-extended-auth-continue.c
    functionUses: 0
    functionsReached:
    - strlen
    - mosquitto_ext_auth_continue
    - strcmp
    linkageType: ''
    returnType: int
    signature: int on_ext_auth(struct mosquitto *mosq, void *obj, const char *auth_method,
      uint16_t auth_data_len, const void *auth_data, const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - mosq
    - obj
    - rc
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/01-extended-auth-continue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc, const
      mosquitto_property *properties)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/01-extended-auth-continue.c:67,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/01-extended-auth-continue.c:69,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/01-extended-auth-continue.c:71,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/lib/c/01-extended-auth-continue.c:75,1
    - Dst: mosquitto_connect_v5_callback_set
      Src: /src/mosquitto/test/lib/c/01-extended-auth-continue.c:76,1
    - Dst: mosquitto_ext_auth_callback_set
      Src: /src/mosquitto/test/lib/c/01-extended-auth-continue.c:77,1
    - Dst: mosquitto_disconnect_v5_callback_set
      Src: /src/mosquitto/test/lib/c/01-extended-auth-continue.c:78,1
    - Dst: mosquitto_property_add_int32
      Src: /src/mosquitto/test/lib/c/01-extended-auth-continue.c:80,1
    - Dst: mosquitto_connect_bind_v5
      Src: /src/mosquitto/test/lib/c/01-extended-auth-continue.c:81,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/lib/c/01-extended-auth-continue.c:82,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/01-extended-auth-continue.c:88,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/01-extended-auth-continue.c:91,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/01-extended-auth-continue.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 95
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/01-extended-auth-continue.c
    functionUses: 95
    functionsReached:
    - mosquitto_connect_v5_callback_set
    - mosquitto_lib_cleanup
    - mosquitto_int_option
    - mosquitto_ext_auth_callback_set
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_property_add_int32
    - mosquitto_connect_bind_v5
    - mosquitto_destroy
    - mosquitto_disconnect_v5_callback_set
    - mosquitto_property_free_all
    - mosquitto_loop
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubcomp.c:16,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubcomp.c:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 19
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubcomp.c
    functionUses: 11
    functionsReached:
    - exit
    - printf
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubcomp.c:31,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubcomp.c:33,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubcomp.c:35,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubcomp.c:39,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubcomp.c:41,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubcomp.c:47,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubcomp.c:49,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubcomp.c:53,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 55
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubcomp.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - atoi
    - exit
    - mosquitto_connect
    - mosquitto_new
    - mosquitto_connect_callback_set
    - mosquitto_loop
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-1.c:15,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-1.c:17,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-1.c:17,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-1.c:21,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-1.c:21,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-1.c:25,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-1.c:25,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 30
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-1.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_publish
    - strlen
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-1.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - obj
    - mid
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: on_publish
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-1.c
    functionUses: 1
    functionsReached:
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_publish(struct mosquitto *mosq, void *obj, int mid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-1.c:62,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-1.c:64,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-1.c:66,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-1.c:70,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-1.c:71,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-1.c:72,1
    - Dst: mosquitto_publish_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-1.c:73,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-1.c:75,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-1.c:81,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-1.c:83,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-1.c:85,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-1.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-1.c
    functionUses: 95
    functionsReached:
    - mosquitto_publish_callback_set
    - mosquitto_lib_cleanup
    - mosquitto_int_option
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c:16,1
    - Dst: mosquitto_subscribe
      Src: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c:18,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c:20,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c:21,1
    - Dst: mosquitto_unsubscribe
      Src: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c:24,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c:26,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c:27,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c:30,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c:30,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c:32,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c:33,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c:35,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c:35,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c:37,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c:38,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 41
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_publish
    - strlen
    - printf
    - mosquitto_unsubscribe
    - mosquitto_subscribe
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c:49,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - mosq
    - obj
    - mid
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: on_publish
    functionSourceFile: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c
    functionUses: 1
    functionsReached:
    - exit
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_publish(struct mosquitto *mosq, void *obj, int mid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c:66,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c:68,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c:70,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c:74,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c:75,1
    - Dst: mosquitto_publish_callback_set
      Src: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c:76,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c:78,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c:84,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c:89,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 93
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c
    functionUses: 95
    functionsReached:
    - mosquitto_publish_callback_set
    - mosquitto_lib_cleanup
    - mosquitto_int_option
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-receive-maximum.c:19,1
    - Dst: mosquitto_publish_v5
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-receive-maximum.c:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - mosq
    - obj
    - rc
    - flags
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 25
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-receive-maximum.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_publish_v5
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc, int flags,
      const mosquitto_property *properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-receive-maximum.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - mosq
    - obj
    - mid
    - reason_code
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: on_publish
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-receive-maximum.c
    functionUses: 1
    functionsReached:
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_publish(struct mosquitto *mosq, void *obj, int mid, int reason_code,
      const mosquitto_property *properties)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-receive-maximum.c:50,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-receive-maximum.c:52,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-receive-maximum.c:54,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-receive-maximum.c:58,1
    - Dst: mosquitto_connect_v5_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-receive-maximum.c:60,1
    - Dst: mosquitto_publish_v5_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-receive-maximum.c:61,1
    - Dst: mosquitto_connect_bind_v5
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-receive-maximum.c:63,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-receive-maximum.c:69,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-receive-maximum.c:72,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-receive-maximum.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-receive-maximum.c
    functionUses: 95
    functionsReached:
    - mosquitto_connect_v5_callback_set
    - mosquitto_lib_cleanup
    - mosquitto_int_option
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect_bind_v5
    - mosquitto_destroy
    - mosquitto_loop
    - mosquitto_publish_v5_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-len.c:15,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-len.c:17,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-len.c:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 19
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-len.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_publish
    - strlen
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-len.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - mid
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: on_publish
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-len.c
    functionUses: 1
    functionsReached:
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_publish(struct mosquitto *mosq, void *obj, int mid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-len.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-len.c:50,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-len.c:52,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-len.c:54,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-len.c:58,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-len.c:59,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-len.c:60,1
    - Dst: mosquitto_publish_callback_set
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-len.c:61,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-len.c:63,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-len.c:69,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-len.c:72,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-len.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-len.c
    functionUses: 95
    functionsReached:
    - mosquitto_publish_callback_set
    - mosquitto_lib_cleanup
    - mosquitto_int_option
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/02-unsubscribe2-v5.c:16,1
    - Dst: mosquitto_property_add_string_pair
      Src: /src/mosquitto/test/lib/c/02-unsubscribe2-v5.c:18,1
    - Dst: abort
      Src: /src/mosquitto/test/lib/c/02-unsubscribe2-v5.c:20,1
    - Dst: mosquitto_unsubscribe_v5
      Src: /src/mosquitto/test/lib/c/02-unsubscribe2-v5.c:22,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 24
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/lib/c/02-unsubscribe2-v5.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_property_add_string_pair
    - mosquitto_unsubscribe_v5
    - abort
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/c/02-unsubscribe2-v5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/c/02-unsubscribe2-v5.c:44,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/lib/c/02-unsubscribe2-v5.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - mosq
    - obj
    - mid
    - reason_code_count
    - reason_codes
    - props
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - int*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: on_unsubscribe
    functionSourceFile: /src/mosquitto/test/lib/c/02-unsubscribe2-v5.c
    functionUses: 0
    functionsReached:
    - exit
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_unsubscribe(struct mosquitto *mosq, void *obj, int mid, int
      reason_code_count, const int *reason_codes, const mosquitto_property *props)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/c/02-unsubscribe2-v5.c:60,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/lib/c/02-unsubscribe2-v5.c:62,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/lib/c/02-unsubscribe2-v5.c:64,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/test/lib/c/02-unsubscribe2-v5.c:68,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/lib/c/02-unsubscribe2-v5.c:69,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/lib/c/02-unsubscribe2-v5.c:70,1
    - Dst: mosquitto_unsubscribe2_v5_callback_set
      Src: /src/mosquitto/test/lib/c/02-unsubscribe2-v5.c:71,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/lib/c/02-unsubscribe2-v5.c:73,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/lib/c/02-unsubscribe2-v5.c:79,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/lib/c/02-unsubscribe2-v5.c:81,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/lib/c/02-unsubscribe2-v5.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 85
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/c/02-unsubscribe2-v5.c
    functionUses: 95
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_int_option
    - mosquitto_lib_init
    - atoi
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_unsubscribe2_v5_callback_set
    - mosquitto_connect_callback_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-len.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-len.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-len.cpp
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-len.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-len.cpp:41,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-len.cpp:42,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-len.cpp:45,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-len.cpp:46,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-len.cpp:48,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-len.cpp:49,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-len.cpp:50,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-len.cpp:52,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-len.cpp:53,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-len.cpp:54,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-len.cpp:57,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-len.cpp:58,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-len.cpp:61,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-len.cpp:62,1
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-len.cpp:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct mosquitto_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 66
    functionName: mosquittopp_test::on_message
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-len.cpp
    functionUses: 0
    functionsReached:
    - exit
    - printf
    - strcmp
    - disconnect
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_message(const struct mosquitto_message *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-len.cpp:76,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-len.cpp:78,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-len.cpp:80,1
    - Dst: mosquittopp_test*::int_option
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-len.cpp:81,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-len.cpp:83,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-len.cpp:86,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-len.cpp:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 93
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-len.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::int_option
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - signal
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 14
    functionName: handle_sigint
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void handle_sigint(int signal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx.cpp:33,1
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 37
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx.cpp
    functionUses: 0
    functionsReached:
    - exit
    - disconnect
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx.cpp:53,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx.cpp:55,1
    - Dst: OPENSSL_init_crypto
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx.cpp:57,1
    - Dst: SSL_CTX_new
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx.cpp:60,1
    - Dst: TLS_client_method
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx.cpp:60,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx.cpp:63,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx.cpp:65,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx.cpp:67,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx.cpp:69,1
    - Dst: SSL_CTX_set_verify
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx.cpp:71,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx.cpp:72,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx.cpp:73,1
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx.cpp:74,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx.cpp:76,1
    - Dst: mosquittopp_test*::tls_set
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx.cpp:78,1
    - Dst: mosquittopp_test*::int_option
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx.cpp:80,1
    - Dst: mosquittopp_test*::void_option
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx.cpp:81,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx.cpp:83,1
    - Dst: signal
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx.cpp:85,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx.cpp:87,1
    - Dst: SSL_CTX_free
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx.cpp:89,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx.cpp:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 95
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx.cpp
    functionUses: 95
    functionsReached:
    - SSL_CTX_use_PrivateKey_file
    - OPENSSL_init_crypto
    - atoi
    - SSL_CTX_set_verify
    - mosquittopp_test*::int_option
    - SSL_CTX_load_verify_locations
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - signal
    - cat_sourcedir_with_relpath
    - mosquittopp_test*::tls_set
    - SSL_CTX_use_certificate_chain_file
    - mosquittopp_test*::void_option
    - TLS_client_method
    - SSL_CTX_free
    - mosqpp::lib_cleanup
    - SSL_CTX_new
    - mosquittopp_test*::loop
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-helper-callback-qos2.cpp:12,1
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-helper-callback-qos2.cpp:13,1
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-helper-callback-qos2.cpp:14,1
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-helper-callback-qos2.cpp:15,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-helper-callback-qos2.cpp:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - mosq
    - userdata
    - msg
    argTypes:
    - struct mosquitto*
    - void*
    - struct mosquitto_message*
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 11
        line_start: 11
        source_file: /src/mosquitto/test/lib/cpp/02-subscribe-helper-callback-qos2.cpp
    - condition: (!strcmp(msg->topic, "qos2/test"))
      pos:
        line_end: 14
        line_start: 14
        source_file: /src/mosquitto/test/lib/cpp/02-subscribe-helper-callback-qos2.cpp
    - condition: (msg)
      pos:
        line_end: 13
        line_start: 13
        source_file: /src/mosquitto/test/lib/cpp/02-subscribe-helper-callback-qos2.cpp
    - condition: (userdata == &mydata)
      pos:
        line_end: 12
        line_start: 12
        source_file: /src/mosquitto/test/lib/cpp/02-subscribe-helper-callback-qos2.cpp
    constantsTouched: []
    func_position:
      end: 17
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 17
    functionName: cb
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-subscribe-helper-callback-qos2.cpp
    functionUses: 0
    functionsReached:
    - strcmp
    - assert
    linkageType: ''
    returnType: int
    signature: int cb(struct mosquitto *mosq, void *userdata, const struct mosquitto_message
      *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-helper-callback-qos2.cpp:27,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-helper-callback-qos2.cpp:29,1
    - Dst: mosqpp::subscribe_callback
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-helper-callback-qos2.cpp:31,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-helper-callback-qos2.cpp:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 37
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-subscribe-helper-callback-qos2.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosqpp::lib_cleanup
    - mosqpp::subscribe_callback
    - atoi
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-qos0-no-payload.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-qos0-no-payload.cpp:26,1
    - Dst: publish
      Src: /src/mosquitto/test/lib/cpp/03-publish-qos0-no-payload.cpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-qos0-no-payload.cpp
    functionUses: 0
    functionsReached:
    - exit
    - publish
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/03-publish-qos0-no-payload.cpp:36,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-qos0-no-payload.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - mid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: mosquittopp_test::on_publish
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-qos0-no-payload.cpp
    functionUses: 0
    functionsReached:
    - exit
    - disconnect
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_publish(int mid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-qos0-no-payload.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/03-publish-qos0-no-payload.cpp:56,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/03-publish-qos0-no-payload.cpp:58,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/03-publish-qos0-no-payload.cpp:60,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/03-publish-qos0-no-payload.cpp:62,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/03-publish-qos0-no-payload.cpp:65,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/03-publish-qos0-no-payload.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-qos0-no-payload.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubrel.cpp
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubrel.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubrel.cpp
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubrel.cpp:33,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubrel.cpp:38,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubrel.cpp:39,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubrel.cpp:42,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubrel.cpp:43,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubrel.cpp:45,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubrel.cpp:46,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubrel.cpp:47,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubrel.cpp:49,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubrel.cpp:50,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubrel.cpp:51,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubrel.cpp:54,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubrel.cpp:55,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubrel.cpp:58,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubrel.cpp:59,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct mosquitto_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 61
    functionName: mosquittopp_test::on_message
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubrel.cpp
    functionUses: 0
    functionsReached:
    - exit
    - printf
    - strcmp
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_message(const struct mosquitto_message *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubrel.cpp:71,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubrel.cpp:73,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubrel.cpp:75,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubrel.cpp:77,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubrel.cpp:80,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubrel.cpp:82,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubrel.cpp:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 89
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubrel.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - exit
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-con-discon-will-clear.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will-clear.cpp:23,1
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will-clear.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-con-discon-will-clear.cpp
    functionUses: 0
    functionsReached:
    - exit
    - disconnect
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-con-discon-will-clear.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will-clear.cpp:44,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will-clear.cpp:46,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will-clear.cpp:48,1
    - Dst: mosquittopp_test*::will_set
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will-clear.cpp:51,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will-clear.cpp:51,1
    - Dst: mosquittopp_test*::will_clear
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will-clear.cpp:52,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will-clear.cpp:54,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will-clear.cpp:57,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will-clear.cpp:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 64
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-con-discon-will-clear.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - mosquittopp_test*::will_set
    - atoi
    - mosquittopp_test*::will_clear
    - strlen
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/11-prop-send-payload-format.cpp
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/11-prop-send-payload-format.cpp:25,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/lib/cpp/11-prop-send-payload-format.cpp:28,1
    - Dst: abort
      Src: /src/mosquitto/test/lib/cpp/11-prop-send-payload-format.cpp:30,1
    - Dst: publish_v5
      Src: /src/mosquitto/test/lib/cpp/11-prop-send-payload-format.cpp:32,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/11-prop-send-payload-format.cpp:32,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/lib/cpp/11-prop-send-payload-format.cpp:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 36
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/11-prop-send-payload-format.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_property_add_byte
    - abort
    - exit
    - strlen
    - publish_v5
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/11-prop-send-payload-format.cpp:42,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/11-prop-send-payload-format.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - mid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: mosquittopp_test::on_publish
    functionSourceFile: /src/mosquitto/test/lib/cpp/11-prop-send-payload-format.cpp
    functionUses: 0
    functionsReached:
    - exit
    - disconnect
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_publish(int mid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/11-prop-send-payload-format.cpp:57,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/11-prop-send-payload-format.cpp:59,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/11-prop-send-payload-format.cpp:61,1
    - Dst: mosquittopp_test*::int_option
      Src: /src/mosquitto/test/lib/cpp/11-prop-send-payload-format.cpp:62,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/11-prop-send-payload-format.cpp:64,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/11-prop-send-payload-format.cpp:67,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/11-prop-send-payload-format.cpp:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/11-prop-send-payload-format.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::int_option
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-subscribe-qos1.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1.cpp:24,1
    - Dst: subscribe
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-subscribe-qos1.cpp
    functionUses: 0
    functionsReached:
    - exit
    - subscribe
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-subscribe-qos1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1.cpp:39,1
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1.cpp:40,1
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1.cpp:41,1
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mid
    - qos_count
    - granted_qos
    argTypes:
    - int
    - int
    - int*
    assertStmts:
    - condition: (mid == 1)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/mosquitto/test/lib/cpp/02-subscribe-qos1.cpp
    - condition: (qos_count == 1)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/mosquitto/test/lib/cpp/02-subscribe-qos1.cpp
    - condition: (granted_qos[0] == 1)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/mosquitto/test/lib/cpp/02-subscribe-qos1.cpp
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: mosquittopp_test::on_subscribe
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-subscribe-qos1.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    - assert
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_subscribe(int mid, int qos_count, const int
      *granted_qos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1.cpp:53,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1.cpp:55,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1.cpp:57,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1.cpp:59,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1.cpp:62,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 69
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-subscribe-qos1.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-unsubscribe.cpp
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/02-unsubscribe.cpp:24,1
    - Dst: unsubscribe
      Src: /src/mosquitto/test/lib/cpp/02-unsubscribe.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-unsubscribe.cpp
    functionUses: 0
    functionsReached:
    - unsubscribe
    - exit
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-unsubscribe.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/02-unsubscribe.cpp:39,1
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/02-unsubscribe.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mid
    argTypes:
    - int
    assertStmts:
    - condition: (mid == 1)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/mosquitto/test/lib/cpp/02-unsubscribe.cpp
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: mosquittopp_test::on_unsubscribe
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-unsubscribe.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    - assert
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_unsubscribe(int mid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/02-unsubscribe.cpp:51,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/02-unsubscribe.cpp:53,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/02-unsubscribe.cpp:55,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/02-unsubscribe.cpp:57,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/02-unsubscribe.cpp:60,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/02-unsubscribe.cpp:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 67
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-unsubscribe.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-con-discon-success-v5.cpp
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-success-v5.cpp:22,1
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-success-v5.cpp:23,1
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-success-v5.cpp:24,1
    - Dst: mosqpp::property_check_all
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-success-v5.cpp:24,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-success-v5.cpp:27,1
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-success-v5.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - rc
    - flags
    - props
    argTypes:
    - int
    - int
    - mosquitto_property*
    assertStmts:
    - condition: (flags == 0)
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/mosquitto/test/lib/cpp/01-con-discon-success-v5.cpp
    - condition: (props)
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/mosquitto/test/lib/cpp/01-con-discon-success-v5.cpp
    - condition: (mosqpp::property_check_all(CMD_CONNACK, props) == MOSQ_ERR_SUCCESS)
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/mosquitto/test/lib/cpp/01-con-discon-success-v5.cpp
    constantsTouched: []
    func_position:
      end: 31
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 31
    functionName: mosquittopp_test::on_connect_v5
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-con-discon-success-v5.cpp
    functionUses: 0
    functionsReached:
    - exit
    - mosqpp::property_check_all
    - disconnect
    - assert
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect_v5(int rc, int flags, const mosquitto_property
      *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-success-v5.cpp:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rc
    - props
    argTypes:
    - int
    - mosquitto_property*
    assertStmts:
    - condition: (props == NULL)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/mosquitto/test/lib/cpp/01-con-discon-success-v5.cpp
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: mosquittopp_test::on_disconnect_v5
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-con-discon-success-v5.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect_v5(int rc, const mosquitto_property
      *props)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-success-v5.cpp:50,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-success-v5.cpp:52,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-success-v5.cpp:54,1
    - Dst: mosquittopp_test*::int_option
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-success-v5.cpp:55,1
    - Dst: mosquitto_property_add_int32
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-success-v5.cpp:57,1
    - Dst: mosquittopp_test*::connect_v5
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-success-v5.cpp:58,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-success-v5.cpp:59,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-success-v5.cpp:65,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-success-v5.cpp:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-con-discon-success-v5.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::int_option
    - mosquitto_property_add_int32
    - mosquittopp_test*::connect_v5
    - mosquitto_property_free_all
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-receive-maximum.cpp
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-receive-maximum.cpp:26,1
    - Dst: publish_v5
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-receive-maximum.cpp:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-receive-maximum.cpp
    functionUses: 0
    functionsReached:
    - exit
    - publish_v5
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-receive-maximum.cpp:36,1
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-receive-maximum.cpp:37,1
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-receive-maximum.cpp:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mid
    - reason_code
    - properties
    argTypes:
    - int
    - int
    - mosquitto_property*
    assertStmts:
    - condition: (reason_code == 0)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-receive-maximum.cpp
    - condition: (properties == NULL)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-receive-maximum.cpp
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: mosquittopp_test::on_publish_v5
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-receive-maximum.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    - assert
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_publish_v5(int mid, int reason_code, const
      mosquitto_property *properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-receive-maximum.cpp:52,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-receive-maximum.cpp:54,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-receive-maximum.cpp:56,1
    - Dst: mosquittopp_test*::int_option
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-receive-maximum.cpp:57,1
    - Dst: mosquittopp_test*::connect_v5
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-receive-maximum.cpp:59,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-receive-maximum.cpp:62,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-receive-maximum.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 69
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-receive-maximum.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::int_option
    - mosquittopp_test*::connect_v5
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 15
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-keepalive-pingreq.cpp
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/01-keepalive-pingreq.cpp:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-keepalive-pingreq.cpp
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/01-keepalive-pingreq.cpp:33,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/01-keepalive-pingreq.cpp:36,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/01-keepalive-pingreq.cpp:38,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/01-keepalive-pingreq.cpp:40,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/01-keepalive-pingreq.cpp:43,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/01-keepalive-pingreq.cpp:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-keepalive-pingreq.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2.cpp
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2.cpp:28,1
    - Dst: publish
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2.cpp:30,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2.cpp
    functionUses: 0
    functionsReached:
    - exit
    - strlen
    - publish
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2.cpp:43,1
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mid
    argTypes:
    - int
    assertStmts:
    - condition: (mid == sent_mid)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2.cpp
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: mosquittopp_test::on_publish
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    - assert
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_publish(int mid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2.cpp:55,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2.cpp:57,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2.cpp:59,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2.cpp:61,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2.cpp:64,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 71
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-len.cpp
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-len.cpp:28,1
    - Dst: publish
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-len.cpp:30,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-len.cpp:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-len.cpp
    functionUses: 0
    functionsReached:
    - exit
    - strlen
    - publish
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-len.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-len.cpp:43,1
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-len.cpp:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mid
    argTypes:
    - int
    assertStmts:
    - condition: (mid == sent_mid)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-len.cpp
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: mosquittopp_test::on_publish
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-len.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    - assert
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_publish(int mid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-len.cpp:55,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-len.cpp:57,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-len.cpp:59,1
    - Dst: mosquittopp_test*::int_option
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-len.cpp:60,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-len.cpp:62,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-len.cpp:65,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-len.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-len.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::int_option
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-loop.cpp
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop.cpp:31,1
    - Dst: subscribe_v5
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - rc
    - flags
    - properties
    argTypes:
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: mosquittopp_test::on_connect_v5
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-loop.cpp
    functionUses: 0
    functionsReached:
    - exit
    - subscribe_v5
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect_v5(int rc, int flags, const mosquitto_property
      *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rc
    - properties
    argTypes:
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: mosquittopp_test::on_disconnect_v5
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-loop.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect_v5(int rc, const mosquitto_property
      *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: publish_v5
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop.cpp:53,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - mid
    - qos_count
    - granted_qos
    - props
    argTypes:
    - int
    - int
    - int*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: mosquittopp_test::on_subscribe_v5
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-loop.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - publish_v5
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_subscribe_v5(int mid, int qos_count, const
      int *granted_qos, const mosquitto_property *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - properties
    argTypes:
    - struct mosquitto_message*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: mosquittopp_test::on_message_v5
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-loop.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_message_v5(const struct mosquitto_message
      *msg, const mosquitto_property *properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop.cpp:72,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop.cpp:74,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop.cpp:76,1
    - Dst: mosquittopp_test*::int_option
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop.cpp:77,1
    - Dst: mosquittopp_test*::connect_v5
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop.cpp:79,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop.cpp:82,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 89
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-loop.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::int_option
    - mosquittopp_test*::connect_v5
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-con-discon-will.cpp
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will.cpp:23,1
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-con-discon-will.cpp
    functionUses: 0
    functionsReached:
    - exit
    - disconnect
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-con-discon-will.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will.cpp:43,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will.cpp:45,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will.cpp:47,1
    - Dst: mosquittopp_test*::will_set
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will.cpp:50,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will.cpp:50,1
    - Dst: mosquittopp_test*::will_set
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will.cpp:51,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will.cpp:51,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will.cpp:53,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will.cpp:56,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will.cpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 63
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-con-discon-will.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - mosquittopp_test*::will_set
    - atoi
    - strlen
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - id
    - clean_session
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-no-clean-session.cpp
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id, bool clean_session)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/01-no-clean-session.cpp:23,1
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/01-no-clean-session.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-no-clean-session.cpp
    functionUses: 0
    functionsReached:
    - exit
    - disconnect
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-no-clean-session.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/01-no-clean-session.cpp:43,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/01-no-clean-session.cpp:45,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/01-no-clean-session.cpp:47,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/01-no-clean-session.cpp:49,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/01-no-clean-session.cpp:52,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/01-no-clean-session.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-no-clean-session.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp:31,1
    - Dst: subscribe_v5
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - rc
    - flags
    - properties
    argTypes:
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: mosquittopp_test::on_connect_v5
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp
    functionUses: 0
    functionsReached:
    - exit
    - subscribe_v5
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect_v5(int rc, int flags, const mosquitto_property
      *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rc
    - properties
    argTypes:
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: mosquittopp_test::on_disconnect_v5
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect_v5(int rc, const mosquitto_property
      *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: publish_v5
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp:53,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - mid
    - qos_count
    - granted_qos
    - props
    argTypes:
    - int
    - int
    - int*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: mosquittopp_test::on_subscribe_v5
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - publish_v5
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_subscribe_v5(int mid, int qos_count, const
      int *granted_qos, const mosquitto_property *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosqpp::validate_utf8
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp:61,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp:61,1
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - properties
    argTypes:
    - struct mosquitto_message*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: mosquittopp_test::on_message_v5
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - mosqpp::validate_utf8
    - disconnect
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_message_v5(const struct mosquitto_message
      *msg, const mosquitto_property *properties)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mosquittopp_test*::socket
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp:72,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp:74,1
    - Dst: FD_ZERO
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp:77,1
    - Dst: FD_ZERO
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp:78,1
    - Dst: FD_SET
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp:80,1
    - Dst: FD_SET
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp:86,1
    - Dst: mosquittopp_test*::want_write
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp:87,1
    - Dst: FD_SET
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp:88,1
    - Dst: FD_CLR
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp:90,1
    - Dst: select
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp:93,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp:95,1
    - Dst: FD_ISSET
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp:98,1
    - Dst: mosquittopp_test*::loop_read
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp:99,1
    - Dst: FD_ISSET
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp:101,1
    - Dst: mosquittopp_test*::loop_write
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp:102,1
    - Dst: mosquittopp_test*::loop_misc
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp:104,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - mosquittopp_test*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 106
    functionName: do_loop
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp
    functionUses: 1
    functionsReached:
    - FD_ISSET
    - mosquittopp_test*::loop_write
    - mosquittopp_test*::want_write
    - FD_ZERO
    - FD_SET
    - FD_CLR
    - exit
    - mosquittopp_test*::loop_misc
    - mosquittopp_test*::socket
    - mosquittopp_test*::loop_read
    - select
    linkageType: ''
    returnType: void
    signature: void do_loop(mosquittopp_test *mosq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp:116,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp:118,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp:120,1
    - Dst: mosquittopp_test*::int_option
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp:121,1
    - Dst: mosquittopp_test*::connect_v5
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp:123,1
    - Dst: do_loop
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp:125,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 131
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - do_loop
    - mosquittopp_test::mosquittopp_test
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::int_option
    - mosquittopp_test*::connect_v5
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/04-retain-qos0.cpp
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/04-retain-qos0.cpp:26,1
    - Dst: publish
      Src: /src/mosquitto/test/lib/cpp/04-retain-qos0.cpp:28,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/04-retain-qos0.cpp:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/04-retain-qos0.cpp
    functionUses: 0
    functionsReached:
    - exit
    - strlen
    - publish
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/04-retain-qos0.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mid
    argTypes:
    - int
    assertStmts:
    - condition: (mid == sent_mid)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/mosquitto/test/lib/cpp/04-retain-qos0.cpp
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: mosquittopp_test::on_publish
    functionSourceFile: /src/mosquitto/test/lib/cpp/04-retain-qos0.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_publish(int mid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/04-retain-qos0.cpp:47,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/04-retain-qos0.cpp:49,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/04-retain-qos0.cpp:51,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/04-retain-qos0.cpp:53,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/04-retain-qos0.cpp:56,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/04-retain-qos0.cpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 63
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/04-retain-qos0.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-will-set.cpp
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/01-will-set.cpp:23,1
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/01-will-set.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-will-set.cpp
    functionUses: 0
    functionsReached:
    - exit
    - disconnect
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-will-set.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/01-will-set.cpp:43,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/01-will-set.cpp:45,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/01-will-set.cpp:47,1
    - Dst: mosquittopp_test*::will_set
      Src: /src/mosquitto/test/lib/cpp/01-will-set.cpp:48,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/01-will-set.cpp:48,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/01-will-set.cpp:50,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/01-will-set.cpp:53,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/01-will-set.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 60
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-will-set.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - mosquittopp_test*::will_set
    - atoi
    - strlen
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:9,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:10,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:12,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:14,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:17,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - topic
    - topics
    - topic_count
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 18
    functionName: print_error
    functionSourceFile: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_error(const char *topic, char **topics, int topic_count)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mosqpp::sub_topic_tokenise
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:29,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:30,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:33,1
    - Dst: print_error
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:34,1
    - Dst: mosqpp::sub_topic_tokens_free
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:37,1
    - Dst: mosqpp::sub_topic_tokenise
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:39,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:40,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:44,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:45,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:46,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:47,1
    - Dst: print_error
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:48,1
    - Dst: mosqpp::sub_topic_tokens_free
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:51,1
    - Dst: mosqpp::sub_topic_tokenise
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:53,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:54,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:59,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:60,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:61,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:62,1
    - Dst: print_error
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:63,1
    - Dst: mosqpp::sub_topic_tokens_free
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:66,1
    - Dst: mosqpp::sub_topic_tokenise
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:68,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:69,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:73,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:74,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:75,1
    - Dst: print_error
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:76,1
    - Dst: mosqpp::sub_topic_tokens_free
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:79,1
    - Dst: mosqpp::sub_topic_tokenise
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:81,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:82,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:87,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:88,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:89,1
    - Dst: print_error
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:90,1
    - Dst: mosqpp::sub_topic_tokens_free
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:93,1
    - Dst: mosqpp::sub_topic_tokenise
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:95,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:96,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:100,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:103,1
    - Dst: print_error
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:104,1
    - Dst: mosqpp::sub_topic_tokens_free
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:107,1
    - Dst: mosqpp::sub_topic_tokenise
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:109,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:110,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:115,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:118,1
    - Dst: print_error
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:119,1
    - Dst: mosqpp::sub_topic_tokens_free
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:122,1
    - Dst: mosqpp::sub_topic_tokenise
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:124,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:125,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:130,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:133,1
    - Dst: print_error
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:135,1
    - Dst: mosqpp::sub_topic_tokens_free
      Src: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp:138,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 76
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 141
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp
    functionUses: 95
    functionsReached:
    - print_error
    - mosqpp::sub_topic_tokenise
    - printf
    - strcmp
    - mosqpp::sub_topic_tokens_free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/11-prop-oversize-packet.cpp
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/11-prop-oversize-packet.cpp:25,1
    - Dst: subscribe
      Src: /src/mosquitto/test/lib/cpp/11-prop-oversize-packet.cpp:27,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/11-prop-oversize-packet.cpp:29,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/11-prop-oversize-packet.cpp:30,1
    - Dst: unsubscribe
      Src: /src/mosquitto/test/lib/cpp/11-prop-oversize-packet.cpp:33,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/11-prop-oversize-packet.cpp:35,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/11-prop-oversize-packet.cpp:36,1
    - Dst: publish
      Src: /src/mosquitto/test/lib/cpp/11-prop-oversize-packet.cpp:39,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/11-prop-oversize-packet.cpp:39,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/11-prop-oversize-packet.cpp:41,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/11-prop-oversize-packet.cpp:42,1
    - Dst: publish
      Src: /src/mosquitto/test/lib/cpp/11-prop-oversize-packet.cpp:44,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/11-prop-oversize-packet.cpp:44,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/11-prop-oversize-packet.cpp:46,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/11-prop-oversize-packet.cpp:47,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 51
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/11-prop-oversize-packet.cpp
    functionUses: 0
    functionsReached:
    - unsubscribe
    - exit
    - strlen
    - printf
    - subscribe
    - publish
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/11-prop-oversize-packet.cpp:57,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/11-prop-oversize-packet.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - mid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: mosquittopp_test::on_publish
    functionSourceFile: /src/mosquitto/test/lib/cpp/11-prop-oversize-packet.cpp
    functionUses: 0
    functionsReached:
    - exit
    - disconnect
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_publish(int mid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/11-prop-oversize-packet.cpp:72,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/11-prop-oversize-packet.cpp:74,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/11-prop-oversize-packet.cpp:76,1
    - Dst: mosquittopp_test*::int_option
      Src: /src/mosquitto/test/lib/cpp/11-prop-oversize-packet.cpp:77,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/11-prop-oversize-packet.cpp:79,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/11-prop-oversize-packet.cpp:82,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/11-prop-oversize-packet.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 89
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/11-prop-oversize-packet.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::int_option
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-qos0.cpp
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-qos0.cpp:24,1
    - Dst: publish
      Src: /src/mosquitto/test/lib/cpp/03-publish-qos0.cpp:26,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/03-publish-qos0.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-qos0.cpp
    functionUses: 0
    functionsReached:
    - exit
    - strlen
    - publish
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/03-publish-qos0.cpp:34,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-qos0.cpp:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - mid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: mosquittopp_test::on_publish
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-qos0.cpp
    functionUses: 0
    functionsReached:
    - exit
    - disconnect
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_publish(int mid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/03-publish-qos0.cpp:49,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/03-publish-qos0.cpp:51,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/03-publish-qos0.cpp:53,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/03-publish-qos0.cpp:55,1
    - Dst: mosquittopp_test*::loop_forever
      Src: /src/mosquitto/test/lib/cpp/03-publish-qos0.cpp:57,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/03-publish-qos0.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 63
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-qos0.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::loop_forever
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1-unexpected-puback.cpp
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1-unexpected-puback.cpp:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1-unexpected-puback.cpp
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1-unexpected-puback.cpp:36,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1-unexpected-puback.cpp:38,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1-unexpected-puback.cpp:40,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1-unexpected-puback.cpp:42,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1-unexpected-puback.cpp:45,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1-unexpected-puback.cpp:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1-unexpected-puback.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/11-prop-send-content-type.cpp
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/11-prop-send-content-type.cpp:25,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/lib/cpp/11-prop-send-content-type.cpp:28,1
    - Dst: abort
      Src: /src/mosquitto/test/lib/cpp/11-prop-send-content-type.cpp:30,1
    - Dst: publish_v5
      Src: /src/mosquitto/test/lib/cpp/11-prop-send-content-type.cpp:32,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/11-prop-send-content-type.cpp:32,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/lib/cpp/11-prop-send-content-type.cpp:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 36
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/11-prop-send-content-type.cpp
    functionUses: 0
    functionsReached:
    - abort
    - exit
    - strlen
    - publish_v5
    - mosquitto_property_add_string
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/11-prop-send-content-type.cpp:42,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/11-prop-send-content-type.cpp:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - mid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: mosquittopp_test::on_publish
    functionSourceFile: /src/mosquitto/test/lib/cpp/11-prop-send-content-type.cpp
    functionUses: 0
    functionsReached:
    - exit
    - disconnect
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_publish(int mid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/11-prop-send-content-type.cpp:57,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/11-prop-send-content-type.cpp:59,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/11-prop-send-content-type.cpp:61,1
    - Dst: mosquittopp_test*::int_option
      Src: /src/mosquitto/test/lib/cpp/11-prop-send-content-type.cpp:62,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/11-prop-send-content-type.cpp:64,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/11-prop-send-content-type.cpp:67,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/11-prop-send-content-type.cpp:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/11-prop-send-content-type.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::int_option
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-extended-auth-failure.cpp
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-failure.cpp:24,1
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-failure.cpp:25,1
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-failure.cpp:26,1
    - Dst: mosqpp::property_check_all
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-failure.cpp:26,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-failure.cpp:29,1
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-failure.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - rc
    - flags
    - props
    argTypes:
    - int
    - int
    - mosquitto_property*
    assertStmts:
    - condition: (flags == 0)
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/mosquitto/test/lib/cpp/01-extended-auth-failure.cpp
    - condition: (props)
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/mosquitto/test/lib/cpp/01-extended-auth-failure.cpp
    - condition: (mosqpp::property_check_all(CMD_CONNACK, props) == MOSQ_ERR_SUCCESS)
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/mosquitto/test/lib/cpp/01-extended-auth-failure.cpp
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: mosquittopp_test::on_connect_v5
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-extended-auth-failure.cpp
    functionUses: 0
    functionsReached:
    - exit
    - mosqpp::property_check_all
    - disconnect
    - assert
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect_v5(int rc, int flags, const mosquitto_property
      *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-failure.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rc
    - props
    argTypes:
    - int
    - mosquitto_property*
    assertStmts:
    - condition: (props == NULL)
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/mosquitto/test/lib/cpp/01-extended-auth-failure.cpp
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: mosquittopp_test::on_disconnect_v5
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-extended-auth-failure.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect_v5(int rc, const mosquitto_property
      *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - auth_method
    - auth_data_len
    - auth_data
    - props
    argTypes:
    - char*
    - uint16_t
    - void*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: mosquittopp_test::on_ext_auth
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-extended-auth-failure.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquittopp_test::on_ext_auth(const char *auth_method, uint16_t
      auth_data_len, const void *auth_data, const mosquitto_property *props)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-failure.cpp:62,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-failure.cpp:64,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-failure.cpp:66,1
    - Dst: mosquittopp_test*::int_option
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-failure.cpp:67,1
    - Dst: mosquitto_property_add_int32
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-failure.cpp:69,1
    - Dst: mosquittopp_test*::connect_v5
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-failure.cpp:70,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-failure.cpp:71,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-failure.cpp:77,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-failure.cpp:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 84
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-extended-auth-failure.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::int_option
    - mosquitto_property_add_int32
    - mosquittopp_test*::connect_v5
    - mosquitto_property_free_all
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-request-response-correlation-1.cpp
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-request-response-correlation-1.cpp:29,1
    - Dst: subscribe
      Src: /src/mosquitto/test/lib/cpp/03-request-response-correlation-1.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-request-response-correlation-1.cpp
    functionUses: 0
    functionsReached:
    - exit
    - subscribe
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/mosquitto/test/lib/cpp/03-request-response-correlation-1.cpp:44,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/lib/cpp/03-request-response-correlation-1.cpp:47,1
    - Dst: mosquitto_property_add_binary
      Src: /src/mosquitto/test/lib/cpp/03-request-response-correlation-1.cpp:48,1
    - Dst: abort
      Src: /src/mosquitto/test/lib/cpp/03-request-response-correlation-1.cpp:49,1
    - Dst: publish_v5
      Src: /src/mosquitto/test/lib/cpp/03-request-response-correlation-1.cpp:51,1
    - Dst: abort
      Src: /src/mosquitto/test/lib/cpp/03-request-response-correlation-1.cpp:53,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/lib/cpp/03-request-response-correlation-1.cpp:55,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - mid
    - qos_count
    - granted_qos
    argTypes:
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 56
    functionName: mosquittopp_test::on_subscribe
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-request-response-correlation-1.cpp
    functionUses: 0
    functionsReached:
    - abort
    - publish_v5
    - mosquitto_property_add_string
    - mosquitto_property_free_all
    - mosquitto_property_add_binary
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_subscribe(int mid, int qos_count, const int
      *granted_qos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/03-request-response-correlation-1.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct mosquitto_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: mosquittopp_test::on_message
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-request-response-correlation-1.cpp
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_message(const struct mosquitto_message *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/03-request-response-correlation-1.cpp:76,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/03-request-response-correlation-1.cpp:78,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/03-request-response-correlation-1.cpp:80,1
    - Dst: mosquittopp_test*::int_option
      Src: /src/mosquitto/test/lib/cpp/03-request-response-correlation-1.cpp:81,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/03-request-response-correlation-1.cpp:83,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/03-request-response-correlation-1.cpp:86,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/03-request-response-correlation-1.cpp:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 93
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-request-response-correlation-1.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::int_option
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp:24,1
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp:25,1
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp:26,1
    - Dst: mosqpp::property_check_all
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp:26,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp:29,1
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - rc
    - flags
    - props
    argTypes:
    - int
    - int
    - mosquitto_property*
    assertStmts:
    - condition: (flags == 0)
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp
    - condition: (props)
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp
    - condition: (mosqpp::property_check_all(CMD_CONNACK, props) == MOSQ_ERR_SUCCESS)
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: mosquittopp_test::on_connect_v5
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp
    functionUses: 0
    functionsReached:
    - exit
    - mosqpp::property_check_all
    - disconnect
    - assert
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect_v5(int rc, int flags, const mosquitto_property
      *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rc
    - props
    argTypes:
    - int
    - mosquitto_property*
    assertStmts:
    - condition: (props == NULL)
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: mosquittopp_test::on_disconnect_v5
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect_v5(int rc, const mosquitto_property
      *props)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp:45,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp:47,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp:51,1
    - Dst: ext_auth_continue
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp:55,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - auth_method
    - auth_data_len
    - auth_data
    - props
    argTypes:
    - char*
    - uint16_t
    - void*
    - mosquitto_property*
    assertStmts:
    - condition: (props != NULL)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp
    constantsTouched: []
    func_position:
      end: 56
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 56
    functionName: mosquittopp_test::on_ext_auth
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - ext_auth_continue
    - strcmp
    - assert
    linkageType: ''
    returnType: int
    signature: int mosquittopp_test::on_ext_auth(const char *auth_method, uint16_t
      auth_data_len, const void *auth_data, const mosquitto_property *props)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp:68,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp:70,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp:72,1
    - Dst: mosquittopp_test*::int_option
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp:73,1
    - Dst: mosquitto_property_add_int32
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp:75,1
    - Dst: mosquittopp_test*::connect_v5
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp:76,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp:77,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp:83,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 90
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::int_option
    - mosquitto_property_add_int32
    - mosquittopp_test*::connect_v5
    - mosquitto_property_free_all
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 15
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-server-keepalive-pingreq.cpp
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/01-server-keepalive-pingreq.cpp:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-server-keepalive-pingreq.cpp
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/01-server-keepalive-pingreq.cpp:33,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/01-server-keepalive-pingreq.cpp:36,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/01-server-keepalive-pingreq.cpp:38,1
    - Dst: mosquittopp_test*::int_option
      Src: /src/mosquitto/test/lib/cpp/01-server-keepalive-pingreq.cpp:39,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/01-server-keepalive-pingreq.cpp:41,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/01-server-keepalive-pingreq.cpp:44,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/01-server-keepalive-pingreq.cpp:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-server-keepalive-pingreq.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::int_option
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-subscribe-qos0.cpp
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos0.cpp:24,1
    - Dst: subscribe
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos0.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-subscribe-qos0.cpp
    functionUses: 0
    functionsReached:
    - exit
    - subscribe
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-subscribe-qos0.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos0.cpp:39,1
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos0.cpp:40,1
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos0.cpp:41,1
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos0.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mid
    - qos_count
    - granted_qos
    argTypes:
    - int
    - int
    - int*
    assertStmts:
    - condition: (mid == 1)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/mosquitto/test/lib/cpp/02-subscribe-qos0.cpp
    - condition: (qos_count == 1)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/mosquitto/test/lib/cpp/02-subscribe-qos0.cpp
    - condition: (granted_qos[0] == 0)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/mosquitto/test/lib/cpp/02-subscribe-qos0.cpp
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: mosquittopp_test::on_subscribe
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-subscribe-qos0.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    - assert
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_subscribe(int mid, int qos_count, const int
      *granted_qos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos0.cpp:53,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos0.cpp:55,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos0.cpp:57,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos0.cpp:59,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos0.cpp:62,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos0.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 69
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-subscribe-qos0.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubcomp.cpp
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubcomp.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubcomp.cpp
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubcomp.cpp:37,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubcomp.cpp:39,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubcomp.cpp:41,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubcomp.cpp:43,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubcomp.cpp:46,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubcomp.cpp:48,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubcomp.cpp:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 55
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubcomp.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - exit
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-pre-connect-callback.cpp
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: username_pw_set
      Src: /src/mosquitto/test/lib/cpp/01-pre-connect-callback.cpp:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: mosquittopp_test::on_pre_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-pre-connect-callback.cpp
    functionUses: 0
    functionsReached:
    - username_pw_set
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_pre_connect()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/01-pre-connect-callback.cpp:29,1
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/01-pre-connect-callback.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-pre-connect-callback.cpp
    functionUses: 0
    functionsReached:
    - exit
    - disconnect
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-pre-connect-callback.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/01-pre-connect-callback.cpp:49,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/01-pre-connect-callback.cpp:51,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/01-pre-connect-callback.cpp:53,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/01-pre-connect-callback.cpp:55,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/01-pre-connect-callback.cpp:58,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/01-pre-connect-callback.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 65
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-pre-connect-callback.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-subscribe-qos2.cpp
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos2.cpp:24,1
    - Dst: subscribe_v5
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos2.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-subscribe-qos2.cpp
    functionUses: 0
    functionsReached:
    - exit
    - subscribe_v5
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-subscribe-qos2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos2.cpp:39,1
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos2.cpp:40,1
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos2.cpp:41,1
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos2.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mid
    - qos_count
    - granted_qos
    argTypes:
    - int
    - int
    - int*
    assertStmts:
    - condition: (mid == 1)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/mosquitto/test/lib/cpp/02-subscribe-qos2.cpp
    - condition: (granted_qos[0] == 2)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/mosquitto/test/lib/cpp/02-subscribe-qos2.cpp
    - condition: (qos_count == 1)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/mosquitto/test/lib/cpp/02-subscribe-qos2.cpp
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: mosquittopp_test::on_subscribe
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-subscribe-qos2.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    - assert
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_subscribe(int mid, int qos_count, const int
      *granted_qos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos2.cpp:53,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos2.cpp:55,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos2.cpp:57,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos2.cpp:59,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos2.cpp:62,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos2.cpp:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 69
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-subscribe-qos2.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 15
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-fake-cacert.cpp
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/08-ssl-fake-cacert.cpp:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-fake-cacert.cpp
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/08-ssl-fake-cacert.cpp:33,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/08-ssl-fake-cacert.cpp:35,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/08-ssl-fake-cacert.cpp:37,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/cpp/08-ssl-fake-cacert.cpp:40,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/cpp/08-ssl-fake-cacert.cpp:42,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/cpp/08-ssl-fake-cacert.cpp:44,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/cpp/08-ssl-fake-cacert.cpp:46,1
    - Dst: mosquittopp_test*::tls_set
      Src: /src/mosquitto/test/lib/cpp/08-ssl-fake-cacert.cpp:48,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/08-ssl-fake-cacert.cpp:49,1
    - Dst: mosquittopp_test*::loop_forever
      Src: /src/mosquitto/test/lib/cpp/08-ssl-fake-cacert.cpp:51,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/08-ssl-fake-cacert.cpp:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-fake-cacert.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::loop_forever
    - mosquittopp_test*::connect
    - cat_sourcedir_with_relpath
    - mosquittopp_test*::tls_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-con-discon-will-v5.cpp
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will-v5.cpp:23,1
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will-v5.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-con-discon-will-v5.cpp
    functionUses: 0
    functionsReached:
    - exit
    - disconnect
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-con-discon-will-v5.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will-v5.cpp:45,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will-v5.cpp:47,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will-v5.cpp:49,1
    - Dst: mosquittopp_test*::int_option
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will-v5.cpp:50,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will-v5.cpp:52,1
    - Dst: abort
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will-v5.cpp:54,1
    - Dst: mosquittopp_test*::will_set_v5
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will-v5.cpp:57,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will-v5.cpp:57,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will-v5.cpp:59,1
    - Dst: abort
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will-v5.cpp:61,1
    - Dst: mosquittopp_test*::will_set_v5
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will-v5.cpp:63,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will-v5.cpp:63,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will-v5.cpp:65,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will-v5.cpp:68,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-will-v5.cpp:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-con-discon-will-v5.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - mosquitto_property_add_byte
    - atoi
    - abort
    - mosquittopp_test*::int_option
    - strlen
    - mosquittopp_test*::connect
    - mosquittopp_test*::will_set_v5
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth.cpp
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth.cpp:23,1
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth.cpp
    functionUses: 0
    functionsReached:
    - exit
    - disconnect
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth.cpp:43,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth.cpp:45,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth.cpp:47,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth.cpp:50,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth.cpp:52,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth.cpp:54,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth.cpp:56,1
    - Dst: mosquittopp_test*::tls_set
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth.cpp:57,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth.cpp:58,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth.cpp:61,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth.cpp:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 68
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::connect
    - cat_sourcedir_with_relpath
    - mosquittopp_test*::tls_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async2.cpp
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async2.cpp:32,1
    - Dst: subscribe
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async2.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async2.cpp
    functionUses: 0
    functionsReached:
    - exit
    - subscribe
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async2.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async2.cpp:47,1
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async2.cpp:48,1
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async2.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mid
    - qos_count
    - granted_qos
    argTypes:
    - int
    - int
    - int*
    assertStmts:
    - condition: (mid == 1)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async2.cpp
    - condition: (granted_qos[0] == QOS)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async2.cpp
    - condition: (qos_count == 1)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async2.cpp
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: mosquittopp_test::on_subscribe
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async2.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_subscribe(int mid, int qos_count, const int
      *granted_qos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async2.cpp:63,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async2.cpp:65,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async2.cpp:67,1
    - Dst: nanosleep
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async2.cpp:70,1
    - Dst: mosquittopp_test*::connect_async
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async2.cpp:72,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async2.cpp:74,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async2.cpp:74,1
    - Dst: mosquittopp_test*::loop_start
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async2.cpp:78,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async2.cpp:80,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async2.cpp:80,1
    - Dst: nanosleep
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async2.cpp:87,1
    - Dst: mosquittopp_test*::disconnect
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async2.cpp:90,1
    - Dst: mosquittopp_test*::loop_stop
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async2.cpp:91,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async2.cpp:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 96
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async2.cpp
    functionUses: 95
    functionsReached:
    - mosquittopp_test*::disconnect
    - mosqpp::lib_init
    - mosquittopp_test*::connect_async
    - mosquittopp_test::mosquittopp_test
    - mosqpp::lib_cleanup
    - mosquittopp_test*::loop_stop
    - mosquittopp_test*::loop_start
    - nanosleep
    - atoi
    - mosquitto_strerror
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-unpwd-set.cpp
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/01-unpwd-set.cpp:23,1
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/01-unpwd-set.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-unpwd-set.cpp
    functionUses: 0
    functionsReached:
    - exit
    - disconnect
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-unpwd-set.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/01-unpwd-set.cpp:43,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/01-unpwd-set.cpp:45,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/01-unpwd-set.cpp:47,1
    - Dst: mosquittopp_test*::username_pw_set
      Src: /src/mosquitto/test/lib/cpp/01-unpwd-set.cpp:48,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/01-unpwd-set.cpp:50,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/01-unpwd-set.cpp:53,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/01-unpwd-set.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 60
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-unpwd-set.cpp
    functionUses: 95
    functionsReached:
    - mosquittopp_test*::username_pw_set
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-loop-forever.cpp
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-forever.cpp:31,1
    - Dst: subscribe_v5
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-forever.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - rc
    - flags
    - properties
    argTypes:
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: mosquittopp_test::on_connect_v5
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-loop-forever.cpp
    functionUses: 0
    functionsReached:
    - exit
    - subscribe_v5
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect_v5(int rc, int flags, const mosquitto_property
      *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rc
    - properties
    argTypes:
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: mosquittopp_test::on_disconnect_v5
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-loop-forever.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect_v5(int rc, const mosquitto_property
      *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: publish_v5
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-forever.cpp:53,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-forever.cpp:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - mid
    - qos_count
    - granted_qos
    - props
    argTypes:
    - int
    - int
    - int*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: mosquittopp_test::on_subscribe_v5
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-loop-forever.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - publish_v5
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_subscribe_v5(int mid, int qos_count, const
      int *granted_qos, const mosquitto_property *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-forever.cpp:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - properties
    argTypes:
    - struct mosquitto_message*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: mosquittopp_test::on_message_v5
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-loop-forever.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_message_v5(const struct mosquitto_message
      *msg, const mosquitto_property *properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-forever.cpp:72,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-forever.cpp:74,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-forever.cpp:76,1
    - Dst: mosquittopp_test*::int_option
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-forever.cpp:77,1
    - Dst: mosquittopp_test*::connect_v5
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-forever.cpp:79,1
    - Dst: mosquittopp_test*::loop_forever
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-forever.cpp:81,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-forever.cpp:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-loop-forever.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::int_option
    - mosquittopp_test*::loop_forever
    - mosquittopp_test*::connect_v5
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-connect-no-auth.cpp
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-no-auth.cpp:23,1
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-no-auth.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-connect-no-auth.cpp
    functionUses: 0
    functionsReached:
    - exit
    - disconnect
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-connect-no-auth.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-no-auth.cpp:43,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-no-auth.cpp:45,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-no-auth.cpp:47,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-no-auth.cpp:50,1
    - Dst: mosquittopp_test*::tls_set
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-no-auth.cpp:51,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-no-auth.cpp:52,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-no-auth.cpp:55,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-no-auth.cpp:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 62
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-connect-no-auth.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::connect
    - cat_sourcedir_with_relpath
    - mosquittopp_test*::tls_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - signal
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 13
    functionName: handle_sigint
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx-default.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void handle_sigint(int signal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx-default.cpp
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx-default.cpp:32,1
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx-default.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx-default.cpp
    functionUses: 0
    functionsReached:
    - exit
    - disconnect
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx-default.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx-default.cpp:52,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx-default.cpp:54,1
    - Dst: OPENSSL_init_crypto
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx-default.cpp:56,1
    - Dst: SSL_CTX_new
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx-default.cpp:59,1
    - Dst: TLS_client_method
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx-default.cpp:59,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx-default.cpp:61,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx-default.cpp:64,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx-default.cpp:66,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx-default.cpp:68,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx-default.cpp:70,1
    - Dst: mosquittopp_test*::tls_set
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx-default.cpp:72,1
    - Dst: mosquittopp_test*::int_option
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx-default.cpp:74,1
    - Dst: mosquittopp_test*::void_option
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx-default.cpp:75,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx-default.cpp:77,1
    - Dst: signal
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx-default.cpp:79,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx-default.cpp:81,1
    - Dst: SSL_CTX_free
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx-default.cpp:83,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx-default.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 89
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx-default.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - SSL_CTX_free
    - mosquittopp_test::mosquittopp_test
    - SSL_CTX_new
    - mosquittopp_test*::void_option
    - mosquittopp_test*::loop
    - OPENSSL_init_crypto
    - mosqpp::lib_cleanup
    - TLS_client_method
    - atoi
    - mosquittopp_test*::int_option
    - signal
    - mosquittopp_test*::connect
    - cat_sourcedir_with_relpath
    - mosquittopp_test*::tls_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-helper-simple-qos2.cpp:15,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-helper-simple-qos2.cpp:17,1
    - Dst: mosqpp::subscribe_simple
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-helper-simple-qos2.cpp:19,1
    - Dst: mosquitto_message_free
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-helper-simple-qos2.cpp:24,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-helper-simple-qos2.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 7
    functionDepth: 1
    functionLinenumber: 7
    functionLinenumberEnd: 28
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-subscribe-helper-simple-qos2.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosqpp::lib_cleanup
    - atoi
    - mosqpp::subscribe_simple
    - mosquitto_message_free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-request-response-1.cpp
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-request-response-1.cpp:29,1
    - Dst: subscribe
      Src: /src/mosquitto/test/lib/cpp/03-request-response-1.cpp:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-request-response-1.cpp
    functionUses: 0
    functionsReached:
    - exit
    - subscribe
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/mosquitto/test/lib/cpp/03-request-response-1.cpp:42,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/lib/cpp/03-request-response-1.cpp:45,1
    - Dst: abort
      Src: /src/mosquitto/test/lib/cpp/03-request-response-1.cpp:46,1
    - Dst: publish_v5
      Src: /src/mosquitto/test/lib/cpp/03-request-response-1.cpp:48,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/lib/cpp/03-request-response-1.cpp:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - mid
    - qos_count
    - granted_qos
    argTypes:
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: mosquittopp_test::on_subscribe
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-request-response-1.cpp
    functionUses: 0
    functionsReached:
    - publish_v5
    - mosquitto_property_add_string
    - mosquitto_property_free_all
    - abort
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_subscribe(int mid, int qos_count, const int
      *granted_qos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/03-request-response-1.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct mosquitto_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: mosquittopp_test::on_message
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-request-response-1.cpp
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_message(const struct mosquitto_message *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/03-request-response-1.cpp:70,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/03-request-response-1.cpp:72,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/03-request-response-1.cpp:74,1
    - Dst: mosquittopp_test*::int_option
      Src: /src/mosquitto/test/lib/cpp/03-request-response-1.cpp:75,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/03-request-response-1.cpp:77,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/03-request-response-1.cpp:80,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/03-request-response-1.cpp:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-request-response-1.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::int_option
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-con-discon-success.cpp
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-success.cpp:23,1
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-success.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-con-discon-success.cpp
    functionUses: 0
    functionsReached:
    - exit
    - disconnect
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-con-discon-success.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-success.cpp:43,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-success.cpp:45,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-success.cpp:47,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-success.cpp:49,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-success.cpp:52,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/01-con-discon-success.cpp:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-con-discon-success.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-0.cpp
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-0.cpp:26,1
    - Dst: publish
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-0.cpp:28,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-0.cpp:28,1
    - Dst: publish
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-0.cpp:32,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-0.cpp:32,1
    - Dst: publish
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-0.cpp:36,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-0.cpp:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 41
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-0.cpp
    functionUses: 0
    functionsReached:
    - exit
    - strlen
    - publish
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-0.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-0.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: mosquittopp_test::on_publish
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-0.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_publish(int mid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-0.cpp:65,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-0.cpp:67,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-0.cpp:69,1
    - Dst: mosquittopp_test*::int_option
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-0.cpp:70,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-0.cpp:72,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-0.cpp:75,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-0.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-0.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::int_option
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/11-prop-recv.cpp
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/11-prop-recv.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/11-prop-recv.cpp
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_read_string
      Src: /src/mosquitto/test/lib/cpp/11-prop-recv.cpp:37,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/11-prop-recv.cpp:38,1
    - Dst: free
      Src: /src/mosquitto/test/lib/cpp/11-prop-recv.cpp:39,1
    - Dst: mosquitto_property_read_string
      Src: /src/mosquitto/test/lib/cpp/11-prop-recv.cpp:42,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/11-prop-recv.cpp:43,1
    - Dst: free
      Src: /src/mosquitto/test/lib/cpp/11-prop-recv.cpp:44,1
    - Dst: publish
      Src: /src/mosquitto/test/lib/cpp/11-prop-recv.cpp:48,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/11-prop-recv.cpp:58,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - msg
    - properties
    argTypes:
    - struct mosquitto_message*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 59
    functionName: mosquittopp_test::on_message_v5
    functionSourceFile: /src/mosquitto/test/lib/cpp/11-prop-recv.cpp
    functionUses: 0
    functionsReached:
    - exit
    - strcmp
    - free
    - publish
    - mosquitto_property_read_string
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_message_v5(const struct mosquitto_message
      *msg, const mosquitto_property *properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/11-prop-recv.cpp:67,1
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/11-prop-recv.cpp:68,1
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/11-prop-recv.cpp:69,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/11-prop-recv.cpp:71,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/11-prop-recv.cpp:73,1
    - Dst: mosquittopp_test*::int_option
      Src: /src/mosquitto/test/lib/cpp/11-prop-recv.cpp:74,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/11-prop-recv.cpp:76,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/11-prop-recv.cpp:79,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/11-prop-recv.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (argc == 3)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/mosquitto/test/lib/cpp/11-prop-recv.cpp
    constantsTouched: []
    func_position:
      end: 89
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 89
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/11-prop-recv.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - assert
    - mosquittopp_test*::int_option
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-connect-san.cpp
    functionUses: 43
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-san.cpp:25,1
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-san.cpp:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-connect-san.cpp
    functionUses: 0
    functionsReached:
    - exit
    - disconnect
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-connect-san.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-san.cpp:43,1
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-san.cpp:44,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-san.cpp:47,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-san.cpp:49,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-san.cpp:51,1
    - Dst: mosquittopp_test*::tls_set
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-san.cpp:52,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-san.cpp:53,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-san.cpp:59,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-san.cpp:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (argc == 3)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/mosquitto/test/lib/cpp/08-ssl-connect-san.cpp
    constantsTouched: []
    func_position:
      end: 66
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 66
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-connect-san.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - assert
    - mosquittopp_test*::connect
    - cat_sourcedir_with_relpath
    - mosquittopp_test*::tls_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async1.cpp
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async1.cpp:32,1
    - Dst: subscribe
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async1.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async1.cpp
    functionUses: 0
    functionsReached:
    - exit
    - subscribe
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async1.cpp:47,1
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async1.cpp:48,1
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async1.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mid
    - qos_count
    - granted_qos
    argTypes:
    - int
    - int
    - int*
    assertStmts:
    - condition: (mid == 1)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async1.cpp
    - condition: (qos_count == 1)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async1.cpp
    - condition: (granted_qos[0] == QOS)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async1.cpp
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: mosquittopp_test::on_subscribe
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async1.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_subscribe(int mid, int qos_count, const int
      *granted_qos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async1.cpp:62,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async1.cpp:64,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async1.cpp:66,1
    - Dst: mosquittopp_test*::loop_start
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async1.cpp:68,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async1.cpp:70,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async1.cpp:70,1
    - Dst: mosquittopp_test*::connect_async
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async1.cpp:74,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async1.cpp:76,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async1.cpp:76,1
    - Dst: nanosleep
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async1.cpp:83,1
    - Dst: mosquittopp_test*::disconnect
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async1.cpp:86,1
    - Dst: mosquittopp_test*::loop_stop
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async1.cpp:87,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async1.cpp:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 92
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async1.cpp
    functionUses: 95
    functionsReached:
    - mosquittopp_test*::disconnect
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::connect_async
    - mosqpp::lib_cleanup
    - mosquittopp_test*::loop_stop
    - mosquittopp_test*::loop_start
    - nanosleep
    - atoi
    - mosquitto_strerror
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2.cpp
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2.cpp
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2.cpp:34,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2.cpp:35,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2.cpp:38,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2.cpp:39,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2.cpp:41,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2.cpp:42,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2.cpp:43,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2.cpp:45,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2.cpp:46,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2.cpp:47,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2.cpp:50,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2.cpp:51,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2.cpp:54,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2.cpp:55,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct mosquitto_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 59
    functionName: mosquittopp_test::on_message
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2.cpp
    functionUses: 0
    functionsReached:
    - exit
    - printf
    - strcmp
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_message(const struct mosquitto_message *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2.cpp:69,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2.cpp:71,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2.cpp:73,1
    - Dst: mosquittopp_test*::message_retry_set
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2.cpp:74,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2.cpp:76,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2.cpp:79,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2.cpp:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 86
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - mosquittopp_test*::message_retry_set
    - atoi
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-enc.cpp:13,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-enc.cpp:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - userdata
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 17
    functionName: password_callback
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-enc.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - strncpy
    linkageType: ''
    returnType: int
    signature: int password_callback(char *buf, int size, int rwflag, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-enc.cpp
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-enc.cpp:36,1
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-enc.cpp:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-enc.cpp
    functionUses: 0
    functionsReached:
    - exit
    - disconnect
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-enc.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-enc.cpp:56,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-enc.cpp:58,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-enc.cpp:60,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-enc.cpp:63,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-enc.cpp:65,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-enc.cpp:67,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-enc.cpp:69,1
    - Dst: mosquittopp_test*::tls_set
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-enc.cpp:71,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-enc.cpp:72,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-enc.cpp:75,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-enc.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 82
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-enc.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::connect
    - cat_sourcedir_with_relpath
    - mosquittopp_test*::tls_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-disconnect.cpp
    functionUses: 47
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-disconnect.cpp:28,1
    - Dst: publish
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-disconnect.cpp:31,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-disconnect.cpp:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-disconnect.cpp
    functionUses: 0
    functionsReached:
    - exit
    - strlen
    - publish
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reconnect
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-disconnect.cpp:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-disconnect.cpp
    functionUses: 0
    functionsReached:
    - reconnect
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-disconnect.cpp:50,1
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-disconnect.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mid
    argTypes:
    - int
    assertStmts:
    - condition: (mid == 1)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-disconnect.cpp
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: mosquittopp_test::on_publish
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-disconnect.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    - assert
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_publish(int mid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-disconnect.cpp:62,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-disconnect.cpp:64,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-disconnect.cpp:66,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-disconnect.cpp:68,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-disconnect.cpp:71,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-disconnect.cpp:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 78
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-disconnect.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-receive-maximum.cpp
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-receive-maximum.cpp:26,1
    - Dst: publish_v5
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-receive-maximum.cpp:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-receive-maximum.cpp
    functionUses: 0
    functionsReached:
    - exit
    - publish_v5
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-receive-maximum.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-receive-maximum.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: mosquittopp_test::on_publish
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-receive-maximum.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_publish(int mid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-receive-maximum.cpp:56,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-receive-maximum.cpp:58,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-receive-maximum.cpp:60,1
    - Dst: mosquittopp_test*::int_option
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-receive-maximum.cpp:61,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-receive-maximum.cpp:63,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-receive-maximum.cpp:66,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-receive-maximum.cpp:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-receive-maximum.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::int_option
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-pubrec-error.cpp
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-pubrec-error.cpp:26,1
    - Dst: publish_v5
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-pubrec-error.cpp:28,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-pubrec-error.cpp:28,1
    - Dst: publish_v5
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-pubrec-error.cpp:29,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-pubrec-error.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-pubrec-error.cpp
    functionUses: 0
    functionsReached:
    - exit
    - publish_v5
    - strlen
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-pubrec-error.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: mosquittopp_test::on_publish
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-pubrec-error.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_publish(int mid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-pubrec-error.cpp:55,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-pubrec-error.cpp:57,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-pubrec-error.cpp:59,1
    - Dst: mosquittopp_test*::int_option
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-pubrec-error.cpp:60,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-pubrec-error.cpp:62,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-pubrec-error.cpp:65,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-pubrec-error.cpp:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-pubrec-error.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::int_option
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-unsubscribe-v5.cpp
    functionUses: 50
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/02-unsubscribe-v5.cpp:27,1
    - Dst: mosquitto_property_add_string_pair
      Src: /src/mosquitto/test/lib/cpp/02-unsubscribe-v5.cpp:29,1
    - Dst: abort
      Src: /src/mosquitto/test/lib/cpp/02-unsubscribe-v5.cpp:31,1
    - Dst: unsubscribe_v5
      Src: /src/mosquitto/test/lib/cpp/02-unsubscribe-v5.cpp:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 35
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-unsubscribe-v5.cpp
    functionUses: 0
    functionsReached:
    - unsubscribe_v5
    - exit
    - mosquitto_property_add_string_pair
    - abort
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-unsubscribe-v5.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/02-unsubscribe-v5.cpp:46,1
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/02-unsubscribe-v5.cpp:47,1
    - Dst: disconnect_v5
      Src: /src/mosquitto/test/lib/cpp/02-unsubscribe-v5.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mid
    - props
    argTypes:
    - int
    - mosquitto_property*
    assertStmts:
    - condition: (mid == 1)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/mosquitto/test/lib/cpp/02-unsubscribe-v5.cpp
    - condition: (props == NULL)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/mosquitto/test/lib/cpp/02-unsubscribe-v5.cpp
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: mosquittopp_test::on_unsubscribe_v5
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-unsubscribe-v5.cpp
    functionUses: 0
    functionsReached:
    - disconnect_v5
    - assert
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_unsubscribe_v5(int mid, const mosquitto_property
      *props)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/02-unsubscribe-v5.cpp:60,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/02-unsubscribe-v5.cpp:62,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/02-unsubscribe-v5.cpp:64,1
    - Dst: mosquittopp_test*::int_option
      Src: /src/mosquitto/test/lib/cpp/02-unsubscribe-v5.cpp:65,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/02-unsubscribe-v5.cpp:67,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/02-unsubscribe-v5.cpp:70,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/02-unsubscribe-v5.cpp:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/02-unsubscribe-v5.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::int_option
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 12
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-bad-cacert.cpp
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/08-ssl-bad-cacert.cpp:25,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/08-ssl-bad-cacert.cpp:27,1
    - Dst: mosquittopp_test*::tls_set
      Src: /src/mosquitto/test/lib/cpp/08-ssl-bad-cacert.cpp:29,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/08-ssl-bad-cacert.cpp:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 36
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/08-ssl-bad-cacert.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_cleanup
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::tls_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-1.cpp
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-1.cpp:26,1
    - Dst: publish
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-1.cpp:28,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-1.cpp:28,1
    - Dst: publish
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-1.cpp:32,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-1.cpp:32,1
    - Dst: publish
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-1.cpp:36,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-1.cpp:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 41
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-1.cpp
    functionUses: 0
    functionsReached:
    - exit
    - strlen
    - publish
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-1.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-1.cpp:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: mosquittopp_test::on_publish
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-1.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_publish(int mid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-1.cpp:65,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-1.cpp:67,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-1.cpp:69,1
    - Dst: mosquittopp_test*::int_option
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-1.cpp:70,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-1.cpp:72,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-1.cpp:75,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-1.cpp:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-1.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::int_option
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1.cpp
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1.cpp:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1.cpp
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1.cpp:32,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1.cpp:33,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1.cpp:36,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1.cpp:37,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1.cpp:39,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1.cpp:40,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1.cpp:41,1
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1.cpp:43,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1.cpp:44,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1.cpp:45,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1.cpp:48,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1.cpp:49,1
    - Dst: printf
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1.cpp:52,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1.cpp:53,1
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1.cpp:56,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct mosquitto_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 57
    functionName: mosquittopp_test::on_message
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1.cpp
    functionUses: 0
    functionsReached:
    - exit
    - printf
    - strcmp
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_message(const struct mosquitto_message *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1.cpp:68,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1.cpp:70,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1.cpp:72,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1.cpp:74,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1.cpp:77,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1.cpp:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-loop-start.cpp
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-start.cpp:32,1
    - Dst: subscribe_v5
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-start.cpp:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - rc
    - flags
    - properties
    argTypes:
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: mosquittopp_test::on_connect_v5
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-loop-start.cpp
    functionUses: 0
    functionsReached:
    - exit
    - subscribe_v5
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect_v5(int rc, int flags, const mosquitto_property
      *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rc
    - properties
    argTypes:
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: mosquittopp_test::on_disconnect_v5
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-loop-start.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect_v5(int rc, const mosquitto_property
      *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: publish_v5
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-start.cpp:54,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-start.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - mid
    - qos_count
    - granted_qos
    - props
    argTypes:
    - int
    - int
    - int*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: mosquittopp_test::on_subscribe_v5
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-loop-start.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - publish_v5
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_subscribe_v5(int mid, int qos_count, const
      int *granted_qos, const mosquitto_property *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-start.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - properties
    argTypes:
    - struct mosquitto_message*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: mosquittopp_test::on_message_v5
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-loop-start.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_message_v5(const struct mosquitto_message
      *msg, const mosquitto_property *properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-start.cpp:73,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-start.cpp:75,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-start.cpp:77,1
    - Dst: mosquittopp_test*::int_option
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-start.cpp:78,1
    - Dst: mosquittopp_test*::connect_v5
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-start.cpp:80,1
    - Dst: mosquittopp_test*::loop_start
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-start.cpp:82,1
    - Dst: nanosleep
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-start.cpp:85,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/03-publish-loop-start.cpp:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 92
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-loop-start.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosqpp::lib_cleanup
    - mosquittopp_test*::loop_start
    - nanosleep
    - atoi
    - mosquittopp_test*::int_option
    - mosquittopp_test*::connect_v5
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-request-response-2.cpp
    functionUses: 55
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-request-response-2.cpp:31,1
    - Dst: subscribe
      Src: /src/mosquitto/test/lib/cpp/03-request-response-2.cpp:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-request-response-2.cpp
    functionUses: 0
    functionsReached:
    - exit
    - subscribe
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/03-request-response-2.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mid
    argTypes:
    - int
    assertStmts:
    - condition: (mid == sent_mid)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/mosquitto/test/lib/cpp/03-request-response-2.cpp
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: mosquittopp_test::on_publish
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-request-response-2.cpp
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_publish(int mid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/test/lib/cpp/03-request-response-2.cpp:51,1
    - Dst: mosquitto_property_read_string
      Src: /src/mosquitto/test/lib/cpp/03-request-response-2.cpp:52,1
    - Dst: mosquitto_property_read_binary
      Src: /src/mosquitto/test/lib/cpp/03-request-response-2.cpp:54,1
    - Dst: publish_v5
      Src: /src/mosquitto/test/lib/cpp/03-request-response-2.cpp:55,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/03-request-response-2.cpp:55,1
    - Dst: abort
      Src: /src/mosquitto/test/lib/cpp/03-request-response-2.cpp:57,1
    - Dst: free
      Src: /src/mosquitto/test/lib/cpp/03-request-response-2.cpp:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - msg
    - props
    argTypes:
    - struct mosquitto_message*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 62
    functionName: mosquittopp_test::on_message_v5
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-request-response-2.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_property_read_binary
    - abort
    - strlen
    - strcmp
    - publish_v5
    - free
    - mosquitto_property_read_string
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_message_v5(const struct mosquitto_message
      *msg, const mosquitto_property *props)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/03-request-response-2.cpp:72,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/03-request-response-2.cpp:74,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/03-request-response-2.cpp:76,1
    - Dst: mosquittopp_test*::int_option
      Src: /src/mosquitto/test/lib/cpp/03-request-response-2.cpp:77,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/03-request-response-2.cpp:79,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/03-request-response-2.cpp:82,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/03-request-response-2.cpp:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 89
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-request-response-2.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::int_option
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-disconnect.cpp
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-disconnect.cpp:29,1
    - Dst: publish
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-disconnect.cpp:32,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-disconnect.cpp:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-disconnect.cpp
    functionUses: 0
    functionsReached:
    - exit
    - strlen
    - publish
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reconnect
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-disconnect.cpp:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-disconnect.cpp
    functionUses: 0
    functionsReached:
    - reconnect
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-disconnect.cpp:51,1
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-disconnect.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mid
    argTypes:
    - int
    assertStmts:
    - condition: (mid == sent_mid)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-disconnect.cpp
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: mosquittopp_test::on_publish
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-disconnect.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    - assert
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_publish(int mid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-disconnect.cpp:63,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-disconnect.cpp:65,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-disconnect.cpp:67,1
    - Dst: mosquittopp_test*::message_retry_set
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-disconnect.cpp:68,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-disconnect.cpp:70,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-disconnect.cpp:73,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-disconnect.cpp:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 80
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-disconnect.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - mosquittopp_test*::message_retry_set
    - atoi
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-len.cpp
    functionUses: 57
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-len.cpp:27,1
    - Dst: publish
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-len.cpp:29,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-len.cpp:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-len.cpp
    functionUses: 0
    functionsReached:
    - exit
    - strlen
    - publish
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-len.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-len.cpp:42,1
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-len.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mid
    argTypes:
    - int
    assertStmts:
    - condition: (mid == 1)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-len.cpp
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: mosquittopp_test::on_publish
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-len.cpp
    functionUses: 0
    functionsReached:
    - disconnect
    - assert
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_publish(int mid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-len.cpp:54,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-len.cpp:56,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-len.cpp:58,1
    - Dst: mosquittopp_test*::int_option
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-len.cpp:59,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-len.cpp:61,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-len.cpp:64,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-len.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 71
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-len.cpp
    functionUses: 95
    functionsReached:
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - atoi
    - mosquittopp_test*::int_option
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: mosquittopp_test::mosquittopp_test
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-will-unpwd-set.cpp
    functionUses: 58
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::mosquittopp_test(const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/lib/cpp/01-will-unpwd-set.cpp:23,1
    - Dst: disconnect
      Src: /src/mosquitto/test/lib/cpp/01-will-unpwd-set.cpp:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: mosquittopp_test::on_connect
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-will-unpwd-set.cpp
    functionUses: 0
    functionsReached:
    - exit
    - disconnect
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_connect(int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: mosquittopp_test::on_disconnect
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-will-unpwd-set.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquittopp_test::on_disconnect(int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/lib/cpp/01-will-unpwd-set.cpp:43,1
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/test/lib/cpp/01-will-unpwd-set.cpp:45,1
    - Dst: mosquittopp_test::mosquittopp_test
      Src: /src/mosquitto/test/lib/cpp/01-will-unpwd-set.cpp:47,1
    - Dst: mosquittopp_test*::username_pw_set
      Src: /src/mosquitto/test/lib/cpp/01-will-unpwd-set.cpp:48,1
    - Dst: mosquittopp_test*::will_set
      Src: /src/mosquitto/test/lib/cpp/01-will-unpwd-set.cpp:49,1
    - Dst: strlen
      Src: /src/mosquitto/test/lib/cpp/01-will-unpwd-set.cpp:49,1
    - Dst: mosquittopp_test*::connect
      Src: /src/mosquitto/test/lib/cpp/01-will-unpwd-set.cpp:51,1
    - Dst: mosquittopp_test*::loop
      Src: /src/mosquitto/test/lib/cpp/01-will-unpwd-set.cpp:54,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/test/lib/cpp/01-will-unpwd-set.cpp:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 61
    functionName: main
    functionSourceFile: /src/mosquitto/test/lib/cpp/01-will-unpwd-set.cpp
    functionUses: 95
    functionsReached:
    - mosquittopp_test*::username_pw_set
    - mosqpp::lib_init
    - mosquittopp_test::mosquittopp_test
    - mosquittopp_test*::loop
    - mosqpp::lib_cleanup
    - mosquittopp_test*::will_set
    - atoi
    - strlen
    - mosquittopp_test*::connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto__cmp_hostname_wildcard
      Src: /src/mosquitto/test/unit/tls_test.c:14,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/tls_test.c:15,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/tls_test.c:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - certname
    - hostname
    - expected
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: hostname_cmp_helper
    functionSourceFile: /src/mosquitto/test/unit/tls_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - printf
    - mosquitto__cmp_hostname_wildcard
    linkageType: ''
    returnType: void
    signature: void hostname_cmp_helper(char *certname, const char *hostname, int
      expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostname_cmp_helper
      Src: /src/mosquitto/test/unit/tls_test.c:24,1
    - Dst: hostname_cmp_helper
      Src: /src/mosquitto/test/unit/tls_test.c:25,1
    - Dst: hostname_cmp_helper
      Src: /src/mosquitto/test/unit/tls_test.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: TEST_tls_hostname_compare_null
    functionSourceFile: /src/mosquitto/test/unit/tls_test.c
    functionUses: 0
    functionsReached:
    - hostname_cmp_helper
    linkageType: ''
    returnType: void
    signature: void TEST_tls_hostname_compare_null(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostname_cmp_helper
      Src: /src/mosquitto/test/unit/tls_test.c:32,1
    - Dst: hostname_cmp_helper
      Src: /src/mosquitto/test/unit/tls_test.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: TEST_tls_hostname_compare_simple
    functionSourceFile: /src/mosquitto/test/unit/tls_test.c
    functionUses: 0
    functionsReached:
    - hostname_cmp_helper
    linkageType: ''
    returnType: void
    signature: void TEST_tls_hostname_compare_simple(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostname_cmp_helper
      Src: /src/mosquitto/test/unit/tls_test.c:39,1
    - Dst: hostname_cmp_helper
      Src: /src/mosquitto/test/unit/tls_test.c:40,1
    - Dst: hostname_cmp_helper
      Src: /src/mosquitto/test/unit/tls_test.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: TEST_tls_hostname_compare_bad_wildcard_format
    functionSourceFile: /src/mosquitto/test/unit/tls_test.c
    functionUses: 0
    functionsReached:
    - hostname_cmp_helper
    linkageType: ''
    returnType: void
    signature: void TEST_tls_hostname_compare_bad_wildcard_format(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostname_cmp_helper
      Src: /src/mosquitto/test/unit/tls_test.c:47,1
    - Dst: hostname_cmp_helper
      Src: /src/mosquitto/test/unit/tls_test.c:48,1
    - Dst: hostname_cmp_helper
      Src: /src/mosquitto/test/unit/tls_test.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: TEST_tls_hostname_compare_invalid_wildcard
    functionSourceFile: /src/mosquitto/test/unit/tls_test.c
    functionUses: 0
    functionsReached:
    - hostname_cmp_helper
    linkageType: ''
    returnType: void
    signature: void TEST_tls_hostname_compare_invalid_wildcard(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hostname_cmp_helper
      Src: /src/mosquitto/test/unit/tls_test.c:55,1
    - Dst: hostname_cmp_helper
      Src: /src/mosquitto/test/unit/tls_test.c:56,1
    - Dst: hostname_cmp_helper
      Src: /src/mosquitto/test/unit/tls_test.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: TEST_tls_hostname_compare_good_wildcard
    functionSourceFile: /src/mosquitto/test/unit/tls_test.c
    functionUses: 0
    functionsReached:
    - hostname_cmp_helper
    linkageType: ''
    returnType: void
    signature: void TEST_tls_hostname_compare_good_wildcard(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/tls_test.c:71,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/tls_test.c:72,1
    - Dst: CU_initialize_registry
      Src: /src/mosquitto/test/unit/tls_test.c:74,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/tls_test.c:75,1
    - Dst: CU_add_suite
      Src: /src/mosquitto/test/unit/tls_test.c:79,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/tls_test.c:81,1
    - Dst: CU_cleanup_registry
      Src: /src/mosquitto/test/unit/tls_test.c:82,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/tls_test.c:87,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/tls_test.c:88,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/tls_test.c:89,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/tls_test.c:90,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/tls_test.c:91,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/tls_test.c:94,1
    - Dst: CU_cleanup_registry
      Src: /src/mosquitto/test/unit/tls_test.c:95,1
    - Dst: CU_basic_set_mode
      Src: /src/mosquitto/test/unit/tls_test.c:99,1
    - Dst: CU_basic_run_tests
      Src: /src/mosquitto/test/unit/tls_test.c:100,1
    - Dst: CU_get_number_of_failures
      Src: /src/mosquitto/test/unit/tls_test.c:101,1
    - Dst: CU_cleanup_registry
      Src: /src/mosquitto/test/unit/tls_test.c:102,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 105
    functionName: main
    functionSourceFile: /src/mosquitto/test/unit/tls_test.c
    functionUses: 95
    functionsReached:
    - CU_add_test
    - CU_basic_set_mode
    - CU_initialize_registry
    - CU_basic_run_tests
    - CU_add_suite
    - printf
    - CU_cleanup_registry
    - CU_get_number_of_failures
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/tls_stubs.c:15,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/tls_stubs.c:16,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/tls_stubs.c:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - priority
    - fmt
    argTypes:
    - struct mosquitto*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 20
    functionName: log__printf
    functionSourceFile: /src/mosquitto/test/unit/tls_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int log__printf(struct mosquitto *mosq, unsigned int priority, const
      char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: mosquitto_time
    functionSourceFile: /src/mosquitto/test/unit/tls_stubs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t mosquitto_time(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/tls_stubs.c:31,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/tls_stubs.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - db
    - mosq
    argTypes:
    - struct mosquitto_db*
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: net__socket_close
    functionSourceFile: /src/mosquitto/test/unit/tls_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int net__socket_close(struct mosquitto_db *db, struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/tls_stubs.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: send__pingreq
    functionSourceFile: /src/mosquitto/test/unit/tls_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int send__pingreq(struct mosquitto *mosq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/test.c:18,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/test.c:19,1
    - Dst: CU_initialize_registry
      Src: /src/mosquitto/test/unit/lib/test.c:21,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/lib/test.c:22,1
    - Dst: init_datatype_read_tests
      Src: /src/mosquitto/test/unit/lib/test.c:27,1
    - Dst: init_datatype_write_tests
      Src: /src/mosquitto/test/unit/lib/test.c:28,1
    - Dst: init_property_read_tests
      Src: /src/mosquitto/test/unit/lib/test.c:29,1
    - Dst: init_property_user_read_tests
      Src: /src/mosquitto/test/unit/lib/test.c:30,1
    - Dst: init_property_write_tests
      Src: /src/mosquitto/test/unit/lib/test.c:31,1
    - Dst: CU_cleanup_registry
      Src: /src/mosquitto/test/unit/lib/test.c:34,1
    - Dst: CU_basic_set_mode
      Src: /src/mosquitto/test/unit/lib/test.c:38,1
    - Dst: CU_basic_run_tests
      Src: /src/mosquitto/test/unit/lib/test.c:39,1
    - Dst: CU_get_number_of_failures
      Src: /src/mosquitto/test/unit/lib/test.c:40,1
    - Dst: CU_cleanup_registry
      Src: /src/mosquitto/test/unit/lib/test.c:41,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 44
    functionName: main
    functionSourceFile: /src/mosquitto/test/unit/lib/test.c
    functionUses: 95
    functionsReached:
    - init_property_read_tests
    - CU_basic_set_mode
    - CU_initialize_registry
    - CU_basic_run_tests
    - init_property_user_read_tests
    - init_property_write_tests
    - printf
    - CU_cleanup_registry
    - CU_get_number_of_failures
    - init_datatype_read_tests
    - UNUSED
    - init_datatype_write_tests
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_write.c:23,1
    - Dst: packet__alloc
      Src: /src/mosquitto/test/unit/lib/property_write.c:29,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:29,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:30,1
    - Dst: property__write_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:36,1
    - Dst: property__read_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:43,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:45,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:46,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:48,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:49,1
    - Dst: mosquitto_property_identifier
      Src: /src/mosquitto/test/unit/lib/property_write.c:49,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:50,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:51,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:52,1
    - Dst: mosquitto_property_type
      Src: /src/mosquitto/test/unit/lib/property_write.c:52,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:53,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:54,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/test/unit/lib/property_write.c:54,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:55,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:55,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:56,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:58,1
    - Dst: free
      Src: /src/mosquitto/test/unit/lib/property_write.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 5
    argNames:
    - command
    - remaining_length
    - rc_expected
    - identifier
    - value_expected
    argTypes:
    - int
    - uint32_t
    - int
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 60
    functionName: byte_prop_write_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_PTR_EQUAL
    - CU_ASSERT_EQUAL
    - free
    - mosquitto_property_identifier
    - property__read_all
    - mosquitto_property_get_length_all
    - property__write_all
    - memset
    - packet__alloc
    - mosquitto_property_type
    - mosquitto_property_next
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: "void byte_prop_write_helper(\n\t\tint command,\n\t\tuint32_t remaining_length,\n\t\tint
      rc_expected,\n\t\tint identifier,\n\t\tuint8_t value_expected)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_write.c:76,1
    - Dst: packet__alloc
      Src: /src/mosquitto/test/unit/lib/property_write.c:82,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:82,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:83,1
    - Dst: property__write_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:89,1
    - Dst: property__read_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:96,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:98,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:99,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:101,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:102,1
    - Dst: mosquitto_property_identifier
      Src: /src/mosquitto/test/unit/lib/property_write.c:102,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:103,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:104,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:105,1
    - Dst: mosquitto_property_type
      Src: /src/mosquitto/test/unit/lib/property_write.c:105,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:106,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:107,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/test/unit/lib/property_write.c:107,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:108,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:108,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:109,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:111,1
    - Dst: free
      Src: /src/mosquitto/test/unit/lib/property_write.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 5
    argNames:
    - command
    - remaining_length
    - rc_expected
    - identifier
    - value_expected
    argTypes:
    - int
    - uint32_t
    - int
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 113
    functionName: int32_prop_write_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_PTR_EQUAL
    - CU_ASSERT_EQUAL
    - free
    - mosquitto_property_identifier
    - property__read_all
    - mosquitto_property_get_length_all
    - property__write_all
    - memset
    - packet__alloc
    - mosquitto_property_type
    - mosquitto_property_next
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: "void int32_prop_write_helper(\n\t\tint command,\n\t\tuint32_t remaining_length,\n\t\tint
      rc_expected,\n\t\tint identifier,\n\t\tuint32_t value_expected)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_write.c:129,1
    - Dst: packet__alloc
      Src: /src/mosquitto/test/unit/lib/property_write.c:135,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:135,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:136,1
    - Dst: property__write_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:142,1
    - Dst: property__read_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:149,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:151,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:152,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:154,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:155,1
    - Dst: mosquitto_property_identifier
      Src: /src/mosquitto/test/unit/lib/property_write.c:155,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:156,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:157,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:158,1
    - Dst: mosquitto_property_type
      Src: /src/mosquitto/test/unit/lib/property_write.c:158,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:159,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:160,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/test/unit/lib/property_write.c:160,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:161,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:161,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:162,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:164,1
    - Dst: free
      Src: /src/mosquitto/test/unit/lib/property_write.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 5
    argNames:
    - command
    - remaining_length
    - rc_expected
    - identifier
    - value_expected
    argTypes:
    - int
    - uint32_t
    - int
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 166
    functionName: int16_prop_write_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_PTR_EQUAL
    - CU_ASSERT_EQUAL
    - free
    - mosquitto_property_identifier
    - property__read_all
    - mosquitto_property_get_length_all
    - property__write_all
    - memset
    - packet__alloc
    - mosquitto_property_type
    - mosquitto_property_next
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: "void int16_prop_write_helper(\n\t\tint command,\n\t\tuint32_t remaining_length,\n\t\tint
      rc_expected,\n\t\tint identifier,\n\t\tuint16_t value_expected)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_write.c:182,1
    - Dst: strdup
      Src: /src/mosquitto/test/unit/lib/property_write.c:186,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_write.c:187,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_write.c:192,1
    - Dst: packet__alloc
      Src: /src/mosquitto/test/unit/lib/property_write.c:194,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:194,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:195,1
    - Dst: property__write_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:201,1
    - Dst: property__read_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:208,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:210,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:211,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:213,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:214,1
    - Dst: mosquitto_property_identifier
      Src: /src/mosquitto/test/unit/lib/property_write.c:214,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:215,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_write.c:215,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:216,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:217,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:218,1
    - Dst: mosquitto_property_type
      Src: /src/mosquitto/test/unit/lib/property_write.c:218,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:219,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:220,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/test/unit/lib/property_write.c:220,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:221,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:221,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_write.c:221,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:222,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:224,1
    - Dst: free
      Src: /src/mosquitto/test/unit/lib/property_write.c:225,1
    - Dst: free
      Src: /src/mosquitto/test/unit/lib/property_write.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 5
    argNames:
    - command
    - remaining_length
    - rc_expected
    - identifier
    - value_expected
    argTypes:
    - int
    - uint32_t
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 227
    functionName: string_prop_write_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_PTR_EQUAL
    - CU_ASSERT_EQUAL
    - free
    - mosquitto_property_identifier
    - property__read_all
    - strdup
    - mosquitto_property_get_length_all
    - property__write_all
    - CU_ASSERT_PTR_NOT_NULL
    - strlen
    - CU_ASSERT_STRING_EQUAL
    - memset
    - packet__alloc
    - mosquitto_property_type
    - mosquitto_property_next
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: "void string_prop_write_helper(\n\t\tint command,\n\t\tuint32_t remaining_length,\n\t\tint
      rc_expected,\n\t\tint identifier,\n\t\tconst char *value_expected)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_write.c:244,1
    - Dst: malloc
      Src: /src/mosquitto/test/unit/lib/property_write.c:248,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_write.c:249,1
    - Dst: memcpy
      Src: /src/mosquitto/test/unit/lib/property_write.c:254,1
    - Dst: packet__alloc
      Src: /src/mosquitto/test/unit/lib/property_write.c:257,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:257,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:258,1
    - Dst: property__write_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:264,1
    - Dst: property__read_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:271,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:273,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:274,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:276,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:277,1
    - Dst: mosquitto_property_identifier
      Src: /src/mosquitto/test/unit/lib/property_write.c:277,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:278,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:279,1
    - Dst: memcmp
      Src: /src/mosquitto/test/unit/lib/property_write.c:279,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:280,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:281,1
    - Dst: mosquitto_property_type
      Src: /src/mosquitto/test/unit/lib/property_write.c:281,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:282,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:283,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/test/unit/lib/property_write.c:283,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:284,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:284,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:285,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:287,1
    - Dst: free
      Src: /src/mosquitto/test/unit/lib/property_write.c:288,1
    - Dst: free
      Src: /src/mosquitto/test/unit/lib/property_write.c:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 6
    argNames:
    - command
    - remaining_length
    - rc_expected
    - identifier
    - value_expected
    - len_expected
    argTypes:
    - int
    - uint32_t
    - int
    - int
    - uint8_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 290
    functionName: binary_prop_write_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_PTR_EQUAL
    - CU_ASSERT_EQUAL
    - free
    - mosquitto_property_identifier
    - property__read_all
    - mosquitto_property_get_length_all
    - property__write_all
    - CU_ASSERT_PTR_NOT_NULL
    - malloc
    - memset
    - packet__alloc
    - memcpy
    - memcmp
    - mosquitto_property_type
    - mosquitto_property_next
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: "void binary_prop_write_helper(\n\t\tint command,\n\t\tuint32_t remaining_length,\n\t\tint
      rc_expected,\n\t\tint identifier,\n\t\tconst uint8_t *value_expected,\n\t\tuint16_t
      len_expected)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_write.c:307,1
    - Dst: strdup
      Src: /src/mosquitto/test/unit/lib/property_write.c:311,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_write.c:312,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_write.c:316,1
    - Dst: strdup
      Src: /src/mosquitto/test/unit/lib/property_write.c:318,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_write.c:319,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_write.c:324,1
    - Dst: packet__alloc
      Src: /src/mosquitto/test/unit/lib/property_write.c:326,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:326,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:327,1
    - Dst: property__write_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:333,1
    - Dst: property__read_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:340,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:342,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:343,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:345,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:346,1
    - Dst: mosquitto_property_identifier
      Src: /src/mosquitto/test/unit/lib/property_write.c:346,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:347,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_write.c:347,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:348,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_write.c:348,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:349,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:350,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:351,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:352,1
    - Dst: mosquitto_property_type
      Src: /src/mosquitto/test/unit/lib/property_write.c:352,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_write.c:354,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_write.c:355,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/test/unit/lib/property_write.c:355,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/property_write.c:357,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/property_write.c:358,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/test/unit/lib/property_write.c:358,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:359,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:359,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_write.c:359,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_write.c:359,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:361,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/property_write.c:363,1
    - Dst: free
      Src: /src/mosquitto/test/unit/lib/property_write.c:364,1
    - Dst: free
      Src: /src/mosquitto/test/unit/lib/property_write.c:365,1
    - Dst: free
      Src: /src/mosquitto/test/unit/lib/property_write.c:366,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 53
    argCount: 6
    argNames:
    - remaining_length
    - rc_expected
    - identifier
    - name_expected
    - value_expected
    - expect_multiple
    argTypes:
    - uint32_t
    - int
    - int
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 367
    functionName: string_pair_prop_write_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_property_free_all
    - free
    - mosquitto_property_identifier
    - property__read_all
    - strdup
    - mosquitto_property_get_length_all
    - property__write_all
    - CU_ASSERT_PTR_NOT_NULL
    - strlen
    - CU_ASSERT_STRING_EQUAL
    - memset
    - packet__alloc
    - mosquitto_property_type
    - mosquitto_property_next
    - CU_ASSERT_PTR_NULL
    linkageType: ''
    returnType: void
    signature: "void string_pair_prop_write_helper(\n\t\tuint32_t remaining_length,\n\t\tint
      rc_expected,\n\t\tint identifier,\n\t\tconst char *name_expected,\n\t\tconst
      char *value_expected,\n\t\tbool expect_multiple)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_write.c:382,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:388,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:388,1
    - Dst: packet__alloc
      Src: /src/mosquitto/test/unit/lib/property_write.c:390,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:390,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:391,1
    - Dst: property__write_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:397,1
    - Dst: property__read_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:404,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:406,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:408,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:409,1
    - Dst: mosquitto_property_identifier
      Src: /src/mosquitto/test/unit/lib/property_write.c:409,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:410,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:411,1
    - Dst: mosquitto_property_type
      Src: /src/mosquitto/test/unit/lib/property_write.c:411,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:412,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/property_write.c:413,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/property_write.c:414,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/test/unit/lib/property_write.c:414,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:416,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:416,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:418,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:418,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:420,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:420,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:422,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:422,1
    - Dst: CU_FAIL
      Src: /src/mosquitto/test/unit/lib/property_write.c:424,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:426,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/property_write.c:428,1
    - Dst: free
      Src: /src/mosquitto/test/unit/lib/property_write.c:429,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 4
    argNames:
    - remaining_length
    - rc_expected
    - identifier
    - value_expected
    argTypes:
    - uint32_t
    - int
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 430
    functionName: varint_prop_write_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_property_free_all
    - free
    - mosquitto_property_identifier
    - property__read_all
    - mosquitto_property_get_length_all
    - property__write_all
    - memset
    - packet__alloc
    - CU_FAIL
    - mosquitto_property_type
    - mosquitto_property_next
    - CU_ASSERT_PTR_NULL
    linkageType: ''
    returnType: void
    signature: "void varint_prop_write_helper(\n\t\tuint32_t remaining_length,\n\t\tint
      rc_expected,\n\t\tint identifier,\n\t\tuint32_t value_expected)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_write.c:444,1
    - Dst: calloc
      Src: /src/mosquitto/test/unit/lib/property_write.c:445,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_write.c:446,1
    - Dst: property__write_all
      Src: /src/mosquitto/test/unit/lib/property_write.c:455,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_write.c:456,1
    - Dst: free
      Src: /src/mosquitto/test/unit/lib/property_write.c:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 458
    functionName: TEST_bad_identifier
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - calloc
    - property__write_all
    - CU_ASSERT_PTR_NOT_NULL
    - memset
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_bad_identifier(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: byte_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: TEST_single_payload_format_indicator
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - byte_prop_write_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_payload_format_indicator(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: byte_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 475
    functionName: TEST_single_request_problem_information
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - byte_prop_write_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_request_problem_information(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: byte_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 481
    functionName: TEST_single_request_response_information
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - byte_prop_write_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_request_response_information(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: byte_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 487
    functionName: TEST_single_maximum_qos
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - byte_prop_write_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_maximum_qos(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: byte_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 493
    functionName: TEST_single_retain_available
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - byte_prop_write_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_retain_available(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: byte_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 499
    functionName: TEST_single_wildcard_subscription_available
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - byte_prop_write_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_wildcard_subscription_available(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: byte_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 2
    functionLinenumber: 502
    functionLinenumberEnd: 505
    functionName: TEST_single_subscription_identifier_available
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - byte_prop_write_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_subscription_identifier_available(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: byte_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: TEST_single_shared_subscription_available
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - byte_prop_write_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_shared_subscription_available(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int32_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 517
    functionName: TEST_single_message_expiry_interval
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - int32_prop_write_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_message_expiry_interval(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int32_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 520
    functionDepth: 2
    functionLinenumber: 520
    functionLinenumberEnd: 523
    functionName: TEST_single_session_expiry_interval
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - int32_prop_write_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_session_expiry_interval(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int32_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 529
    functionName: TEST_single_will_delay_interval
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - int32_prop_write_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_will_delay_interval(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int32_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 535
    functionName: TEST_single_maximum_packet_size
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - int32_prop_write_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_maximum_packet_size(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int16_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 541
    functionName: TEST_single_server_keep_alive
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - int16_prop_write_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_server_keep_alive(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int16_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 544
    functionDepth: 2
    functionLinenumber: 544
    functionLinenumberEnd: 547
    functionName: TEST_single_receive_maximum
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - int16_prop_write_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_receive_maximum(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int16_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 550
    functionDepth: 2
    functionLinenumber: 550
    functionLinenumberEnd: 553
    functionName: TEST_single_topic_alias_maximum
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - int16_prop_write_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_topic_alias_maximum(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int16_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 556
    functionDepth: 2
    functionLinenumber: 556
    functionLinenumberEnd: 559
    functionName: TEST_single_topic_alias
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - int16_prop_write_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_topic_alias(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 565
    functionName: TEST_single_content_type
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - string_prop_write_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_content_type(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 568
    functionDepth: 2
    functionLinenumber: 568
    functionLinenumberEnd: 571
    functionName: TEST_single_response_topic
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - string_prop_write_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_response_topic(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 577
    functionName: TEST_single_assigned_client_identifier
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - string_prop_write_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_assigned_client_identifier(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 583
    functionName: TEST_single_authentication_method
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - string_prop_write_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_authentication_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 586
    functionDepth: 2
    functionLinenumber: 586
    functionLinenumberEnd: 589
    functionName: TEST_single_response_information
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - string_prop_write_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_response_information(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 595
    functionName: TEST_single_server_reference
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - string_prop_write_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_server_reference(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 598
    functionDepth: 2
    functionLinenumber: 598
    functionLinenumberEnd: 601
    functionName: TEST_single_reason_string
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - string_prop_write_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_reason_string(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 604
    functionDepth: 2
    functionLinenumber: 604
    functionLinenumberEnd: 609
    functionName: TEST_single_correlation_data
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - binary_prop_write_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_correlation_data(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 612
    functionDepth: 2
    functionLinenumber: 612
    functionLinenumberEnd: 617
    functionName: TEST_single_authentication_data
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - binary_prop_write_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_authentication_data(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_pair_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 620
    functionDepth: 2
    functionLinenumber: 620
    functionLinenumberEnd: 623
    functionName: TEST_single_user_property
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - string_pair_prop_write_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_user_property(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: varint_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:628,1
    - Dst: varint_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:629,1
    - Dst: varint_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:630,1
    - Dst: varint_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:631,1
    - Dst: varint_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:632,1
    - Dst: varint_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:633,1
    - Dst: varint_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:634,1
    - Dst: varint_prop_write_helper
      Src: /src/mosquitto/test/unit/lib/property_write.c:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 636
    functionName: TEST_single_subscription_identifier
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 0
    functionsReached:
    - varint_prop_write_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_subscription_identifier(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/mosquitto/test/unit/lib/property_write.c:648,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/lib/property_write.c:650,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_write.c:655,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_write.c:656,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_write.c:657,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_write.c:658,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_write.c:659,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_write.c:660,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_write.c:661,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_write.c:662,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_write.c:663,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_write.c:664,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_write.c:665,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_write.c:666,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_write.c:667,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_write.c:668,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_write.c:669,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_write.c:670,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_write.c:671,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_write.c:672,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_write.c:673,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_write.c:674,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_write.c:675,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_write.c:676,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_write.c:677,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_write.c:678,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_write.c:679,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_write.c:680,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_write.c:681,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_write.c:682,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/lib/property_write.c:685,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 690
    functionName: init_property_write_tests
    functionSourceFile: /src/mosquitto/test/unit/lib/property_write.c
    functionUses: 1
    functionsReached:
    - CU_add_test
    - printf
    - CU_add_suite
    linkageType: ''
    returnType: int
    signature: int init_property_write_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:21,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:22,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - priority
    - fmt
    argTypes:
    - struct mosquitto*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: log__printf
    functionSourceFile: /src/mosquitto/test/unit/lib/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int log__printf(struct mosquitto *mosq, unsigned int priority, const
      char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: net__is_connected
    functionSourceFile: /src/mosquitto/test/unit/lib/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: bool
    signature: bool net__is_connected(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: net__socket_close
    functionSourceFile: /src/mosquitto/test/unit/lib/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int net__socket_close(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: net__socket_shutdown
    functionSourceFile: /src/mosquitto/test/unit/lib/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int net__socket_shutdown(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: send__pingreq
    functionSourceFile: /src/mosquitto/test/unit/lib/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int send__pingreq(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:62,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:63,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - rc
    - props
    argTypes:
    - struct mosquitto*
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: callback__on_disconnect
    functionSourceFile: /src/mosquitto/test/unit/lib/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void callback__on_disconnect(struct mosquitto *mosq, int rc, const
      mosquitto_property *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:70,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:71,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:72,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - mosq
    - mid
    - reason_code
    - properties
    argTypes:
    - struct mosquitto*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: callback__on_publish
    functionSourceFile: /src/mosquitto/test/unit/lib/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void callback__on_publish(struct mosquitto *mosq, int mid, int reason_code,
      const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:79,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:80,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - reason_code
    - properties
    argTypes:
    - struct mosquitto*
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: do_client_disconnect
    functionSourceFile: /src/mosquitto/test/unit/lib/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void do_client_disconnect(struct mosquitto *mosq, int reason_code,
      const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: handle__packet
    functionSourceFile: /src/mosquitto/test/unit/lib/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int handle__packet(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:94,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:95,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - buf
    - count
    argTypes:
    - struct mosquitto*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: net__read
    functionSourceFile: /src/mosquitto/test/unit/lib/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t net__read(struct mosquitto *mosq, void *buf, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:103,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:104,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - buf
    - count
    argTypes:
    - struct mosquitto*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: net__write
    functionSourceFile: /src/mosquitto/test/unit/lib/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t net__write(struct mosquitto *mosq, const void *buf, size_t
      count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct mosquitto__base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: plugin_persist__handle_retain_set
    functionSourceFile: /src/mosquitto/test/unit/lib/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_retain_set(struct mosquitto__base_msg *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct mosquitto__base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: plugin_persist__handle_retain_remove
    functionSourceFile: /src/mosquitto/test/unit/lib/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_retain_remove(struct mosquitto__base_msg
      *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - force
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: plugin_persist__process_retain_events
    functionSourceFile: /src/mosquitto/test/unit/lib/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__process_retain_events(bool force)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:130,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - event
    argTypes:
    - struct mosquitto__base_msg*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: plugin_persist__queue_retain_event
    functionSourceFile: /src/mosquitto/test/unit/lib/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__queue_retain_event(struct mosquitto__base_msg
      *msg, int event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:137,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mosq
    - packet
    argTypes:
    - struct mosquitto*
    - struct mosquitto__packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: ws__prepare_packet
    functionSourceFile: /src/mosquitto/test/unit/lib/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void ws__prepare_packet(struct mosquitto *mosq, struct mosquitto__packet
      *packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:144,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:145,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/lib/stubs.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - buf
    - count
    argTypes:
    - struct mosquitto*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: net__read_ws
    functionSourceFile: /src/mosquitto/test/unit/lib/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t net__read_ws(struct mosquitto *mosq, void *buf, size_t count)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:15,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:16,1
    - Dst: mosquitto_property_add_int32
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:20,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:21,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:25,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:26,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:30,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:31,1
    - Dst: mosquitto_property_add_binary
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:35,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:35,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:36,1
    - Dst: mosquitto_property_add_varint
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:40,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:41,1
    - Dst: mosquitto_property_add_int32
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:45,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:46,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:50,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:51,1
    - Dst: mosquitto_property_add_int16
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:55,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:56,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:60,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:61,1
    - Dst: mosquitto_property_add_binary
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:65,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:65,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:66,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:70,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:71,1
    - Dst: mosquitto_property_add_int32
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:75,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:76,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:80,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:81,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:85,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:86,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:90,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:91,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:95,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:96,1
    - Dst: mosquitto_property_add_int16
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:100,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:101,1
    - Dst: mosquitto_property_add_int16
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:105,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:106,1
    - Dst: mosquitto_property_add_int16
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:110,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:111,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:115,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:116,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:120,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:121,1
    - Dst: mosquitto_property_add_string_pair
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:125,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:126,1
    - Dst: mosquitto_property_add_int32
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:130,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:131,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:135,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:136,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:140,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:141,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:145,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:146,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 133
    argCount: 1
    argNames:
    - proplist
    argTypes:
    - mosquitto_property**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 147
    functionName: generate_full_proplist
    functionSourceFile: /src/mosquitto/test/unit/lib/property_user_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_property_add_int16
    - mosquitto_property_add_byte
    - strlen
    - mosquitto_property_add_string_pair
    - mosquitto_property_add_int32
    - mosquitto_property_add_varint
    - mosquitto_property_add_string
    - mosquitto_property_add_binary
    linkageType: ''
    returnType: void
    signature: void generate_full_proplist(mosquitto_property **proplist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_int32
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:155,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:156,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:158,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:159,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:163,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:164,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:166,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:167,1
    - Dst: mosquitto_property_add_binary
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:168,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:168,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:169,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:170,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:171,1
    - Dst: mosquitto_property_add_int32
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:172,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:173,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:174,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:175,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:176,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:177,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:178,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:179,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:180,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:181,1
    - Dst: mosquitto_property_add_int16
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:182,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:183,1
    - Dst: mosquitto_property_add_int16
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:184,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:185,1
    - Dst: mosquitto_property_add_int16
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:186,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:187,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:188,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:189,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:190,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:191,1
    - Dst: mosquitto_property_add_int32
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:193,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:194,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:195,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:196,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:197,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:198,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:199,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 1
    argNames:
    - proplist
    argTypes:
    - mosquitto_property**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 201
    functionName: generate_partial_proplist
    functionSourceFile: /src/mosquitto/test/unit/lib/property_user_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_property_add_int16
    - mosquitto_property_add_byte
    - strlen
    - mosquitto_property_add_int32
    - mosquitto_property_add_string
    - mosquitto_property_add_binary
    linkageType: ''
    returnType: void
    signature: void generate_partial_proplist(mosquitto_property **proplist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_read_byte
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:214,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:215,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - proplist
    - identifier
    - expected_value
    argTypes:
    - mosquitto_property*
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 217
    functionName: read_byte_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/property_user_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - CU_ASSERT_PTR_NOT_NULL
    - mosquitto_property_read_byte
    linkageType: ''
    returnType: void
    signature: void read_byte_helper(const mosquitto_property *proplist, int identifier,
      uint8_t expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_read_int16
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:225,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:226,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - proplist
    - identifier
    - expected_value
    argTypes:
    - mosquitto_property*
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 228
    functionName: read_int16_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/property_user_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - CU_ASSERT_PTR_NOT_NULL
    - mosquitto_property_read_int16
    linkageType: ''
    returnType: void
    signature: void read_int16_helper(const mosquitto_property *proplist, int identifier,
      uint16_t expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_read_int32
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:236,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:237,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - proplist
    - identifier
    - expected_value
    argTypes:
    - mosquitto_property*
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 239
    functionName: read_int32_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/property_user_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - CU_ASSERT_PTR_NOT_NULL
    - mosquitto_property_read_int32
    linkageType: ''
    returnType: void
    signature: void read_int32_helper(const mosquitto_property *proplist, int identifier,
      uint32_t expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_read_varint
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:247,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:248,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - proplist
    - identifier
    - expected_value
    argTypes:
    - mosquitto_property*
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 250
    functionName: read_varint_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/property_user_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_property_read_varint
    - CU_ASSERT_PTR_NOT_NULL
    linkageType: ''
    returnType: void
    signature: void read_varint_helper(const mosquitto_property *proplist, int identifier,
      uint32_t expected_value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_read_binary
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:259,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:260,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:261,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:263,1
    - Dst: CU_ASSERT_NSTRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:265,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:268,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - proplist
    - identifier
    - expected_value
    - expected_length
    argTypes:
    - mosquitto_property*
    - int
    - void*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 271
    functionName: read_binary_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/property_user_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_property_read_binary
    - CU_ASSERT_PTR_NOT_NULL
    - CU_ASSERT_NSTRING_EQUAL
    - CU_ASSERT_PTR_NULL
    - SAFE_FREE
    linkageType: ''
    returnType: void
    signature: void read_binary_helper(const mosquitto_property *proplist, int identifier,
      const void *expected_value, uint16_t expected_length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_read_string
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:279,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:280,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:282,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:284,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:287,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - proplist
    - identifier
    - expected_value
    argTypes:
    - mosquitto_property*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 290
    functionName: read_string_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/property_user_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_PTR_NOT_NULL
    - CU_ASSERT_STRING_EQUAL
    - CU_ASSERT_PTR_NULL
    - SAFE_FREE
    - mosquitto_property_read_string
    linkageType: ''
    returnType: void
    signature: void read_string_helper(const mosquitto_property *proplist, int identifier,
      const char *expected_value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_read_string_pair
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:298,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:299,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:302,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:304,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:307,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:311,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:313,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:316,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:318,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - proplist
    - identifier
    - expected_key
    - expected_value
    argTypes:
    - mosquitto_property*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 320
    functionName: read_string_pair_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/property_user_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_PTR_NOT_NULL
    - mosquitto_property_read_string_pair
    - CU_ASSERT_STRING_EQUAL
    - CU_ASSERT_PTR_NULL
    - SAFE_FREE
    linkageType: ''
    returnType: void
    signature: void read_string_pair_helper(const mosquitto_property *proplist, int
      identifier, const char *expected_key, const char *expected_value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_binary
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:328,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:329,1
    - Dst: read_binary_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:334,1
    - Dst: mosquitto_property_copy_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:336,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:337,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:338,1
    - Dst: read_binary_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:340,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:342,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 344
    functionName: TEST_read_null_binary
    functionSourceFile: /src/mosquitto/test/unit/lib/property_user_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - CU_ASSERT_PTR_NOT_NULL
    - read_binary_helper
    - mosquitto_property_copy_all
    - mosquitto_property_free_all
    - mosquitto_property_add_binary
    linkageType: ''
    returnType: void
    signature: void TEST_read_null_binary(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:352,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:353,1
    - Dst: read_string_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:358,1
    - Dst: mosquitto_property_copy_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:360,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:361,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:362,1
    - Dst: read_string_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:364,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:366,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 368
    functionName: TEST_read_null_string
    functionSourceFile: /src/mosquitto/test/unit/lib/property_user_read.c
    functionUses: 0
    functionsReached:
    - read_string_helper
    - CU_ASSERT_EQUAL
    - CU_ASSERT_PTR_NOT_NULL
    - mosquitto_property_copy_all
    - mosquitto_property_add_string
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_read_null_string(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_string_pair
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:376,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:377,1
    - Dst: read_string_pair_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:382,1
    - Dst: mosquitto_property_copy_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:384,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:385,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:386,1
    - Dst: read_string_pair_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:388,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:390,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 392
    functionName: TEST_read_null_string_pair
    functionSourceFile: /src/mosquitto/test/unit/lib/property_user_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - read_string_pair_helper
    - CU_ASSERT_PTR_NOT_NULL
    - mosquitto_property_add_string_pair
    - mosquitto_property_copy_all
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_read_null_string_pair(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generate_full_proplist
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:400,1
    - Dst: read_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:405,1
    - Dst: read_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:406,1
    - Dst: read_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:407,1
    - Dst: read_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:408,1
    - Dst: read_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:409,1
    - Dst: read_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:410,1
    - Dst: read_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:411,1
    - Dst: read_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:412,1
    - Dst: mosquitto_property_copy_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:414,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:415,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:416,1
    - Dst: read_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:418,1
    - Dst: read_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:419,1
    - Dst: read_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:420,1
    - Dst: read_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:421,1
    - Dst: read_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:422,1
    - Dst: read_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:423,1
    - Dst: read_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:424,1
    - Dst: read_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:425,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:427,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 429
    functionName: TEST_read_single_byte
    functionSourceFile: /src/mosquitto/test/unit/lib/property_user_read.c
    functionUses: 0
    functionsReached:
    - generate_full_proplist
    - CU_ASSERT_EQUAL
    - read_byte_helper
    - CU_ASSERT_PTR_NOT_NULL
    - mosquitto_property_copy_all
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_read_single_byte(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generate_full_proplist
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:437,1
    - Dst: read_int16_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:442,1
    - Dst: read_int16_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:443,1
    - Dst: read_int16_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:444,1
    - Dst: read_int16_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:445,1
    - Dst: mosquitto_property_copy_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:447,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:448,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:449,1
    - Dst: read_int16_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:451,1
    - Dst: read_int16_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:452,1
    - Dst: read_int16_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:453,1
    - Dst: read_int16_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:454,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:456,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 432
    functionDepth: 2
    functionLinenumber: 432
    functionLinenumberEnd: 458
    functionName: TEST_read_single_int16
    functionSourceFile: /src/mosquitto/test/unit/lib/property_user_read.c
    functionUses: 0
    functionsReached:
    - generate_full_proplist
    - CU_ASSERT_EQUAL
    - CU_ASSERT_PTR_NOT_NULL
    - mosquitto_property_copy_all
    - read_int16_helper
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_read_single_int16(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generate_full_proplist
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:466,1
    - Dst: read_int32_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:471,1
    - Dst: read_int32_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:472,1
    - Dst: read_int32_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:473,1
    - Dst: read_int32_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:474,1
    - Dst: mosquitto_property_copy_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:476,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:477,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:478,1
    - Dst: read_int32_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:480,1
    - Dst: read_int32_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:481,1
    - Dst: read_int32_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:482,1
    - Dst: read_int32_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:483,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:485,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 487
    functionName: TEST_read_single_int32
    functionSourceFile: /src/mosquitto/test/unit/lib/property_user_read.c
    functionUses: 0
    functionsReached:
    - generate_full_proplist
    - CU_ASSERT_EQUAL
    - CU_ASSERT_PTR_NOT_NULL
    - read_int32_helper
    - mosquitto_property_copy_all
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_read_single_int32(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generate_full_proplist
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:495,1
    - Dst: read_varint_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:500,1
    - Dst: mosquitto_property_copy_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:502,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:503,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:504,1
    - Dst: read_varint_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:506,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:508,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 510
    functionName: TEST_read_single_varint
    functionSourceFile: /src/mosquitto/test/unit/lib/property_user_read.c
    functionUses: 0
    functionsReached:
    - generate_full_proplist
    - CU_ASSERT_EQUAL
    - CU_ASSERT_PTR_NOT_NULL
    - read_varint_helper
    - mosquitto_property_copy_all
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_read_single_varint(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: generate_full_proplist
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:518,1
    - Dst: read_binary_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:523,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:523,1
    - Dst: read_binary_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:524,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:524,1
    - Dst: mosquitto_property_copy_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:526,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:527,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:528,1
    - Dst: read_binary_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:531,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:531,1
    - Dst: read_binary_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:532,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:532,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:535,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:536,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 513
    functionDepth: 2
    functionLinenumber: 513
    functionLinenumberEnd: 537
    functionName: TEST_read_single_binary
    functionSourceFile: /src/mosquitto/test/unit/lib/property_user_read.c
    functionUses: 0
    functionsReached:
    - generate_full_proplist
    - CU_ASSERT_EQUAL
    - CU_ASSERT_PTR_NOT_NULL
    - read_binary_helper
    - strlen
    - mosquitto_property_copy_all
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_read_single_binary(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: generate_full_proplist
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:545,1
    - Dst: read_string_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:550,1
    - Dst: read_string_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:551,1
    - Dst: read_string_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:552,1
    - Dst: read_string_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:553,1
    - Dst: read_string_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:554,1
    - Dst: read_string_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:555,1
    - Dst: read_string_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:556,1
    - Dst: mosquitto_property_copy_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:558,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:559,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:560,1
    - Dst: read_string_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:563,1
    - Dst: read_string_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:564,1
    - Dst: read_string_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:565,1
    - Dst: read_string_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:566,1
    - Dst: read_string_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:567,1
    - Dst: read_string_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:568,1
    - Dst: read_string_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:569,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:572,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 540
    functionDepth: 2
    functionLinenumber: 540
    functionLinenumberEnd: 574
    functionName: TEST_read_single_string
    functionSourceFile: /src/mosquitto/test/unit/lib/property_user_read.c
    functionUses: 0
    functionsReached:
    - generate_full_proplist
    - CU_ASSERT_EQUAL
    - read_string_helper
    - CU_ASSERT_PTR_NOT_NULL
    - mosquitto_property_copy_all
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_read_single_string(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: generate_full_proplist
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:582,1
    - Dst: read_string_pair_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:587,1
    - Dst: mosquitto_property_copy_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:589,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:590,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:591,1
    - Dst: read_string_pair_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:594,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:597,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 577
    functionDepth: 2
    functionLinenumber: 577
    functionLinenumberEnd: 599
    functionName: TEST_read_single_string_pair
    functionSourceFile: /src/mosquitto/test/unit/lib/property_user_read.c
    functionUses: 0
    functionsReached:
    - generate_full_proplist
    - CU_ASSERT_EQUAL
    - read_string_pair_helper
    - CU_ASSERT_PTR_NOT_NULL
    - mosquitto_property_copy_all
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_read_single_string_pair(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_read_byte
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:617,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:618,1
    - Dst: mosquitto_property_read_int32
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:621,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:622,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:623,1
    - Dst: mosquitto_property_read_string
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:627,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:628,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:629,1
    - Dst: mosquitto_property_read_string
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:633,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:634,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:635,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:637,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:638,1
    - Dst: mosquitto_property_read_binary
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:642,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:643,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:644,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:645,1
    - Dst: mosquitto_property_read_byte
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:648,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:649,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:650,1
    - Dst: mosquitto_property_read_varint
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:653,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:654,1
    - Dst: mosquitto_property_read_string
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:658,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:659,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:660,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:662,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:663,1
    - Dst: mosquitto_property_read_int32
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:667,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:668,1
    - Dst: mosquitto_property_read_binary
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:672,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:673,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:674,1
    - Dst: CU_ASSERT_NSTRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:676,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:676,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:677,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:677,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:678,1
    - Dst: mosquitto_property_read_int16
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:682,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:683,1
    - Dst: mosquitto_property_read_int16
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:686,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:687,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:688,1
    - Dst: mosquitto_property_read_string_pair
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:691,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:692,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:693,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:694,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 1
    argNames:
    - proplist
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 695
    functionName: missing_read_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/property_user_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_property_read_byte
    - mosquitto_property_read_binary
    - CU_ASSERT_PTR_NOT_NULL
    - mosquitto_property_read_string_pair
    - strlen
    - CU_ASSERT_STRING_EQUAL
    - mosquitto_property_read_varint
    - mosquitto_property_read_int16
    - mosquitto_property_read_int32
    - CU_ASSERT_NSTRING_EQUAL
    - CU_ASSERT_PTR_NULL
    - SAFE_FREE
    - mosquitto_property_read_string
    linkageType: ''
    returnType: void
    signature: void missing_read_helper(mosquitto_property *proplist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: generate_partial_proplist
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:703,1
    - Dst: missing_read_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:708,1
    - Dst: mosquitto_property_copy_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:709,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:710,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:711,1
    - Dst: missing_read_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:713,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:716,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 698
    functionDepth: 2
    functionLinenumber: 698
    functionLinenumberEnd: 718
    functionName: TEST_read_missing
    functionSourceFile: /src/mosquitto/test/unit/lib/property_user_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - generate_partial_proplist
    - missing_read_helper
    - CU_ASSERT_PTR_NOT_NULL
    - mosquitto_property_copy_all
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_read_missing(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_string_to_property_info
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:731,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:732,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:734,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:735,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - str
    - rc_expected
    - identifier_expected
    - type_expected
    argTypes:
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 737
    functionName: string_to_property_info_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/property_user_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_string_to_property_info
    linkageType: ''
    returnType: void
    signature: void string_to_property_info_helper(const char *str, int rc_expected,
      int identifier_expected, int type_expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:742,1
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:743,1
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:744,1
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:745,1
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:746,1
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:747,1
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:748,1
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:749,1
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:750,1
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:751,1
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:752,1
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:753,1
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:754,1
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:755,1
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:756,1
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:757,1
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:758,1
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:759,1
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:760,1
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:761,1
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:762,1
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:763,1
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:764,1
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:765,1
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:766,1
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:767,1
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:768,1
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:770,1
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:771,1
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:772,1
    - Dst: string_to_property_info_helper
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 774
    functionName: TEST_string_to_property_info
    functionSourceFile: /src/mosquitto/test/unit/lib/property_user_read.c
    functionUses: 0
    functionsReached:
    - string_to_property_info_helper
    linkageType: ''
    returnType: void
    signature: void TEST_string_to_property_info(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:786,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:788,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:793,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:794,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:795,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:796,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:797,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:798,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:799,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:800,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:801,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:802,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:803,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:804,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/lib/property_user_read.c:807,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 812
    functionName: init_property_user_read_tests
    functionSourceFile: /src/mosquitto/test/unit/lib/property_user_read.c
    functionUses: 1
    functionsReached:
    - CU_add_test
    - printf
    - CU_add_suite
    linkageType: ''
    returnType: int
    signature: int init_property_user_read_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/publish_test.c:13,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/unit/lib/publish_test.c:16,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/publish_test.c:16,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/publish_test.c:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 18
    functionName: TEST_maximum_packet_size
    functionSourceFile: /src/mosquitto/test/unit/lib/publish_test.c
    functionUses: 0
    functionsReached:
    - mosquitto_publish
    - strlen
    - CU_ASSERT_EQUAL
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_maximum_packet_size(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/mosquitto/test/unit/lib/publish_test.c:30,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/lib/publish_test.c:32,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/publish_test.c:37,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/lib/publish_test.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 45
    functionName: init_publish_tests
    functionSourceFile: /src/mosquitto/test/unit/lib/publish_test.c
    functionUses: 0
    functionsReached:
    - CU_add_test
    - printf
    - CU_add_suite
    linkageType: ''
    returnType: int
    signature: int init_publish_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:22,1
    - Dst: property__read_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:25,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:27,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:28,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:30,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:31,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:32,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:33,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:33,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:34,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 6
    argNames:
    - command
    - payload
    - remaining_length
    - rc_expected
    - identifier
    - value_expected
    argTypes:
    - int
    - uint8_t*
    - uint32_t
    - int
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 37
    functionName: byte_prop_read_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_PTR_EQUAL
    - CU_ASSERT_EQUAL
    - property__read_all
    - mosquitto_property_get_length_all
    - memset
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: "void byte_prop_read_helper(\n\t\tint command,\n\t\tuint8_t *payload,\n\t\tuint32_t
      remaining_length,\n\t\tint rc_expected,\n\t\tuint8_t identifier,\n\t\tuint8_t
      value_expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:44,1
    - Dst: byte_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - command
    - identifier
    argTypes:
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: duplicate_byte_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - byte_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void duplicate_byte_helper(int command, uint8_t identifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:59,1
    - Dst: byte_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - command
    - identifier
    argTypes:
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: bad_byte_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - byte_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void bad_byte_helper(int command, uint8_t identifier)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:80,1
    - Dst: property__read_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:83,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:85,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/lib/property_read.c:87,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:89,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:91,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:92,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:93,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:94,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:94,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:95,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 6
    argNames:
    - command
    - payload
    - remaining_length
    - rc_expected
    - identifier
    - value_expected
    argTypes:
    - int
    - uint8_t*
    - uint32_t
    - int
    - uint8_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 98
    functionName: int32_prop_read_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_PTR_EQUAL
    - CU_ASSERT_EQUAL
    - property__read_all
    - mosquitto_property_get_length_all
    - printf
    - memset
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: "void int32_prop_read_helper(\n\t\tint command,\n\t\tuint8_t *payload,\n\t\tuint32_t
      remaining_length,\n\t\tint rc_expected,\n\t\tuint8_t identifier,\n\t\tuint32_t
      value_expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:105,1
    - Dst: int32_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - command
    - identifier
    argTypes:
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: duplicate_int32_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - int32_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void duplicate_int32_helper(int command, uint8_t identifier)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:134,1
    - Dst: property__read_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:137,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:139,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:140,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:142,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:143,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:144,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:145,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:145,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:146,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 6
    argNames:
    - command
    - payload
    - remaining_length
    - rc_expected
    - identifier
    - value_expected
    argTypes:
    - int
    - uint8_t*
    - uint32_t
    - int
    - uint8_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 149
    functionName: int16_prop_read_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_PTR_EQUAL
    - CU_ASSERT_EQUAL
    - property__read_all
    - mosquitto_property_get_length_all
    - memset
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: "void int16_prop_read_helper(\n\t\tint command,\n\t\tuint8_t *payload,\n\t\tuint32_t
      remaining_length,\n\t\tint rc_expected,\n\t\tuint8_t identifier,\n\t\tuint16_t
      value_expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:156,1
    - Dst: int16_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - command
    - identifier
    argTypes:
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 166
    functionName: duplicate_int16_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - memset
    - int16_prop_read_helper
    linkageType: ''
    returnType: void
    signature: void duplicate_int16_helper(int command, uint8_t identifier)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:181,1
    - Dst: property__read_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:184,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:186,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:187,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:189,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:190,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:190,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:191,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:192,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:193,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:193,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:193,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:194,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 6
    argNames:
    - command
    - payload
    - remaining_length
    - rc_expected
    - identifier
    - value_expected
    argTypes:
    - int
    - uint8_t*
    - uint32_t
    - int
    - uint8_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 197
    functionName: string_prop_read_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_PTR_EQUAL
    - CU_ASSERT_EQUAL
    - property__read_all
    - mosquitto_property_get_length_all
    - strlen
    - CU_ASSERT_STRING_EQUAL
    - memset
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: "void string_prop_read_helper(\n\t\tint command,\n\t\tuint8_t *payload,\n\t\tuint32_t
      remaining_length,\n\t\tint rc_expected,\n\t\tuint8_t identifier,\n\t\tconst
      char *value_expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:204,1
    - Dst: string_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - command
    - identifier
    argTypes:
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 216
    functionName: duplicate_string_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - string_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void duplicate_string_helper(int command, uint8_t identifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:223,1
    - Dst: string_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 233
    functionName: bad_string_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - string_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void bad_string_helper(uint8_t identifier)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:249,1
    - Dst: property__read_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:252,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:254,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:255,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:257,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:258,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:259,1
    - Dst: memcmp
      Src: /src/mosquitto/test/unit/lib/property_read.c:259,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:260,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:261,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:261,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:262,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 7
    argNames:
    - command
    - payload
    - remaining_length
    - rc_expected
    - identifier
    - value_expected
    - len_expected
    argTypes:
    - int
    - uint8_t*
    - uint32_t
    - int
    - uint8_t
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 265
    functionName: binary_prop_read_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_PTR_EQUAL
    - CU_ASSERT_EQUAL
    - property__read_all
    - mosquitto_property_get_length_all
    - memset
    - memcmp
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: "void binary_prop_read_helper(\n\t\tint command,\n\t\tuint8_t *payload,\n\t\tuint32_t
      remaining_length,\n\t\tint rc_expected,\n\t\tuint8_t identifier,\n\t\tconst
      uint8_t *value_expected,\n\t\tint len_expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:272,1
    - Dst: string_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - command
    - identifier
    argTypes:
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 284
    functionName: duplicate_binary_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - string_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void duplicate_binary_helper(int command, uint8_t identifier)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:300,1
    - Dst: property__read_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:303,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:305,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:306,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:308,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:309,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:309,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:310,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:310,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:311,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:312,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:314,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:316,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:317,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:317,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:317,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:317,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:319,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 7
    argNames:
    - payload
    - remaining_length
    - rc_expected
    - identifier
    - name_expected
    - value_expected
    - expect_multiple
    argTypes:
    - uint8_t*
    - uint32_t
    - int
    - uint8_t
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 322
    functionName: string_pair_prop_read_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - property__read_all
    - mosquitto_property_get_length_all
    - CU_ASSERT_PTR_NOT_NULL
    - strlen
    - CU_ASSERT_STRING_EQUAL
    - memset
    - CU_ASSERT_PTR_NULL
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: "void string_pair_prop_read_helper(\n\t\tuint8_t *payload,\n\t\tuint32_t
      remaining_length,\n\t\tint rc_expected,\n\t\tuint8_t identifier,\n\t\tconst
      char *name_expected,\n\t\tconst char *value_expected,\n\t\tbool expect_multiple)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:336,1
    - Dst: property__read_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:339,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:341,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/lib/property_read.c:343,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:346,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:347,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:348,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:349,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:349,1
    - Dst: mosquitto_varint_bytes
      Src: /src/mosquitto/test/unit/lib/property_read.c:349,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:350,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 5
    argNames:
    - payload
    - remaining_length
    - rc_expected
    - identifier
    - value_expected
    argTypes:
    - uint8_t*
    - uint32_t
    - int
    - uint8_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 353
    functionName: varint_prop_read_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - property__read_all
    - mosquitto_property_get_length_all
    - printf
    - memset
    - mosquitto_varint_bytes
    - CU_ASSERT_PTR_NULL
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: "void varint_prop_read_helper(\n\t\tuint8_t *payload,\n\t\tuint32_t
      remaining_length,\n\t\tint rc_expected,\n\t\tuint8_t identifier,\n\t\tuint32_t
      value_expected)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:368,1
    - Dst: property__read_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:371,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:373,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:374,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:376,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:379,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:380,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:381,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:381,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:385,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:387,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:388,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:389,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:389,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:390,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:391,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:391,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - command
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 396
    functionName: packet_helper_reason_string_user_property
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - property__read_all
    - CU_ASSERT_PTR_NOT_NULL
    - strlen
    - CU_ASSERT_STRING_EQUAL
    - memset
    - CU_ASSERT_PTR_NULL
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void packet_helper_reason_string_user_property(int command)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:411,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:412,1
    - Dst: property__read_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:415,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:416,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:417,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:418,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 422
    functionName: TEST_no_properties
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_PTR_EQUAL
    - CU_ASSERT_EQUAL
    - property__read_all
    - memset
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_no_properties(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:433,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:434,1
    - Dst: property__read_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:437,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:438,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:439,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:440,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:443,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:444,1
    - Dst: property__read_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:448,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:449,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:450,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:451,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:454,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:455,1
    - Dst: property__read_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:460,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:461,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:462,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:463,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 467
    functionName: TEST_truncated
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_PTR_EQUAL
    - CU_ASSERT_EQUAL
    - property__read_all
    - memset
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_truncated(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:483,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:484,1
    - Dst: property__read_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:488,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:489,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:490,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:491,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:494,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:495,1
    - Dst: property__read_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:500,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:501,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:502,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:503,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 507
    functionName: TEST_invalid_property_id
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_PTR_EQUAL
    - CU_ASSERT_EQUAL
    - property__read_all
    - memset
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_invalid_property_id(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:519,1
    - Dst: byte_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 525
    functionName: TEST_single_payload_format_indicator
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - byte_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_single_payload_format_indicator(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:532,1
    - Dst: byte_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 538
    functionName: TEST_single_request_problem_information
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - byte_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_single_request_problem_information(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:545,1
    - Dst: byte_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 541
    functionDepth: 2
    functionLinenumber: 541
    functionLinenumberEnd: 551
    functionName: TEST_single_request_response_information
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - byte_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_single_request_response_information(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:558,1
    - Dst: byte_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 564
    functionName: TEST_single_maximum_qos
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - byte_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_single_maximum_qos(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:571,1
    - Dst: byte_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 577
    functionName: TEST_single_retain_available
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - byte_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_single_retain_available(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:584,1
    - Dst: byte_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 590
    functionName: TEST_single_wildcard_subscription_available
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - byte_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_single_wildcard_subscription_available(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:597,1
    - Dst: byte_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 593
    functionDepth: 2
    functionLinenumber: 593
    functionLinenumberEnd: 603
    functionName: TEST_single_subscription_identifier_available
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - byte_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_single_subscription_identifier_available(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:610,1
    - Dst: byte_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 616
    functionName: TEST_single_shared_subscription_available
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - byte_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_single_shared_subscription_available(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:623,1
    - Dst: int32_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 619
    functionDepth: 2
    functionLinenumber: 619
    functionLinenumberEnd: 632
    functionName: TEST_single_message_expiry_interval
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - int32_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_single_message_expiry_interval(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:639,1
    - Dst: int32_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 648
    functionName: TEST_single_session_expiry_interval
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - int32_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_single_session_expiry_interval(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:655,1
    - Dst: int32_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 651
    functionDepth: 2
    functionLinenumber: 651
    functionLinenumberEnd: 664
    functionName: TEST_single_will_delay_interval
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - int32_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_single_will_delay_interval(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:671,1
    - Dst: int32_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 667
    functionDepth: 2
    functionLinenumber: 667
    functionLinenumberEnd: 680
    functionName: TEST_single_maximum_packet_size
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - int32_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_single_maximum_packet_size(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:687,1
    - Dst: int16_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 694
    functionName: TEST_single_server_keep_alive
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - memset
    - int16_prop_read_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_server_keep_alive(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:701,1
    - Dst: int16_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 708
    functionName: TEST_single_receive_maximum
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - memset
    - int16_prop_read_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_receive_maximum(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:715,1
    - Dst: int16_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 711
    functionDepth: 2
    functionLinenumber: 711
    functionLinenumberEnd: 722
    functionName: TEST_single_topic_alias_maximum
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - memset
    - int16_prop_read_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_topic_alias_maximum(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:729,1
    - Dst: int16_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 725
    functionDepth: 2
    functionLinenumber: 725
    functionLinenumberEnd: 736
    functionName: TEST_single_topic_alias
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - memset
    - int16_prop_read_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_topic_alias(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:743,1
    - Dst: string_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 739
    functionDepth: 2
    functionLinenumber: 739
    functionLinenumberEnd: 755
    functionName: TEST_single_content_type
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - string_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_single_content_type(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:762,1
    - Dst: string_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 758
    functionDepth: 2
    functionLinenumber: 758
    functionLinenumberEnd: 774
    functionName: TEST_single_response_topic
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - string_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_single_response_topic(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:781,1
    - Dst: string_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 777
    functionDepth: 2
    functionLinenumber: 777
    functionLinenumberEnd: 793
    functionName: TEST_single_assigned_client_identifier
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - string_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_single_assigned_client_identifier(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:800,1
    - Dst: string_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 796
    functionDepth: 2
    functionLinenumber: 796
    functionLinenumberEnd: 812
    functionName: TEST_single_authentication_method
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - string_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_single_authentication_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:819,1
    - Dst: string_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 815
    functionDepth: 2
    functionLinenumber: 815
    functionLinenumberEnd: 831
    functionName: TEST_single_response_information
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - string_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_single_response_information(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:838,1
    - Dst: string_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 834
    functionDepth: 2
    functionLinenumber: 834
    functionLinenumberEnd: 850
    functionName: TEST_single_server_reference
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - string_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_single_server_reference(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:857,1
    - Dst: string_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 853
    functionDepth: 2
    functionLinenumber: 853
    functionLinenumberEnd: 869
    functionName: TEST_single_reason_string
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - string_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_single_reason_string(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:876,1
    - Dst: binary_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 872
    functionDepth: 2
    functionLinenumber: 872
    functionLinenumberEnd: 888
    functionName: TEST_single_correlation_data
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - binary_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_single_correlation_data(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:895,1
    - Dst: binary_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:906,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 891
    functionDepth: 2
    functionLinenumber: 891
    functionLinenumberEnd: 907
    functionName: TEST_single_authentication_data
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - binary_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_single_authentication_data(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_pair_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 910
    functionDepth: 2
    functionLinenumber: 910
    functionLinenumberEnd: 926
    functionName: TEST_single_user_property
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - string_pair_prop_read_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_user_property(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: varint_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:936,1
    - Dst: varint_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:941,1
    - Dst: varint_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:947,1
    - Dst: varint_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:953,1
    - Dst: varint_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:960,1
    - Dst: varint_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:967,1
    - Dst: varint_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:975,1
    - Dst: varint_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 929
    functionDepth: 2
    functionLinenumber: 929
    functionLinenumberEnd: 985
    functionName: TEST_single_subscription_identifier
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - varint_prop_read_helper
    linkageType: ''
    returnType: void
    signature: void TEST_single_subscription_identifier(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duplicate_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 993
    functionDepth: 3
    functionLinenumber: 993
    functionLinenumberEnd: 996
    functionName: TEST_duplicate_payload_format_indicator
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - duplicate_byte_helper
    linkageType: ''
    returnType: void
    signature: void TEST_duplicate_payload_format_indicator(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duplicate_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 999
    functionDepth: 3
    functionLinenumber: 999
    functionLinenumberEnd: 1002
    functionName: TEST_duplicate_request_problem_information
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - duplicate_byte_helper
    linkageType: ''
    returnType: void
    signature: void TEST_duplicate_request_problem_information(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duplicate_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1005
    functionDepth: 3
    functionLinenumber: 1005
    functionLinenumberEnd: 1008
    functionName: TEST_duplicate_request_response_information
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - duplicate_byte_helper
    linkageType: ''
    returnType: void
    signature: void TEST_duplicate_request_response_information(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duplicate_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1011
    functionDepth: 3
    functionLinenumber: 1011
    functionLinenumberEnd: 1014
    functionName: TEST_duplicate_maximum_qos
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - duplicate_byte_helper
    linkageType: ''
    returnType: void
    signature: void TEST_duplicate_maximum_qos(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duplicate_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1017
    functionDepth: 3
    functionLinenumber: 1017
    functionLinenumberEnd: 1020
    functionName: TEST_duplicate_retain_available
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - duplicate_byte_helper
    linkageType: ''
    returnType: void
    signature: void TEST_duplicate_retain_available(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duplicate_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1023
    functionDepth: 3
    functionLinenumber: 1023
    functionLinenumberEnd: 1026
    functionName: TEST_duplicate_wildcard_subscription_available
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - duplicate_byte_helper
    linkageType: ''
    returnType: void
    signature: void TEST_duplicate_wildcard_subscription_available(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duplicate_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1029
    functionDepth: 3
    functionLinenumber: 1029
    functionLinenumberEnd: 1032
    functionName: TEST_duplicate_subscription_identifier_available
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - duplicate_byte_helper
    linkageType: ''
    returnType: void
    signature: void TEST_duplicate_subscription_identifier_available(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duplicate_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1035
    functionDepth: 3
    functionLinenumber: 1035
    functionLinenumberEnd: 1038
    functionName: TEST_duplicate_shared_subscription_available
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - duplicate_byte_helper
    linkageType: ''
    returnType: void
    signature: void TEST_duplicate_shared_subscription_available(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duplicate_int32_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1041
    functionDepth: 3
    functionLinenumber: 1041
    functionLinenumberEnd: 1044
    functionName: TEST_duplicate_message_expiry_interval
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - duplicate_int32_helper
    linkageType: ''
    returnType: void
    signature: void TEST_duplicate_message_expiry_interval(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duplicate_int32_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1047
    functionDepth: 3
    functionLinenumber: 1047
    functionLinenumberEnd: 1050
    functionName: TEST_duplicate_session_expiry_interval
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - duplicate_int32_helper
    linkageType: ''
    returnType: void
    signature: void TEST_duplicate_session_expiry_interval(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duplicate_int32_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1053
    functionDepth: 3
    functionLinenumber: 1053
    functionLinenumberEnd: 1056
    functionName: TEST_duplicate_will_delay_interval
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - duplicate_int32_helper
    linkageType: ''
    returnType: void
    signature: void TEST_duplicate_will_delay_interval(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duplicate_int32_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1059
    functionDepth: 3
    functionLinenumber: 1059
    functionLinenumberEnd: 1062
    functionName: TEST_duplicate_maximum_packet_size
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - duplicate_int32_helper
    linkageType: ''
    returnType: void
    signature: void TEST_duplicate_maximum_packet_size(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duplicate_int16_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1065
    functionDepth: 3
    functionLinenumber: 1065
    functionLinenumberEnd: 1068
    functionName: TEST_duplicate_server_keep_alive
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - duplicate_int16_helper
    linkageType: ''
    returnType: void
    signature: void TEST_duplicate_server_keep_alive(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duplicate_int16_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1071
    functionDepth: 3
    functionLinenumber: 1071
    functionLinenumberEnd: 1074
    functionName: TEST_duplicate_receive_maximum
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - duplicate_int16_helper
    linkageType: ''
    returnType: void
    signature: void TEST_duplicate_receive_maximum(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duplicate_int16_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1077
    functionDepth: 3
    functionLinenumber: 1077
    functionLinenumberEnd: 1080
    functionName: TEST_duplicate_topic_alias_maximum
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - duplicate_int16_helper
    linkageType: ''
    returnType: void
    signature: void TEST_duplicate_topic_alias_maximum(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duplicate_int16_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1083
    functionDepth: 3
    functionLinenumber: 1083
    functionLinenumberEnd: 1086
    functionName: TEST_duplicate_topic_alias
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - duplicate_int16_helper
    linkageType: ''
    returnType: void
    signature: void TEST_duplicate_topic_alias(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duplicate_string_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1089
    functionDepth: 3
    functionLinenumber: 1089
    functionLinenumberEnd: 1092
    functionName: TEST_duplicate_content_type
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - duplicate_string_helper
    linkageType: ''
    returnType: void
    signature: void TEST_duplicate_content_type(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duplicate_string_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1095
    functionDepth: 3
    functionLinenumber: 1095
    functionLinenumberEnd: 1098
    functionName: TEST_duplicate_response_topic
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - duplicate_string_helper
    linkageType: ''
    returnType: void
    signature: void TEST_duplicate_response_topic(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duplicate_string_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1101
    functionDepth: 3
    functionLinenumber: 1101
    functionLinenumberEnd: 1104
    functionName: TEST_duplicate_assigned_client_identifier
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - duplicate_string_helper
    linkageType: ''
    returnType: void
    signature: void TEST_duplicate_assigned_client_identifier(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duplicate_string_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1107
    functionDepth: 3
    functionLinenumber: 1107
    functionLinenumberEnd: 1110
    functionName: TEST_duplicate_authentication_method
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - duplicate_string_helper
    linkageType: ''
    returnType: void
    signature: void TEST_duplicate_authentication_method(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duplicate_string_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1113
    functionDepth: 3
    functionLinenumber: 1113
    functionLinenumberEnd: 1116
    functionName: TEST_duplicate_response_information
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - duplicate_string_helper
    linkageType: ''
    returnType: void
    signature: void TEST_duplicate_response_information(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duplicate_string_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1119
    functionDepth: 3
    functionLinenumber: 1119
    functionLinenumberEnd: 1122
    functionName: TEST_duplicate_server_reference
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - duplicate_string_helper
    linkageType: ''
    returnType: void
    signature: void TEST_duplicate_server_reference(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duplicate_string_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1125
    functionDepth: 3
    functionLinenumber: 1125
    functionLinenumberEnd: 1128
    functionName: TEST_duplicate_reason_string
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - duplicate_string_helper
    linkageType: ''
    returnType: void
    signature: void TEST_duplicate_reason_string(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duplicate_binary_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1131
    functionDepth: 3
    functionLinenumber: 1131
    functionLinenumberEnd: 1134
    functionName: TEST_duplicate_correlation_data
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - duplicate_binary_helper
    linkageType: ''
    returnType: void
    signature: void TEST_duplicate_correlation_data(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: duplicate_binary_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1137
    functionDepth: 3
    functionLinenumber: 1137
    functionLinenumberEnd: 1140
    functionName: TEST_duplicate_authentication_data
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - duplicate_binary_helper
    linkageType: ''
    returnType: void
    signature: void TEST_duplicate_authentication_data(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:1147,1
    - Dst: string_pair_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1143
    functionDepth: 2
    functionLinenumber: 1143
    functionLinenumberEnd: 1169
    functionName: TEST_duplicate_user_property
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - string_pair_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_duplicate_user_property(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:1176,1
    - Dst: varint_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1172
    functionDepth: 2
    functionLinenumber: 1172
    functionLinenumberEnd: 1185
    functionName: TEST_duplicate_subscription_identifier
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - varint_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_duplicate_subscription_identifier(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bad_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1193
    functionDepth: 3
    functionLinenumber: 1193
    functionLinenumberEnd: 1196
    functionName: TEST_bad_request_problem_information
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - bad_byte_helper
    linkageType: ''
    returnType: void
    signature: void TEST_bad_request_problem_information(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bad_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1199
    functionDepth: 3
    functionLinenumber: 1199
    functionLinenumberEnd: 1202
    functionName: TEST_bad_request_response_information
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - bad_byte_helper
    linkageType: ''
    returnType: void
    signature: void TEST_bad_request_response_information(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bad_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1205
    functionDepth: 3
    functionLinenumber: 1205
    functionLinenumberEnd: 1208
    functionName: TEST_bad_maximum_qos
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - bad_byte_helper
    linkageType: ''
    returnType: void
    signature: void TEST_bad_maximum_qos(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bad_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1211
    functionDepth: 3
    functionLinenumber: 1211
    functionLinenumberEnd: 1214
    functionName: TEST_bad_retain_available
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - bad_byte_helper
    linkageType: ''
    returnType: void
    signature: void TEST_bad_retain_available(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bad_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1217
    functionDepth: 3
    functionLinenumber: 1217
    functionLinenumberEnd: 1220
    functionName: TEST_bad_wildcard_sub_available
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - bad_byte_helper
    linkageType: ''
    returnType: void
    signature: void TEST_bad_wildcard_sub_available(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bad_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1223
    functionDepth: 3
    functionLinenumber: 1223
    functionLinenumberEnd: 1226
    functionName: TEST_bad_subscription_id_available
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - bad_byte_helper
    linkageType: ''
    returnType: void
    signature: void TEST_bad_subscription_id_available(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bad_byte_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1229
    functionDepth: 3
    functionLinenumber: 1229
    functionLinenumberEnd: 1232
    functionName: TEST_bad_shared_sub_available
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - bad_byte_helper
    linkageType: ''
    returnType: void
    signature: void TEST_bad_shared_sub_available(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:1239,1
    - Dst: int32_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1235
    functionDepth: 2
    functionLinenumber: 1235
    functionLinenumberEnd: 1248
    functionName: TEST_bad_maximum_packet_size
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - int32_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_bad_maximum_packet_size(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:1255,1
    - Dst: int32_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1251
    functionDepth: 2
    functionLinenumber: 1251
    functionLinenumberEnd: 1262
    functionName: TEST_bad_receive_maximum
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - int32_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_bad_receive_maximum(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:1269,1
    - Dst: int32_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1265
    functionDepth: 2
    functionLinenumber: 1265
    functionLinenumberEnd: 1276
    functionName: TEST_bad_topic_alias
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - int32_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_bad_topic_alias(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bad_string_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1279
    functionDepth: 3
    functionLinenumber: 1279
    functionLinenumberEnd: 1282
    functionName: TEST_bad_content_type
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - bad_string_helper
    linkageType: ''
    returnType: void
    signature: void TEST_bad_content_type(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:1289,1
    - Dst: varint_prop_read_helper
      Src: /src/mosquitto/test/unit/lib/property_read.c:1298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1285
    functionDepth: 2
    functionLinenumber: 1285
    functionLinenumberEnd: 1299
    functionName: TEST_bad_subscription_identifier
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - varint_prop_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_bad_subscription_identifier(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:1328,1
    - Dst: property__read_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:1331,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1333,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1335,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1337,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1338,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1339,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1342,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1344,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1345,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1346,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1349,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1351,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1352,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1353,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1356,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1358,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1359,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1360,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1363,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1365,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1366,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1367,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1370,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1372,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1373,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1374,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1377,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1379,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1380,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1381,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1382,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:1382,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1383,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1384,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:1384,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1387,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1389,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1390,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1391,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1392,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:1392,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1395,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1397,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1398,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1399,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1400,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1401,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:1412,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1307
    functionDepth: 1
    functionLinenumber: 1307
    functionLinenumberEnd: 1413
    functionName: TEST_packet_connect
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - property__read_all
    - CU_ASSERT_PTR_NOT_NULL
    - strlen
    - CU_ASSERT_STRING_EQUAL
    - memset
    - CU_ASSERT_PTR_NULL
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_packet_connect(void)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:1445,1
    - Dst: property__read_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:1448,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1450,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1451,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1454,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1456,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1457,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1460,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1462,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1463,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1464,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1467,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1469,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1470,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1471,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1474,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1476,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1477,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1478,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1481,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1483,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1484,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1485,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1488,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1490,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1491,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1492,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1493,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:1493,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1496,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1498,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1499,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1500,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1503,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1505,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1506,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1507,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1508,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:1508,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1511,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1513,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1514,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1515,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1516,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:1516,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1517,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1518,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:1518,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1521,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1523,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1524,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1525,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1528,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1530,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1531,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1532,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1535,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1537,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1538,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1539,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1542,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1544,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1545,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1546,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1549,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1551,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1552,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1553,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1554,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:1554,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1557,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1559,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1560,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1561,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1562,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:1562,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1565,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1567,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1568,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1569,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1570,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:1570,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1573,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1575,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1576,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1577,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1578,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1579,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:1598,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 138
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1416
    functionDepth: 1
    functionLinenumber: 1416
    functionLinenumberEnd: 1599
    functionName: TEST_packet_connack
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - property__read_all
    - CU_ASSERT_PTR_NOT_NULL
    - strlen
    - CU_ASSERT_STRING_EQUAL
    - memset
    - CU_ASSERT_PTR_NULL
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_packet_connack(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:1622,1
    - Dst: property__read_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:1625,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1627,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1630,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1632,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1633,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1634,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1637,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1639,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1640,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1641,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1644,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1646,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1647,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1648,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1651,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1653,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1654,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1655,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1656,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:1656,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1659,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1661,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1662,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1663,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1664,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1665,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1668,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1670,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1671,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1672,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1673,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:1673,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1674,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1675,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:1675,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1678,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1680,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1681,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1682,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1685,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1687,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1688,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1689,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1690,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:1690,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:1700,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1602
    functionDepth: 1
    functionLinenumber: 1602
    functionLinenumberEnd: 1701
    functionName: TEST_packet_publish
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - property__read_all
    - CU_ASSERT_PTR_NOT_NULL
    - strlen
    - CU_ASSERT_STRING_EQUAL
    - memset
    - CU_ASSERT_PTR_NULL
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_packet_publish(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packet_helper_reason_string_user_property
      Src: /src/mosquitto/test/unit/lib/property_read.c:1706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1707
      start: 1704
    functionDepth: 2
    functionLinenumber: 1704
    functionLinenumberEnd: 1707
    functionName: TEST_packet_puback
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - packet_helper_reason_string_user_property
    linkageType: ''
    returnType: void
    signature: void TEST_packet_puback(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packet_helper_reason_string_user_property
      Src: /src/mosquitto/test/unit/lib/property_read.c:1712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1713
      start: 1710
    functionDepth: 2
    functionLinenumber: 1710
    functionLinenumberEnd: 1713
    functionName: TEST_packet_pubrec
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - packet_helper_reason_string_user_property
    linkageType: ''
    returnType: void
    signature: void TEST_packet_pubrec(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packet_helper_reason_string_user_property
      Src: /src/mosquitto/test/unit/lib/property_read.c:1718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1719
      start: 1716
    functionDepth: 2
    functionLinenumber: 1716
    functionLinenumberEnd: 1719
    functionName: TEST_packet_pubrel
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - packet_helper_reason_string_user_property
    linkageType: ''
    returnType: void
    signature: void TEST_packet_pubrel(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packet_helper_reason_string_user_property
      Src: /src/mosquitto/test/unit/lib/property_read.c:1724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1722
    functionDepth: 2
    functionLinenumber: 1722
    functionLinenumberEnd: 1725
    functionName: TEST_packet_pubcomp
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - packet_helper_reason_string_user_property
    linkageType: ''
    returnType: void
    signature: void TEST_packet_pubcomp(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:1742,1
    - Dst: property__read_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:1745,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1747,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1750,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1752,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1753,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1754,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1755,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:1755,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1756,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1757,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:1757,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1760,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1762,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1763,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1764,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:1768,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1728
    functionDepth: 1
    functionLinenumber: 1728
    functionLinenumberEnd: 1769
    functionName: TEST_packet_subscribe
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - property__read_all
    - CU_ASSERT_PTR_NOT_NULL
    - strlen
    - CU_ASSERT_STRING_EQUAL
    - memset
    - CU_ASSERT_PTR_NULL
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_packet_subscribe(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packet_helper_reason_string_user_property
      Src: /src/mosquitto/test/unit/lib/property_read.c:1774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1772
    functionDepth: 2
    functionLinenumber: 1772
    functionLinenumberEnd: 1775
    functionName: TEST_packet_suback
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - packet_helper_reason_string_user_property
    linkageType: ''
    returnType: void
    signature: void TEST_packet_suback(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:1791,1
    - Dst: property__read_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:1794,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1796,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1799,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1801,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1802,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1803,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1804,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:1804,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1805,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1806,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:1806,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:1809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1778
    functionDepth: 1
    functionLinenumber: 1778
    functionLinenumberEnd: 1810
    functionName: TEST_packet_unsubscribe
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - property__read_all
    - CU_ASSERT_PTR_NOT_NULL
    - strlen
    - CU_ASSERT_STRING_EQUAL
    - memset
    - CU_ASSERT_PTR_NULL
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_packet_unsubscribe(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packet_helper_reason_string_user_property
      Src: /src/mosquitto/test/unit/lib/property_read.c:1815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1813
    functionDepth: 2
    functionLinenumber: 1813
    functionLinenumberEnd: 1816
    functionName: TEST_packet_unsuback
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - packet_helper_reason_string_user_property
    linkageType: ''
    returnType: void
    signature: void TEST_packet_unsuback(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:1834,1
    - Dst: property__read_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:1837,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1839,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1842,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1844,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1845,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1846,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1849,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1851,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1852,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1853,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1854,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:1854,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1857,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1859,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1860,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1861,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1862,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:1862,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1863,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1864,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:1864,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:1869,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1819
    functionDepth: 1
    functionLinenumber: 1819
    functionLinenumberEnd: 1870
    functionName: TEST_packet_disconnect
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - property__read_all
    - CU_ASSERT_PTR_NOT_NULL
    - strlen
    - CU_ASSERT_STRING_EQUAL
    - memset
    - CU_ASSERT_PTR_NULL
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_packet_disconnect(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/property_read.c:1889,1
    - Dst: property__read_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:1892,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1894,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1897,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1899,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1900,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1901,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1902,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:1902,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1905,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1907,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1908,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1909,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1910,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1911,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1914,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1916,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1917,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1918,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1919,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:1919,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1922,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1924,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1925,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1926,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1927,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:1927,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1928,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/property_read.c:1929,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/property_read.c:1929,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/lib/property_read.c:1935,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1936
      start: 1873
    functionDepth: 1
    functionLinenumber: 1873
    functionLinenumberEnd: 1936
    functionName: TEST_packet_auth
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - property__read_all
    - CU_ASSERT_PTR_NOT_NULL
    - strlen
    - CU_ASSERT_STRING_EQUAL
    - memset
    - CU_ASSERT_PTR_NULL
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_packet_auth(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/mosquitto/test/unit/lib/property_read.c:1948,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/lib/property_read.c:1950,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1955,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1956,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1957,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1958,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1959,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1960,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1961,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1962,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1963,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1964,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1965,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1966,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1967,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1968,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1969,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1970,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1971,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1972,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1973,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1974,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1975,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1976,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1977,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1978,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1979,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1980,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1981,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1982,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1983,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1984,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1985,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1986,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1987,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1988,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1989,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1990,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1991,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1992,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1993,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1994,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1995,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1996,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1997,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1998,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:1999,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2000,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2001,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2002,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2003,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2004,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2005,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2006,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2007,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2008,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2009,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2010,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2011,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2012,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2013,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2014,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2015,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2016,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2017,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2018,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2019,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2020,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2021,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2022,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2023,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2024,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2025,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2026,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2027,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2028,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2029,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2030,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2031,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2032,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2033,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2034,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2035,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/property_read.c:2036,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/lib/property_read.c:2039,1
    CyclomaticComplexity: 84
    EdgeCount: 84
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2044
      start: 1944
    functionDepth: 0
    functionLinenumber: 1944
    functionLinenumberEnd: 2044
    functionName: init_property_read_tests
    functionSourceFile: /src/mosquitto/test/unit/lib/property_read.c
    functionUses: 1
    functionsReached:
    - CU_add_test
    - printf
    - CU_add_suite
    linkageType: ''
    returnType: int
    signature: int init_property_read_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:17,1
    - Dst: packet__read_byte
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:20,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:21,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - payload
    - remaining_length
    - rc_expected
    - value_expected
    argTypes:
    - uint8_t*
    - uint32_t
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 7
    functionDepth: 1
    functionLinenumber: 7
    functionLinenumberEnd: 23
    functionName: byte_read_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - memset
    - packet__read_byte
    linkageType: ''
    returnType: void
    signature: "void byte_read_helper(\n\t\tuint8_t *payload,\n\t\tuint32_t remaining_length,\n\t\tint
      rc_expected,\n\t\tuint8_t value_expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:36,1
    - Dst: packet__read_uint16
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:39,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:40,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - payload
    - remaining_length
    - rc_expected
    - value_expected
    argTypes:
    - uint8_t*
    - uint32_t
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 42
    functionName: uint16_read_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - packet__read_uint16
    - memset
    linkageType: ''
    returnType: void
    signature: "void uint16_read_helper(\n\t\tuint8_t *payload,\n\t\tuint32_t remaining_length,\n\t\tint
      rc_expected,\n\t\tuint16_t value_expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:55,1
    - Dst: packet__read_uint32
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:58,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:59,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - payload
    - remaining_length
    - rc_expected
    - value_expected
    argTypes:
    - uint8_t*
    - uint32_t
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 61
    functionName: uint32_read_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - packet__read_uint32
    - CU_ASSERT_EQUAL
    - memset
    linkageType: ''
    returnType: void
    signature: "void uint32_read_helper(\n\t\tuint8_t *payload,\n\t\tuint32_t remaining_length,\n\t\tint
      rc_expected,\n\t\tuint32_t value_expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:76,1
    - Dst: packet__read_varint
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:79,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:80,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:81,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - payload
    - remaining_length
    - rc_expected
    - value_expected
    - bytes_expected
    argTypes:
    - uint8_t*
    - uint32_t
    - int
    - uint32_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 83
    functionName: varint_read_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - packet__read_varint
    - CU_ASSERT_EQUAL
    - memset
    linkageType: ''
    returnType: void
    signature: "void varint_read_helper(\n\t\tuint8_t *payload,\n\t\tuint32_t remaining_length,\n\t\tint
      rc_expected,\n\t\tuint32_t value_expected,\n\t\tuint8_t bytes_expected)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:98,1
    - Dst: packet__read_binary
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:101,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:102,1
    - Dst: CU_ASSERT_NSTRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:105,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:107,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:109,1
    - Dst: free
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - payload
    - remaining_length
    - rc_expected
    - value_expected
    - length_expected
    argTypes:
    - uint8_t*
    - uint32_t
    - int
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 111
    functionName: binary_read_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - packet__read_binary
    - memset
    - CU_ASSERT_NSTRING_EQUAL
    - free
    linkageType: ''
    returnType: void
    signature: "void binary_read_helper(\n\t\tuint8_t *payload,\n\t\tuint32_t remaining_length,\n\t\tint
      rc_expected,\n\t\tconst uint8_t *value_expected,\n\t\tint length_expected)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:126,1
    - Dst: packet__read_string
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:129,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:130,1
    - Dst: CU_ASSERT_NSTRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:133,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:136,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:138,1
    - Dst: free
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - payload
    - remaining_length
    - rc_expected
    - value_expected
    - length_expected
    argTypes:
    - uint8_t*
    - uint32_t
    - int
    - uint8_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 140
    functionName: string_read_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - packet__read_string
    - memset
    - CU_ASSERT_NSTRING_EQUAL
    - CU_ASSERT_PTR_NULL
    - free
    linkageType: ''
    returnType: void
    signature: "void string_read_helper(\n\t\tuint8_t *payload,\n\t\tuint32_t remaining_length,\n\t\tint
      rc_expected,\n\t\tconst uint8_t *value_expected,\n\t\tuint16_t length_expected)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:155,1
    - Dst: packet__read_bytes
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:158,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:159,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:161,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - payload
    - remaining_length
    - rc_expected
    - value_expected
    - count
    argTypes:
    - uint8_t*
    - uint32_t
    - int
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 168
    functionName: bytes_read_helper
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - packet__read_bytes
    - memset
    linkageType: ''
    returnType: void
    signature: "void bytes_read_helper(\n\t\tuint8_t *payload,\n\t\tuint32_t remaining_length,\n\t\tint
      rc_expected,\n\t\tconst uint8_t *value_expected,\n\t\tint count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: byte_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: TEST_byte_read_empty
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - byte_read_helper
    linkageType: ''
    returnType: void
    signature: void TEST_byte_read_empty(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:198,1
    - Dst: byte_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:200,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:203,1
    - Dst: byte_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:205,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:208,1
    - Dst: byte_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 212
    functionName: TEST_byte_read_success
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - byte_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_byte_read_success(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint16_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: TEST_uint16_read_empty
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - uint16_read_helper
    linkageType: ''
    returnType: void
    signature: void TEST_uint16_read_empty(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:242,1
    - Dst: uint16_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 245
    functionName: TEST_uint16_read_truncated
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - uint16_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_uint16_read_truncated(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:259,1
    - Dst: uint16_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:262,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:265,1
    - Dst: uint16_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:268,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:271,1
    - Dst: uint16_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 276
    functionName: TEST_uint16_read_success
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - uint16_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_uint16_read_success(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint32_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: TEST_uint32_read_empty
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - uint32_read_helper
    linkageType: ''
    returnType: void
    signature: void TEST_uint32_read_empty(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:306,1
    - Dst: uint32_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:308,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:311,1
    - Dst: uint32_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:314,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:317,1
    - Dst: uint32_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 322
    functionName: TEST_uint32_read_truncated
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - uint32_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_uint32_read_truncated(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:336,1
    - Dst: uint32_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:341,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:344,1
    - Dst: uint32_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:349,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:352,1
    - Dst: uint32_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 359
    functionName: TEST_uint32_read_success
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - uint32_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_uint32_read_success(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: varint_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 376
    functionName: TEST_varint_read_empty
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - varint_read_helper
    linkageType: ''
    returnType: void
    signature: void TEST_varint_read_empty(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:389,1
    - Dst: varint_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:391,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:394,1
    - Dst: varint_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:397,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:400,1
    - Dst: varint_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:404,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:407,1
    - Dst: varint_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 413
    functionName: TEST_varint_read_truncated
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - varint_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_varint_read_truncated(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:426,1
    - Dst: varint_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:428,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:431,1
    - Dst: varint_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:433,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:436,1
    - Dst: varint_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:439,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:442,1
    - Dst: varint_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:445,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:448,1
    - Dst: varint_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:452,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:455,1
    - Dst: varint_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:459,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:462,1
    - Dst: varint_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:467,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:470,1
    - Dst: varint_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 476
    functionName: TEST_varint_read_boundaries
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - varint_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_varint_read_boundaries(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:489,1
    - Dst: varint_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 496
    functionName: TEST_varint_read_5_bytes
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - varint_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_varint_read_5_bytes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:509,1
    - Dst: varint_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:512,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:515,1
    - Dst: varint_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:518,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:521,1
    - Dst: varint_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:525,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:528,1
    - Dst: varint_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:532,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:535,1
    - Dst: varint_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:540,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:543,1
    - Dst: varint_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 549
    functionName: TEST_varint_read_overlong_encoding
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - varint_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_varint_read_overlong_encoding(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 565
    functionName: TEST_string_read_empty
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - string_read_helper
    linkageType: ''
    returnType: void
    signature: void TEST_string_read_empty(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:578,1
    - Dst: string_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:580,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:583,1
    - Dst: string_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:586,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:589,1
    - Dst: string_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:593,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:596,1
    - Dst: string_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 602
    functionName: TEST_string_read_truncated
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - string_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_string_read_truncated(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:614,1
    - Dst: string_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 610
    functionDepth: 2
    functionLinenumber: 610
    functionLinenumberEnd: 618
    functionName: TEST_string_read_empty_string
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - string_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_string_read_empty_string(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:630,1
    - Dst: string_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 645
    functionName: TEST_string_read_valid_string
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - string_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_string_read_valid_string(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:657,1
    - Dst: string_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 653
    functionDepth: 2
    functionLinenumber: 653
    functionLinenumberEnd: 668
    functionName: TEST_string_read_malformed_string
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - string_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_string_read_malformed_string(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:680,1
    - Dst: string_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 676
    functionDepth: 2
    functionLinenumber: 676
    functionLinenumberEnd: 695
    functionName: TEST_string_read_mqtt_1_5_4_3
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - string_read_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_string_read_mqtt_1_5_4_3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: binary_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 708
    functionDepth: 2
    functionLinenumber: 708
    functionLinenumberEnd: 711
    functionName: TEST_binary_data_read_empty
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - binary_read_helper
    linkageType: ''
    returnType: void
    signature: void TEST_binary_data_read_empty(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:724,1
    - Dst: binary_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:726,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:729,1
    - Dst: binary_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:732,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:735,1
    - Dst: binary_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:739,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:742,1
    - Dst: binary_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 719
    functionDepth: 2
    functionLinenumber: 719
    functionLinenumberEnd: 748
    functionName: TEST_binary_data_read_truncated
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - memset
    - binary_read_helper
    linkageType: ''
    returnType: void
    signature: void TEST_binary_data_read_truncated(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bytes_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 761
    functionDepth: 2
    functionLinenumber: 761
    functionLinenumberEnd: 765
    functionName: TEST_bytes_read_empty
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - bytes_read_helper
    linkageType: ''
    returnType: void
    signature: void TEST_bytes_read_empty(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bytes_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 776
    functionName: TEST_bytes_read_truncated
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - bytes_read_helper
    linkageType: ''
    returnType: void
    signature: void TEST_bytes_read_truncated(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bytes_read_helper
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:792,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 784
    functionDepth: 2
    functionLinenumber: 784
    functionLinenumberEnd: 793
    functionName: TEST_bytes_read_success
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 0
    functionsReached:
    - bytes_read_helper
    linkageType: ''
    returnType: void
    signature: void TEST_bytes_read_success(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:805,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:807,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:812,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:813,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:814,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:815,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:816,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:817,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:818,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:819,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:820,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:821,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:822,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:823,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:824,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:825,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:826,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:827,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:828,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:829,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:830,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:831,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:832,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:833,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:834,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:835,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/lib/datatype_read.c:838,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 843
    functionName: init_datatype_read_tests
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_read.c
    functionUses: 1
    functionsReached:
    - CU_add_test
    - printf
    - CU_add_suite
    linkageType: ''
    returnType: int
    signature: int init_datatype_read_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: packet__alloc
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:21,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:22,1
    - Dst: packet__write_byte
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:29,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:32,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:34,1
    - Dst: free
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 37
    functionName: TEST_byte_write
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_write.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - free
    - packet__write_byte
    - packet__alloc
    linkageType: ''
    returnType: void
    signature: void TEST_byte_write(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: packet__alloc
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:53,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:54,1
    - Dst: packet__write_uint16
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:61,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:64,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:67,1
    - Dst: htons
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:67,1
    - Dst: free
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: TEST_uint16_write
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_write.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - packet__alloc
    - htons
    - packet__write_uint16
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_uint16_write(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:85,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:86,1
    - Dst: packet__write_uint32
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:94,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:97,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:100,1
    - Dst: htonl
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:100,1
    - Dst: free
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 103
    functionName: TEST_uint32_write
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_write.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - calloc
    - htonl
    - CU_ASSERT_PTR_NOT_NULL
    - packet__write_uint32
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_uint32_write(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:116,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:117,1
    - Dst: packet__write_string
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:124,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:124,1
    - Dst: packet__write_string
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:125,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:125,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:127,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:128,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:129,1
    - Dst: CU_ASSERT_NSTRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:130,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:131,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:132,1
    - Dst: CU_ASSERT_NSTRING_EQUAL
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:133,1
    - Dst: free
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 136
    functionName: TEST_string_write
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_write.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - calloc
    - CU_ASSERT_PTR_NOT_NULL
    - strlen
    - packet__write_string
    - CU_ASSERT_NSTRING_EQUAL
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_string_write(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:148,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:150,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:155,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:156,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:157,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:158,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/lib/datatype_write.c:161,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 166
    functionName: init_datatype_write_tests
    functionSourceFile: /src/mosquitto/test/unit/lib/datatype_write.c
    functionUses: 1
    functionsReached:
    - CU_add_test
    - printf
    - CU_add_suite
    linkageType: ''
    returnType: int
    signature: int init_datatype_write_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/libcommon/test.c:19,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/libcommon/test.c:20,1
    - Dst: CU_initialize_registry
      Src: /src/mosquitto/test/unit/libcommon/test.c:22,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/libcommon/test.c:23,1
    - Dst: init_property_add_tests
      Src: /src/mosquitto/test/unit/libcommon/test.c:28,1
    - Dst: init_property_value_tests
      Src: /src/mosquitto/test/unit/libcommon/test.c:29,1
    - Dst: init_strings_tests
      Src: /src/mosquitto/test/unit/libcommon/test.c:30,1
    - Dst: init_topic_tests
      Src: /src/mosquitto/test/unit/libcommon/test.c:31,1
    - Dst: init_trim_tests
      Src: /src/mosquitto/test/unit/libcommon/test.c:32,1
    - Dst: init_utf8_tests
      Src: /src/mosquitto/test/unit/libcommon/test.c:33,1
    - Dst: CU_cleanup_registry
      Src: /src/mosquitto/test/unit/libcommon/test.c:36,1
    - Dst: CU_basic_set_mode
      Src: /src/mosquitto/test/unit/libcommon/test.c:40,1
    - Dst: CU_basic_run_tests
      Src: /src/mosquitto/test/unit/libcommon/test.c:41,1
    - Dst: CU_get_number_of_failures
      Src: /src/mosquitto/test/unit/libcommon/test.c:42,1
    - Dst: CU_cleanup_registry
      Src: /src/mosquitto/test/unit/libcommon/test.c:43,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 46
    functionName: main
    functionSourceFile: /src/mosquitto/test/unit/libcommon/test.c
    functionUses: 95
    functionsReached:
    - init_trim_tests
    - CU_basic_set_mode
    - init_property_add_tests
    - CU_initialize_registry
    - init_strings_tests
    - init_utf8_tests
    - CU_basic_run_tests
    - init_property_value_tests
    - printf
    - CU_cleanup_registry
    - init_topic_tests
    - CU_get_number_of_failures
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:14,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - proplist
    - expected
    argTypes:
    - mosquitto_property*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 25
    functionName: check_count
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void check_count(mosquitto_property *proplist, int expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:38,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:39,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: bad_add_byte_helper
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_property_add_byte
    - CU_ASSERT_PTR_NULL
    linkageType: ''
    returnType: void
    signature: void bad_add_byte_helper(int identifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_int16
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:49,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:50,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: bad_add_int16_helper
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - CU_ASSERT_PTR_NULL
    - mosquitto_property_add_int16
    linkageType: ''
    returnType: void
    signature: void bad_add_int16_helper(int identifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_int32
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:60,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:61,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: bad_add_int32_helper
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - CU_ASSERT_PTR_NULL
    - mosquitto_property_add_int32
    linkageType: ''
    returnType: void
    signature: void bad_add_int32_helper(int identifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_varint
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:71,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:72,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: bad_add_varint_helper
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - mosquitto_property_add_varint
    - CU_ASSERT_PTR_NULL
    - CU_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void bad_add_varint_helper(int identifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_binary
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:82,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:83,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: bad_add_binary_helper
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - CU_ASSERT_PTR_NULL
    - mosquitto_property_add_binary
    linkageType: ''
    returnType: void
    signature: void bad_add_binary_helper(int identifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:93,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:94,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: bad_add_string_helper
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - CU_ASSERT_PTR_NULL
    - mosquitto_property_add_string
    linkageType: ''
    returnType: void
    signature: void bad_add_string_helper(int identifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_string_pair
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:104,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:105,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: bad_add_string_pair_helper
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - CU_ASSERT_PTR_NULL
    - mosquitto_property_add_string_pair
    linkageType: ''
    returnType: void
    signature: void bad_add_string_pair_helper(int identifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bad_add_byte_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:112,1
    - Dst: bad_add_byte_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:113,1
    - Dst: bad_add_byte_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:114,1
    - Dst: bad_add_byte_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:115,1
    - Dst: bad_add_byte_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:116,1
    - Dst: bad_add_byte_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:117,1
    - Dst: bad_add_byte_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:118,1
    - Dst: bad_add_byte_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:119,1
    - Dst: bad_add_byte_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:120,1
    - Dst: bad_add_byte_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:121,1
    - Dst: bad_add_byte_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:122,1
    - Dst: bad_add_byte_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:123,1
    - Dst: bad_add_byte_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:124,1
    - Dst: bad_add_byte_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:125,1
    - Dst: bad_add_byte_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:126,1
    - Dst: bad_add_byte_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:127,1
    - Dst: bad_add_byte_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:128,1
    - Dst: bad_add_byte_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:129,1
    - Dst: bad_add_byte_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 131
    functionName: TEST_add_bad_byte
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - bad_add_byte_helper
    linkageType: ''
    returnType: void
    signature: void TEST_add_bad_byte(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bad_add_int16_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:136,1
    - Dst: bad_add_int16_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:137,1
    - Dst: bad_add_int16_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:138,1
    - Dst: bad_add_int16_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:139,1
    - Dst: bad_add_int16_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:140,1
    - Dst: bad_add_int16_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:141,1
    - Dst: bad_add_int16_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:142,1
    - Dst: bad_add_int16_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:143,1
    - Dst: bad_add_int16_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:144,1
    - Dst: bad_add_int16_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:145,1
    - Dst: bad_add_int16_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:146,1
    - Dst: bad_add_int16_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:147,1
    - Dst: bad_add_int16_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:148,1
    - Dst: bad_add_int16_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:149,1
    - Dst: bad_add_int16_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:150,1
    - Dst: bad_add_int16_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:151,1
    - Dst: bad_add_int16_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:152,1
    - Dst: bad_add_int16_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:153,1
    - Dst: bad_add_int16_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:154,1
    - Dst: bad_add_int16_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:155,1
    - Dst: bad_add_int16_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:156,1
    - Dst: bad_add_int16_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:157,1
    - Dst: bad_add_int16_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 159
    functionName: TEST_add_bad_int16
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - bad_add_int16_helper
    linkageType: ''
    returnType: void
    signature: void TEST_add_bad_int16(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bad_add_int32_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:164,1
    - Dst: bad_add_int32_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:165,1
    - Dst: bad_add_int32_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:166,1
    - Dst: bad_add_int32_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:167,1
    - Dst: bad_add_int32_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:168,1
    - Dst: bad_add_int32_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:169,1
    - Dst: bad_add_int32_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:170,1
    - Dst: bad_add_int32_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:171,1
    - Dst: bad_add_int32_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:172,1
    - Dst: bad_add_int32_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:173,1
    - Dst: bad_add_int32_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:174,1
    - Dst: bad_add_int32_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:175,1
    - Dst: bad_add_int32_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:176,1
    - Dst: bad_add_int32_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:177,1
    - Dst: bad_add_int32_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:178,1
    - Dst: bad_add_int32_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:179,1
    - Dst: bad_add_int32_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:180,1
    - Dst: bad_add_int32_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:181,1
    - Dst: bad_add_int32_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:182,1
    - Dst: bad_add_int32_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:183,1
    - Dst: bad_add_int32_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:184,1
    - Dst: bad_add_int32_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:185,1
    - Dst: bad_add_int32_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 187
    functionName: TEST_add_bad_int32
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - bad_add_int32_helper
    linkageType: ''
    returnType: void
    signature: void TEST_add_bad_int32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bad_add_varint_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:192,1
    - Dst: bad_add_varint_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:193,1
    - Dst: bad_add_varint_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:194,1
    - Dst: bad_add_varint_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:195,1
    - Dst: bad_add_varint_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:196,1
    - Dst: bad_add_varint_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:197,1
    - Dst: bad_add_varint_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:198,1
    - Dst: bad_add_varint_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:199,1
    - Dst: bad_add_varint_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:200,1
    - Dst: bad_add_varint_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:201,1
    - Dst: bad_add_varint_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:202,1
    - Dst: bad_add_varint_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:203,1
    - Dst: bad_add_varint_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:204,1
    - Dst: bad_add_varint_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:205,1
    - Dst: bad_add_varint_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:206,1
    - Dst: bad_add_varint_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:207,1
    - Dst: bad_add_varint_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:208,1
    - Dst: bad_add_varint_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:209,1
    - Dst: bad_add_varint_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:210,1
    - Dst: bad_add_varint_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:211,1
    - Dst: bad_add_varint_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:212,1
    - Dst: bad_add_varint_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:213,1
    - Dst: bad_add_varint_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:214,1
    - Dst: bad_add_varint_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:215,1
    - Dst: bad_add_varint_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:216,1
    - Dst: bad_add_varint_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 218
    functionName: TEST_add_bad_varint
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - bad_add_varint_helper
    linkageType: ''
    returnType: void
    signature: void TEST_add_bad_varint(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bad_add_binary_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:223,1
    - Dst: bad_add_binary_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:224,1
    - Dst: bad_add_binary_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:225,1
    - Dst: bad_add_binary_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:226,1
    - Dst: bad_add_binary_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:227,1
    - Dst: bad_add_binary_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:228,1
    - Dst: bad_add_binary_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:229,1
    - Dst: bad_add_binary_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:230,1
    - Dst: bad_add_binary_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:231,1
    - Dst: bad_add_binary_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:232,1
    - Dst: bad_add_binary_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:233,1
    - Dst: bad_add_binary_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:234,1
    - Dst: bad_add_binary_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:235,1
    - Dst: bad_add_binary_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:236,1
    - Dst: bad_add_binary_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:237,1
    - Dst: bad_add_binary_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:238,1
    - Dst: bad_add_binary_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:239,1
    - Dst: bad_add_binary_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:240,1
    - Dst: bad_add_binary_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:241,1
    - Dst: bad_add_binary_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:242,1
    - Dst: bad_add_binary_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:243,1
    - Dst: bad_add_binary_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:244,1
    - Dst: bad_add_binary_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:245,1
    - Dst: bad_add_binary_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:246,1
    - Dst: bad_add_binary_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 248
    functionName: TEST_add_bad_binary
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - bad_add_binary_helper
    linkageType: ''
    returnType: void
    signature: void TEST_add_bad_binary(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bad_add_string_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:253,1
    - Dst: bad_add_string_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:254,1
    - Dst: bad_add_string_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:255,1
    - Dst: bad_add_string_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:256,1
    - Dst: bad_add_string_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:257,1
    - Dst: bad_add_string_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:258,1
    - Dst: bad_add_string_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:259,1
    - Dst: bad_add_string_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:260,1
    - Dst: bad_add_string_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:261,1
    - Dst: bad_add_string_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:262,1
    - Dst: bad_add_string_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:263,1
    - Dst: bad_add_string_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:264,1
    - Dst: bad_add_string_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:265,1
    - Dst: bad_add_string_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:266,1
    - Dst: bad_add_string_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:267,1
    - Dst: bad_add_string_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:268,1
    - Dst: bad_add_string_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:269,1
    - Dst: bad_add_string_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:270,1
    - Dst: bad_add_string_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:271,1
    - Dst: bad_add_string_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 273
    functionName: TEST_add_bad_string
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - bad_add_string_helper
    linkageType: ''
    returnType: void
    signature: void TEST_add_bad_string(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bad_add_string_pair_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:278,1
    - Dst: bad_add_string_pair_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:279,1
    - Dst: bad_add_string_pair_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:280,1
    - Dst: bad_add_string_pair_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:281,1
    - Dst: bad_add_string_pair_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:282,1
    - Dst: bad_add_string_pair_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:283,1
    - Dst: bad_add_string_pair_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:284,1
    - Dst: bad_add_string_pair_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:285,1
    - Dst: bad_add_string_pair_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:286,1
    - Dst: bad_add_string_pair_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:287,1
    - Dst: bad_add_string_pair_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:288,1
    - Dst: bad_add_string_pair_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:289,1
    - Dst: bad_add_string_pair_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:290,1
    - Dst: bad_add_string_pair_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:291,1
    - Dst: bad_add_string_pair_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:292,1
    - Dst: bad_add_string_pair_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:293,1
    - Dst: bad_add_string_pair_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:294,1
    - Dst: bad_add_string_pair_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:295,1
    - Dst: bad_add_string_pair_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:296,1
    - Dst: bad_add_string_pair_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:297,1
    - Dst: bad_add_string_pair_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:298,1
    - Dst: bad_add_string_pair_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:299,1
    - Dst: bad_add_string_pair_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:300,1
    - Dst: bad_add_string_pair_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:301,1
    - Dst: bad_add_string_pair_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:302,1
    - Dst: bad_add_string_pair_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 304
    functionName: TEST_add_bad_string_pair
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - bad_add_string_pair_helper
    linkageType: ''
    returnType: void
    signature: void TEST_add_bad_string_pair(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:317,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:318,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:319,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:321,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:322,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:323,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 327
    functionName: single_add_byte_helper
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_property_add_byte
    - CU_ASSERT_PTR_NOT_NULL
    - CU_ASSERT_PTR_NULL
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void single_add_byte_helper(int identifier)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_int16
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:335,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:336,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:337,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:339,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:340,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:341,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 345
    functionName: single_add_int16_helper
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_property_add_int16
    - CU_ASSERT_PTR_NOT_NULL
    - CU_ASSERT_PTR_NULL
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void single_add_int16_helper(int identifier)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_int32
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:353,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:354,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:355,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:357,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:358,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:359,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 363
    functionName: single_add_int32_helper
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - CU_ASSERT_PTR_NOT_NULL
    - mosquitto_property_add_int32
    - CU_ASSERT_PTR_NULL
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void single_add_int32_helper(int identifier)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_varint
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:371,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:372,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:373,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:375,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:376,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:377,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 381
    functionName: single_add_varint_helper
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - CU_ASSERT_PTR_NOT_NULL
    - mosquitto_property_add_varint
    - CU_ASSERT_PTR_NULL
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void single_add_varint_helper(int identifier)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_binary
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:389,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:390,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:391,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:393,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:394,1
    - Dst: CU_ASSERT_NSTRING_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:395,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:396,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 400
    functionName: single_add_binary_helper
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - CU_ASSERT_PTR_NOT_NULL
    - CU_ASSERT_NSTRING_EQUAL
    - CU_ASSERT_PTR_NULL
    - mosquitto_property_free_all
    - mosquitto_property_add_binary
    linkageType: ''
    returnType: void
    signature: void single_add_binary_helper(int identifier)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:408,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:409,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:410,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:412,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:413,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:414,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:414,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:415,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 419
    functionName: single_add_string_helper
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - CU_ASSERT_PTR_NOT_NULL
    - strlen
    - CU_ASSERT_STRING_EQUAL
    - CU_ASSERT_PTR_NULL
    - mosquitto_property_add_string
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void single_add_string_helper(int identifier)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_string_pair
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:427,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:428,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:429,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:431,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:432,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:433,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:433,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:434,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:435,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:435,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:436,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 440
    functionName: single_add_string_pair_helper
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - CU_ASSERT_PTR_NOT_NULL
    - strlen
    - CU_ASSERT_STRING_EQUAL
    - mosquitto_property_add_string_pair
    - CU_ASSERT_PTR_NULL
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void single_add_string_pair_helper(int identifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: single_add_byte_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:445,1
    - Dst: single_add_byte_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:446,1
    - Dst: single_add_byte_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:447,1
    - Dst: single_add_byte_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:448,1
    - Dst: single_add_byte_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:449,1
    - Dst: single_add_byte_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:450,1
    - Dst: single_add_byte_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:451,1
    - Dst: single_add_byte_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 453
    functionName: TEST_add_single_byte
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - single_add_byte_helper
    linkageType: ''
    returnType: void
    signature: void TEST_add_single_byte(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: single_add_int16_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:458,1
    - Dst: single_add_int16_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:459,1
    - Dst: single_add_int16_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:460,1
    - Dst: single_add_int16_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 462
    functionName: TEST_add_single_int16
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - single_add_int16_helper
    linkageType: ''
    returnType: void
    signature: void TEST_add_single_int16(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: single_add_int32_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:467,1
    - Dst: single_add_int32_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:468,1
    - Dst: single_add_int32_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:469,1
    - Dst: single_add_int32_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 471
    functionName: TEST_add_single_int32
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - single_add_int32_helper
    linkageType: ''
    returnType: void
    signature: void TEST_add_single_int32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: single_add_varint_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: TEST_add_single_varint
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - single_add_varint_helper
    linkageType: ''
    returnType: void
    signature: void TEST_add_single_varint(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: single_add_binary_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:482,1
    - Dst: single_add_binary_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 484
    functionName: TEST_add_single_binary
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - single_add_binary_helper
    linkageType: ''
    returnType: void
    signature: void TEST_add_single_binary(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: single_add_string_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:489,1
    - Dst: single_add_string_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:490,1
    - Dst: single_add_string_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:491,1
    - Dst: single_add_string_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:492,1
    - Dst: single_add_string_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:493,1
    - Dst: single_add_string_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:494,1
    - Dst: single_add_string_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 496
    functionName: TEST_add_single_string
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - single_add_string_helper
    linkageType: ''
    returnType: void
    signature: void TEST_add_single_string(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: single_add_string_pair_helper
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 502
    functionName: TEST_add_single_string_pair
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - single_add_string_pair_helper
    linkageType: ''
    returnType: void
    signature: void TEST_add_single_string_pair(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_int32
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:515,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:516,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:517,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:518,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:519,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:520,1
    - Dst: mosquitto_property_add_binary
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:521,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:521,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:522,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:523,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:524,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:525,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:526,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:527,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:528,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:529,1
    - Dst: mosquitto_property_add_int16
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:530,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:531,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:532,1
    - Dst: mosquitto_property_add_int16
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:533,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:534,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:535,1
    - Dst: mosquitto_property_add_string_pair
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:536,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:537,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:538,1
    - Dst: mosquitto_property_add_int32
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:539,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:540,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:541,1
    - Dst: check_count
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:543,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 546
    functionName: TEST_add_all_connect
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - check_count
    - CU_ASSERT_EQUAL
    - mosquitto_property_add_int16
    - mosquitto_property_add_byte
    - CU_ASSERT_PTR_NOT_NULL
    - strlen
    - mosquitto_property_add_string_pair
    - mosquitto_property_add_int32
    - mosquitto_property_add_string
    - mosquitto_property_free_all
    - mosquitto_property_add_binary
    linkageType: ''
    returnType: void
    signature: void TEST_add_all_connect(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_int32
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:554,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:555,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:556,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:557,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:558,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:559,1
    - Dst: mosquitto_property_add_int16
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:560,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:561,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:562,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:563,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:564,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:565,1
    - Dst: mosquitto_property_add_binary
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:566,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:566,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:567,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:568,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:569,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:570,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:571,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:572,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:573,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:574,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:575,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:576,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:577,1
    - Dst: mosquitto_property_add_int16
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:578,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:579,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:580,1
    - Dst: mosquitto_property_add_int16
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:581,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:582,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:583,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:584,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:585,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:586,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:587,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:588,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:589,1
    - Dst: mosquitto_property_add_string_pair
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:590,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:591,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:592,1
    - Dst: mosquitto_property_add_int32
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:593,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:594,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:595,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:596,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:597,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:598,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:599,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:600,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:601,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:602,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:603,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:604,1
    - Dst: check_count
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:606,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 609
    functionName: TEST_add_all_connack
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - check_count
    - CU_ASSERT_EQUAL
    - mosquitto_property_add_int16
    - mosquitto_property_add_byte
    - CU_ASSERT_PTR_NOT_NULL
    - strlen
    - mosquitto_property_add_string_pair
    - mosquitto_property_add_int32
    - mosquitto_property_add_string
    - mosquitto_property_free_all
    - mosquitto_property_add_binary
    linkageType: ''
    returnType: void
    signature: void TEST_add_all_connack(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_get_remaining_length
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:620,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:621,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:624,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:625,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:626,1
    - Dst: mosquitto_property_get_remaining_length
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:628,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:636,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:641,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 642
    functionName: TEST_check_length
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_property_get_remaining_length
    - mosquitto_property_add_byte
    - CU_ASSERT_PTR_NOT_NULL
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_check_length(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_get_remaining_length
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:651,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:652,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:655,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:656,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:657,1
    - Dst: check_count
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:659,1
    - Dst: mosquitto_property_remove
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:667,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:668,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:669,1
    - Dst: check_count
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:671,1
    - Dst: mosquitto_property_remove
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:678,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:679,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:680,1
    - Dst: check_count
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:682,1
    - Dst: mosquitto_property_remove
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:686,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:687,1
    - Dst: CU_ASSERT_PTR_NOT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:688,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:689,1
    - Dst: check_count
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:691,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:693,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 694
    functionName: TEST_remove_single
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - check_count
    - CU_ASSERT_EQUAL
    - mosquitto_property_remove
    - mosquitto_property_get_remaining_length
    - mosquitto_property_add_byte
    - CU_ASSERT_PTR_NOT_NULL
    - CU_ASSERT_PTR_NOT_EQUAL
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_remove_single(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:703,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:704,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:705,1
    - Dst: mosquitto_property_remove
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:710,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:711,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:712,1
    - Dst: check_count
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:713,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:715,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:716,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 717
    functionName: TEST_remove_all
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - check_count
    - CU_ASSERT_EQUAL
    - mosquitto_property_remove
    - mosquitto_property_add_byte
    - CU_ASSERT_PTR_NOT_NULL
    - CU_ASSERT_PTR_NULL
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_remove_all(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_get_remaining_length
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:726,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:727,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:729,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:730,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:731,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:733,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:734,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:735,1
    - Dst: mosquitto_property_remove
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:737,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:738,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:741,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:742,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 743
    functionName: TEST_remove_non_existent
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_property_remove
    - mosquitto_property_get_remaining_length
    - mosquitto_property_add_byte
    - CU_ASSERT_PTR_NOT_NULL
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_remove_non_existent(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_remove
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:752,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:753,1
    - Dst: mosquitto_property_get_remaining_length
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:755,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:756,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:758,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:759,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:760,1
    - Dst: mosquitto_property_remove
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:762,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:763,1
    - Dst: mosquitto_property_remove
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:764,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:765,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:767,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 768
    functionName: TEST_remove_invalid
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_property_remove
    - mosquitto_property_get_remaining_length
    - mosquitto_property_add_byte
    - CU_ASSERT_PTR_NOT_NULL
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_remove_invalid(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:780,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:782,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:787,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:788,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:789,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:790,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:791,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:792,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:793,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:794,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:795,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:796,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:797,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:798,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:799,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:800,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:801,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:802,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:803,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:804,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:805,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:806,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:807,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/libcommon/property_add.c:810,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 815
    functionName: init_property_add_tests
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_add.c
    functionUses: 1
    functionsReached:
    - CU_add_test
    - printf
    - CU_add_suite
    linkageType: ''
    returnType: int
    signature: int init_property_add_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_string_to_property_info
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:71,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:73,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:75,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:76,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 80
    functionName: TEST_string_to_property_info
    functionSourceFile: /src/mosquitto/test/unit/libcommon/strings_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_string_to_property_info
    linkageType: ''
    returnType: void
    signature: void TEST_string_to_property_info(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:98,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:99,1
    - Dst: CU_ASSERT_STRING_NOT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:115,1
    - Dst: strcmp
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:116,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:117,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:120,1
    - Dst: strcmp
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:121,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:122,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 127
    functionName: TEST_mosquitto_strerror
    functionSourceFile: /src/mosquitto/test/unit/libcommon/strings_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_STRING_NOT_EQUAL
    - CU_ASSERT_PTR_NOT_NULL
    - mosquitto_strerror
    - CU_ASSERT_STRING_EQUAL
    - printf
    - strcmp
    linkageType: ''
    returnType: void
    signature: void TEST_mosquitto_strerror(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_connack_string
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:138,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:139,1
    - Dst: CU_ASSERT_STRING_NOT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:149,1
    - Dst: strcmp
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:150,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:151,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:154,1
    - Dst: strcmp
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:155,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:156,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 161
    functionName: TEST_mosquitto_connack_string
    functionSourceFile: /src/mosquitto/test/unit/libcommon/strings_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_STRING_NOT_EQUAL
    - CU_ASSERT_PTR_NOT_NULL
    - mosquitto_connack_string
    - CU_ASSERT_STRING_EQUAL
    - printf
    - strcmp
    linkageType: ''
    returnType: void
    signature: void TEST_mosquitto_connack_string(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_reason_string
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:177,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:178,1
    - Dst: CU_ASSERT_STRING_NOT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:188,1
    - Dst: strcmp
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:189,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:190,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:193,1
    - Dst: strcmp
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:194,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:195,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 200
    functionName: TEST_mosquitto_reason_string
    functionSourceFile: /src/mosquitto/test/unit/libcommon/strings_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_STRING_NOT_EQUAL
    - CU_ASSERT_PTR_NOT_NULL
    - CU_ASSERT_STRING_EQUAL
    - printf
    - mosquitto_reason_string
    - strcmp
    linkageType: ''
    returnType: void
    signature: void TEST_mosquitto_reason_string(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_string_to_command
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:207,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:208,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:209,1
    - Dst: mosquitto_string_to_command
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:211,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:212,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:213,1
    - Dst: mosquitto_string_to_command
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:215,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:216,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:217,1
    - Dst: mosquitto_string_to_command
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:219,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:220,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:221,1
    - Dst: mosquitto_string_to_command
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:223,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:224,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:225,1
    - Dst: mosquitto_string_to_command
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:227,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:228,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:229,1
    - Dst: mosquitto_string_to_command
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:231,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:232,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:233,1
    - Dst: mosquitto_string_to_command
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:235,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:236,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:237,1
    - Dst: mosquitto_string_to_command
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:239,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:240,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:241,1
    - Dst: mosquitto_string_to_command
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:243,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:244,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:245,1
    - Dst: mosquitto_string_to_command
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:247,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:248,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:249,1
    - Dst: mosquitto_string_to_command
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:251,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:252,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:253,1
    - Dst: mosquitto_string_to_command
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:255,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:256,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:257,1
    - Dst: mosquitto_string_to_command
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:259,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:260,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:261,1
    - Dst: mosquitto_string_to_command
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:263,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:264,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 266
    functionName: TEST_mosquitto_string_to_command
    functionSourceFile: /src/mosquitto/test/unit/libcommon/strings_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_string_to_command
    linkageType: ''
    returnType: void
    signature: void TEST_mosquitto_string_to_command(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:278,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:280,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:285,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:286,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:287,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:288,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:289,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/libcommon/strings_test.c:292,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 297
    functionName: init_strings_tests
    functionSourceFile: /src/mosquitto/test/unit/libcommon/strings_test.c
    functionUses: 1
    functionsReached:
    - CU_add_test
    - printf
    - CU_add_suite
    linkageType: ''
    returnType: int
    signature: int init_strings_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:14,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:15,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:16,1
    - Dst: mosquitto_property_byte_value
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:18,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:19,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 23
    functionName: TEST_value_byte_success
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_value.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_property_add_byte
    - CU_ASSERT_PTR_NOT_NULL
    - mosquitto_property_byte_value
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_value_byte_success(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_int16
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:32,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:33,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:34,1
    - Dst: mosquitto_property_byte_value
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:36,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:37,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 41
    functionName: TEST_value_byte_fail
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_value.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_property_add_int16
    - CU_ASSERT_PTR_NOT_NULL
    - mosquitto_property_byte_value
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_value_byte_fail(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_int16
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:50,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:51,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:52,1
    - Dst: mosquitto_property_int16_value
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:54,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:55,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: TEST_value_int16_success
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_value.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_property_add_int16
    - CU_ASSERT_PTR_NOT_NULL
    - mosquitto_property_free_all
    - mosquitto_property_int16_value
    linkageType: ''
    returnType: void
    signature: void TEST_value_int16_success(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_int32
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:68,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:69,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:70,1
    - Dst: mosquitto_property_int16_value
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:72,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:73,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 77
    functionName: TEST_value_int16_fail
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_value.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - CU_ASSERT_PTR_NOT_NULL
    - mosquitto_property_add_int32
    - mosquitto_property_free_all
    - mosquitto_property_int16_value
    linkageType: ''
    returnType: void
    signature: void TEST_value_int16_fail(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_int32
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:86,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:87,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:88,1
    - Dst: mosquitto_property_int32_value
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:90,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:91,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: TEST_value_int32_success
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_value.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - CU_ASSERT_PTR_NOT_NULL
    - mosquitto_property_int32_value
    - mosquitto_property_add_int32
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_value_int32_success(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_varint
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:104,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:105,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:106,1
    - Dst: mosquitto_property_int32_value
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:108,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:109,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 113
    functionName: TEST_value_int32_fail
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_value.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - CU_ASSERT_PTR_NOT_NULL
    - mosquitto_property_int32_value
    - mosquitto_property_add_varint
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_value_int32_fail(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_varint
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:122,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:123,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:124,1
    - Dst: mosquitto_property_varint_value
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:126,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:127,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 131
    functionName: TEST_value_varint_success
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_value.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - CU_ASSERT_PTR_NOT_NULL
    - mosquitto_property_add_varint
    - mosquitto_property_free_all
    - mosquitto_property_varint_value
    linkageType: ''
    returnType: void
    signature: void TEST_value_varint_success(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_int16
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:140,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:141,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:142,1
    - Dst: mosquitto_property_varint_value
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:144,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:145,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 149
    functionName: TEST_value_varint_fail
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_value.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_property_add_int16
    - CU_ASSERT_PTR_NOT_NULL
    - mosquitto_property_free_all
    - mosquitto_property_varint_value
    linkageType: ''
    returnType: void
    signature: void TEST_value_varint_fail(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_binary
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:160,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:161,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:162,1
    - Dst: mosquitto_property_binary_value_length
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:164,1
    - Dst: mosquitto_property_binary_value
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:165,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:166,1
    - Dst: CU_ASSERT_NSTRING_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:167,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 171
    functionName: TEST_value_binary_success
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_value.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_property_binary_value_length
    - CU_ASSERT_PTR_NOT_NULL
    - mosquitto_property_binary_value
    - CU_ASSERT_NSTRING_EQUAL
    - mosquitto_property_free_all
    - mosquitto_property_add_binary
    linkageType: ''
    returnType: void
    signature: void TEST_value_binary_success(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_int16
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:181,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:182,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:183,1
    - Dst: mosquitto_property_binary_value_length
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:185,1
    - Dst: mosquitto_property_binary_value
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:186,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:187,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:188,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 192
    functionName: TEST_value_binary_fail
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_value.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_property_add_int16
    - mosquitto_property_binary_value_length
    - CU_ASSERT_PTR_NOT_NULL
    - mosquitto_property_binary_value
    - CU_ASSERT_PTR_NULL
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_value_binary_fail(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:203,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:204,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:205,1
    - Dst: mosquitto_property_string_value_length
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:207,1
    - Dst: mosquitto_property_string_value
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:208,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:209,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:209,1
    - Dst: CU_ASSERT_NSTRING_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:210,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:210,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 214
    functionName: TEST_value_string_success
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_value.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_property_string_value
    - mosquitto_property_string_value_length
    - CU_ASSERT_PTR_NOT_NULL
    - strlen
    - CU_ASSERT_NSTRING_EQUAL
    - mosquitto_property_add_string
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_value_string_success(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_int16
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:224,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:225,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:226,1
    - Dst: mosquitto_property_string_value_length
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:228,1
    - Dst: mosquitto_property_string_value
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:229,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:230,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:231,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 235
    functionName: TEST_value_string_fail
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_value.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_property_add_int16
    - mosquitto_property_string_value
    - mosquitto_property_string_value_length
    - CU_ASSERT_PTR_NOT_NULL
    - CU_ASSERT_PTR_NULL
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_value_string_fail(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_string_pair
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:248,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:249,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:250,1
    - Dst: mosquitto_property_string_value_length
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:252,1
    - Dst: mosquitto_property_string_value
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:253,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:254,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:254,1
    - Dst: CU_ASSERT_NSTRING_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:255,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:255,1
    - Dst: mosquitto_property_string_name_length
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:257,1
    - Dst: mosquitto_property_string_name
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:258,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:259,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:259,1
    - Dst: CU_ASSERT_NSTRING_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:260,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:260,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 264
    functionName: TEST_value_string_pair_success
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_value.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_property_string_value
    - mosquitto_property_string_value_length
    - CU_ASSERT_PTR_NOT_NULL
    - strlen
    - mosquitto_property_add_string_pair
    - mosquitto_property_string_name_length
    - CU_ASSERT_NSTRING_EQUAL
    - mosquitto_property_string_name
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void TEST_value_string_pair_success(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_add_int16
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:275,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:276,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:277,1
    - Dst: mosquitto_property_string_value_length
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:279,1
    - Dst: mosquitto_property_string_value
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:280,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:281,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:282,1
    - Dst: mosquitto_property_string_name_length
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:284,1
    - Dst: mosquitto_property_string_name
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:285,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:286,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:287,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 291
    functionName: TEST_value_string_pair_fail
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_value.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_property_add_int16
    - mosquitto_property_string_value
    - mosquitto_property_string_value_length
    - CU_ASSERT_PTR_NOT_NULL
    - mosquitto_property_string_name_length
    - CU_ASSERT_PTR_NULL
    - mosquitto_property_free_all
    - mosquitto_property_string_name
    linkageType: ''
    returnType: void
    signature: void TEST_value_string_pair_fail(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:303,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:305,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:310,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:311,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:312,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:313,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:314,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:315,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:316,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:317,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:318,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:319,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:320,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:321,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:322,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:323,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/libcommon/property_value.c:326,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 331
    functionName: init_property_value_tests
    functionSourceFile: /src/mosquitto/test/unit/libcommon/property_value.c
    functionUses: 1
    functionsReached:
    - CU_add_test
    - printf
    - CU_add_suite
    linkageType: ''
    returnType: int
    signature: int init_property_value_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:16,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - text
    - len
    - expected
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 18
    functionName: utf8_helper_len
    functionSourceFile: /src/mosquitto/test/unit/libcommon/utf8.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_validate_utf8
    linkageType: ''
    returnType: void
    signature: void utf8_helper_len(const char *text, int len, int expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utf8_helper_len
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:23,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - text
    - expected
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: utf8_helper
    functionSourceFile: /src/mosquitto/test/unit/libcommon/utf8.c
    functionUses: 0
    functionsReached:
    - strlen
    - utf8_helper_len
    linkageType: ''
    returnType: void
    signature: void utf8_helper(const char *text, int expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utf8_helper_len
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: TEST_utf8_empty
    functionSourceFile: /src/mosquitto/test/unit/libcommon/utf8.c
    functionUses: 0
    functionsReached:
    - utf8_helper_len
    linkageType: ''
    returnType: void
    signature: void TEST_utf8_empty(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:36,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: TEST_utf8_valid
    functionSourceFile: /src/mosquitto/test/unit/libcommon/utf8.c
    functionUses: 0
    functionsReached:
    - utf8_helper
    linkageType: ''
    returnType: void
    signature: void TEST_utf8_valid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:47,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:50,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: TEST_utf8_truncated
    functionSourceFile: /src/mosquitto/test/unit/libcommon/utf8.c
    functionUses: 0
    functionsReached:
    - utf8_helper
    linkageType: ''
    returnType: void
    signature: void TEST_utf8_truncated(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utf8_helper_len
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:61,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:62,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:63,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:64,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:68,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:69,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:71,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:73,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:77,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:78,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:79,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:81,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 84
    functionName: TEST_utf8_boundary_conditions
    functionSourceFile: /src/mosquitto/test/unit/libcommon/utf8.c
    functionUses: 0
    functionsReached:
    - utf8_helper_len
    - utf8_helper
    linkageType: ''
    returnType: void
    signature: void TEST_utf8_boundary_conditions(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:93,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:94,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:95,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:96,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:97,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:98,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:99,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:100,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:103,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:107,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:108,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:112,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:117,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:123,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:134,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:143,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:152,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:161,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:170,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:179,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:180,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:181,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:182,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:183,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:184,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:185,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:186,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:187,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:188,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:195,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:201,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:202,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:203,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 204
    functionName: TEST_utf8_malformed_sequences
    functionSourceFile: /src/mosquitto/test/unit/libcommon/utf8.c
    functionUses: 0
    functionsReached:
    - utf8_helper
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_utf8_malformed_sequences(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:237,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:238,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:239,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:240,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:241,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:250,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:251,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:252,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:253,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:254,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:262,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:263,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:264,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:265,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 267
    functionName: TEST_utf8_overlong_encoding
    functionSourceFile: /src/mosquitto/test/unit/libcommon/utf8.c
    functionUses: 0
    functionsReached:
    - utf8_helper
    linkageType: ''
    returnType: void
    signature: void TEST_utf8_overlong_encoding(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:281,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:282,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:283,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:284,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:285,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:286,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:287,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:291,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:292,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:293,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:294,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:295,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:296,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:297,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:298,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:321,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:322,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:327,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:328,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:329,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:330,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:331,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:332,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:333,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:334,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:335,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:336,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:337,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:338,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:339,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:340,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:341,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:342,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:343,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:344,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:345,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:346,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:347,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:348,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:349,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:350,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:351,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:352,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:353,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:354,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:355,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:356,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:357,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:358,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:362,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:363,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:364,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:365,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:366,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:367,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:368,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:369,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:370,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:371,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:372,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:373,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:374,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:375,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:376,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:377,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:378,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:379,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:380,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:381,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:382,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:383,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:384,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:385,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:386,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:387,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:388,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:389,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:390,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:391,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:392,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 394
    functionName: TEST_utf8_illegal_code_positions
    functionSourceFile: /src/mosquitto/test/unit/libcommon/utf8.c
    functionUses: 0
    functionsReached:
    - utf8_helper
    linkageType: ''
    returnType: void
    signature: void TEST_utf8_illegal_code_positions(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:406,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:412,1
    - Dst: utf8_helper
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 422
    functionName: TEST_utf8_control_characters
    functionSourceFile: /src/mosquitto/test/unit/libcommon/utf8.c
    functionUses: 0
    functionsReached:
    - utf8_helper
    linkageType: ''
    returnType: void
    signature: void TEST_utf8_control_characters(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utf8_helper_len
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:429,1
    - Dst: utf8_helper_len
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 433
    functionName: TEST_utf8_mqtt_1_5_4_2
    functionSourceFile: /src/mosquitto/test/unit/libcommon/utf8.c
    functionUses: 0
    functionsReached:
    - utf8_helper_len
    linkageType: ''
    returnType: void
    signature: void TEST_utf8_mqtt_1_5_4_2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utf8_helper_len
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 441
    functionName: TEST_utf8_mqtt_1_5_4_3
    functionSourceFile: /src/mosquitto/test/unit/libcommon/utf8.c
    functionUses: 0
    functionsReached:
    - utf8_helper_len
    linkageType: ''
    returnType: void
    signature: void TEST_utf8_mqtt_1_5_4_3(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:453,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:455,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:460,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:461,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:462,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:463,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:464,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:465,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:466,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:467,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:468,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:469,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/libcommon/utf8.c:472,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 477
    functionName: init_utf8_tests
    functionSourceFile: /src/mosquitto/test/unit/libcommon/utf8.c
    functionUses: 1
    functionsReached:
    - CU_add_test
    - printf
    - CU_add_suite
    linkageType: ''
    returnType: int
    signature: int init_utf8_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_trimblanks
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:11,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:12,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:14,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:14,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:14,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:15,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - expected
    - buf
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 18
    functionName: rtrim_helper
    functionSourceFile: /src/mosquitto/test/unit/libcommon/trim_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_PTR_EQUAL
    - CU_ASSERT_EQUAL
    - CU_ASSERT_PTR_NOT_NULL
    - strlen
    - CU_ASSERT_STRING_EQUAL
    - mosquitto_trimblanks
    linkageType: ''
    returnType: void
    signature: void rtrim_helper(const char *expected, char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_trimblanks
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:25,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:26,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:28,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:28,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:28,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - expected
    - buf
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 31
    functionName: ltrim_helper
    functionSourceFile: /src/mosquitto/test/unit/libcommon/trim_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - CU_ASSERT_PTR_NOT_NULL
    - strlen
    - CU_ASSERT_STRING_EQUAL
    - mosquitto_trimblanks
    linkageType: ''
    returnType: void
    signature: void ltrim_helper(const char *expected, char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_trimblanks
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:38,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: TEST_null_input
    functionSourceFile: /src/mosquitto/test/unit/libcommon/trim_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_PTR_NULL
    - mosquitto_trimblanks
    linkageType: ''
    returnType: void
    signature: void TEST_null_input(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:48,1
    - Dst: mosquitto_trimblanks
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:49,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:50,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: TEST_empty_input
    functionSourceFile: /src/mosquitto/test/unit/libcommon/trim_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_PTR_NOT_NULL
    - CU_ASSERT_STRING_EQUAL
    - mosquitto_trimblanks
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_empty_input(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: TEST_no_blanks
    functionSourceFile: /src/mosquitto/test/unit/libcommon/trim_test.c
    functionUses: 0
    functionsReached:
    - rtrim_helper
    linkageType: ''
    returnType: void
    signature: void TEST_no_blanks(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:80,1
    - Dst: rtrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:81,1
    - Dst: rtrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:82,1
    - Dst: rtrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:83,1
    - Dst: rtrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:84,1
    - Dst: rtrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:85,1
    - Dst: rtrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:86,1
    - Dst: rtrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:87,1
    - Dst: rtrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:88,1
    - Dst: rtrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:89,1
    - Dst: rtrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:90,1
    - Dst: rtrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 92
    functionName: TEST_rtrim
    functionSourceFile: /src/mosquitto/test/unit/libcommon/trim_test.c
    functionUses: 0
    functionsReached:
    - rtrim_helper
    linkageType: ''
    returnType: void
    signature: void TEST_rtrim(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ltrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:110,1
    - Dst: ltrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:111,1
    - Dst: ltrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:112,1
    - Dst: ltrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:113,1
    - Dst: ltrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:114,1
    - Dst: ltrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:115,1
    - Dst: ltrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:116,1
    - Dst: ltrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:117,1
    - Dst: ltrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:118,1
    - Dst: ltrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:119,1
    - Dst: ltrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:120,1
    - Dst: ltrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 122
    functionName: TEST_ltrim
    functionSourceFile: /src/mosquitto/test/unit/libcommon/trim_test.c
    functionUses: 0
    functionsReached:
    - ltrim_helper
    linkageType: ''
    returnType: void
    signature: void TEST_ltrim(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ltrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:140,1
    - Dst: ltrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:141,1
    - Dst: ltrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:142,1
    - Dst: ltrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:143,1
    - Dst: ltrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:144,1
    - Dst: ltrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:145,1
    - Dst: ltrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:146,1
    - Dst: ltrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:147,1
    - Dst: ltrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:148,1
    - Dst: ltrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:149,1
    - Dst: ltrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:150,1
    - Dst: ltrim_helper
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 152
    functionName: TEST_btrim
    functionSourceFile: /src/mosquitto/test/unit/libcommon/trim_test.c
    functionUses: 0
    functionsReached:
    - ltrim_helper
    linkageType: ''
    returnType: void
    signature: void TEST_btrim(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:164,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:166,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:171,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:172,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:173,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:174,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:175,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:176,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/libcommon/trim_test.c:179,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 184
    functionName: init_trim_tests
    functionSourceFile: /src/mosquitto/test/unit/libcommon/trim_test.c
    functionUses: 1
    functionsReached:
    - CU_add_test
    - printf
    - CU_add_suite
    linkageType: ''
    returnType: int
    signature: int init_trim_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_topic_matches_sub
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:21,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:22,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:23,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:25,1
    - Dst: mosquitto_topic_matches_sub2
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:28,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:28,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:28,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:29,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:30,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - sub
    - topic
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 34
    functionName: match_helper
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - strlen
    - printf
    - mosquitto_topic_matches_sub2
    - mosquitto_topic_matches_sub
    linkageType: ''
    returnType: void
    signature: void match_helper(const char *sub, const char *topic)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_topic_matches_sub
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:42,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:43,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:45,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:47,1
    - Dst: mosquitto_topic_matches_sub2
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:49,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:49,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:49,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:50,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:52,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - rc_expected
    - sub
    - topic
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 55
    functionName: no_match_helper
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - strlen
    - printf
    - mosquitto_topic_matches_sub2
    - mosquitto_topic_matches_sub
    linkageType: ''
    returnType: void
    signature: void no_match_helper(int rc_expected, const char *sub, const char *topic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_topic_matches_sub
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:68,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:69,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:70,1
    - Dst: mosquitto_topic_matches_sub
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:72,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:73,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:74,1
    - Dst: mosquitto_topic_matches_sub
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:76,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:77,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:78,1
    - Dst: mosquitto_topic_matches_sub
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:80,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:81,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:82,1
    - Dst: mosquitto_topic_matches_sub
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:84,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:85,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:86,1
    - Dst: mosquitto_topic_matches_sub
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:88,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:89,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:90,1
    - Dst: mosquitto_topic_matches_sub2
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:92,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:93,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:94,1
    - Dst: mosquitto_topic_matches_sub2
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:96,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:97,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:98,1
    - Dst: mosquitto_topic_matches_sub2
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:100,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:101,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:102,1
    - Dst: mosquitto_topic_matches_sub2
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:104,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:105,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:106,1
    - Dst: mosquitto_topic_matches_sub2
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:108,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:109,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:110,1
    - Dst: mosquitto_topic_matches_sub2
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:112,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:113,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 115
    functionName: TEST_empty_input
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_topic_matches_sub
    - mosquitto_topic_matches_sub2
    linkageType: ''
    returnType: void
    signature: void TEST_empty_input(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:123,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:124,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:125,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:127,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:128,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:129,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:131,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:132,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:133,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:135,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:136,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:137,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:139,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:140,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:141,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:143,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:144,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:145,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:147,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:148,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:149,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:151,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:152,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:153,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:155,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:156,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:157,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:159,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:160,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:161,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:163,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:164,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:165,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:167,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:168,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:169,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:171,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:172,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:173,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:175,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:176,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:177,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:179,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:180,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 182
    functionName: TEST_topic_pattern_empty_input
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - mosquitto_topic_matches_sub_with_pattern
    - CU_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void TEST_topic_pattern_empty_input(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:190,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:191,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:192,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:194,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:195,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:196,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:198,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:199,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:200,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:202,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:203,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:204,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:206,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:207,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:208,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:210,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:211,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:212,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:214,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:215,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:216,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:218,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:219,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:220,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:222,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:223,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:224,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:226,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:227,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:228,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:230,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:231,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:232,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:234,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:235,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:236,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:238,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:239,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:240,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:242,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:243,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:244,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:246,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:247,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 249
    functionName: TEST_acl_pattern_empty_input
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_sub_matches_acl_with_pattern
    linkageType: ''
    returnType: void
    signature: void TEST_acl_pattern_empty_input(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_sub_matches_acl
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:257,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:258,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:259,1
    - Dst: mosquitto_sub_matches_acl
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:261,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:262,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:263,1
    - Dst: mosquitto_sub_matches_acl
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:265,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:266,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:267,1
    - Dst: mosquitto_sub_matches_acl
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:269,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:270,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:271,1
    - Dst: mosquitto_sub_matches_acl
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:273,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:274,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:275,1
    - Dst: mosquitto_sub_matches_acl
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:277,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:278,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 280
    functionName: TEST_sub_match_empty_input
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_sub_matches_acl
    linkageType: ''
    returnType: void
    signature: void TEST_sub_match_empty_input(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:290,1
    - Dst: match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:291,1
    - Dst: match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:292,1
    - Dst: match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:293,1
    - Dst: match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:294,1
    - Dst: match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:295,1
    - Dst: match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:296,1
    - Dst: match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:297,1
    - Dst: match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:298,1
    - Dst: match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:299,1
    - Dst: match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:300,1
    - Dst: match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:301,1
    - Dst: match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:302,1
    - Dst: match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:303,1
    - Dst: match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:304,1
    - Dst: match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 306
    functionName: TEST_valid_matching
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - match_helper
    linkageType: ''
    returnType: void
    signature: void TEST_valid_matching(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:313,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:314,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:315,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:316,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:317,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:318,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:319,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:321,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:322,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:323,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:324,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:325,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:326,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:327,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:329,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:330,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:331,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:332,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:333,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:334,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:335,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:337,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:339,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:340,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:341,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:342,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:344,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:345,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:346,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 348
    functionName: TEST_invalid_but_matching
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - no_match_helper
    linkageType: ''
    returnType: void
    signature: void TEST_invalid_but_matching(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:353,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:355,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:356,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:357,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:359,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:361,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:363,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 365
    functionName: TEST_valid_no_matching
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - no_match_helper
    linkageType: ''
    returnType: void
    signature: void TEST_valid_no_matching(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:370,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:371,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:372,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:373,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:374,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:375,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:376,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:377,1
    - Dst: no_match_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 379
    functionName: TEST_invalid
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - no_match_helper
    linkageType: ''
    returnType: void
    signature: void TEST_invalid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:393,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:394,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:395,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:397,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:398,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:399,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:402,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:403,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:404,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:406,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:407,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:408,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:411,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:412,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:413,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:415,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:416,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:417,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:420,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:421,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:422,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:424,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:425,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:426,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:429,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:430,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:431,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:433,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:434,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:435,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:438,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:439,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 441
    functionName: TEST_topic_pattern_clientid
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - mosquitto_topic_matches_sub_with_pattern
    - CU_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void TEST_topic_pattern_clientid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:450,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:451,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:452,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:454,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:455,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:456,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:459,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:460,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:461,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:463,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:464,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:465,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:468,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:469,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:470,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:472,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:473,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:474,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:477,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:478,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:479,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:481,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:482,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:483,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:486,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:487,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:488,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:490,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:491,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:492,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:495,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:496,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 498
    functionName: TEST_topic_pattern_username
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - mosquitto_topic_matches_sub_with_pattern
    - CU_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void TEST_topic_pattern_username(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:507,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:508,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:509,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:511,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:512,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:513,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:515,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:516,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:517,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:519,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:520,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:521,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:524,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:525,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:526,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:528,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:529,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:530,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:532,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:533,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:534,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:536,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:537,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:538,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:541,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:542,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:543,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:546,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:547,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:548,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:551,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:552,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 554
    functionName: TEST_topic_pattern_both
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - mosquitto_topic_matches_sub_with_pattern
    - CU_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void TEST_topic_pattern_both(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:566,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:567,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:568,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:571,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:572,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:573,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:576,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:577,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:578,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:581,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:582,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:583,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:589,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:590,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:591,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:593,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:594,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:595,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:597,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:598,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:599,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:601,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:602,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:603,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:606,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:607,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:608,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:610,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:611,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:612,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:614,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:615,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:616,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:618,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:619,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:620,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:622,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:623,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:624,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:626,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:627,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:628,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:630,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:631,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:632,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:634,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:635,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 637
    functionName: TEST_topic_pattern_wildcard
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - mosquitto_topic_matches_sub_with_pattern
    - CU_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void TEST_topic_pattern_wildcard(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:666,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:670,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:671,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 673
    functionName: TEST_topic_pattern_substring_beginning
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - mosquitto_topic_matches_sub_with_pattern
    - CU_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void TEST_topic_pattern_substring_beginning(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:702,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:706,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:707,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 709
    functionName: TEST_topic_pattern_substring_middle
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - mosquitto_topic_matches_sub_with_pattern
    - CU_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void TEST_topic_pattern_substring_middle(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:738,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:742,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:743,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 745
    functionName: TEST_topic_pattern_substring_end
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - mosquitto_topic_matches_sub_with_pattern
    - CU_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void TEST_topic_pattern_substring_end(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:774,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:778,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 781
    functionName: TEST_topic_pattern_substring_only
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - mosquitto_topic_matches_sub_with_pattern
    - CU_ASSERT_EQUAL
    linkageType: ''
    returnType: void
    signature: void TEST_topic_pattern_substring_only(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:795,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:796,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:797,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:799,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:800,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:801,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:804,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:805,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:806,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:808,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:809,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:810,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:813,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:814,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:815,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:817,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:818,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:819,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:822,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:823,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:824,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:826,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:827,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:828,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:831,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:832,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:833,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:835,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:836,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:837,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:840,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:841,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:842,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:847,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:848,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:849,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:851,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:852,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:853,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:855,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:856,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:857,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:859,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:860,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:861,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:864,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:865,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:866,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:868,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:869,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:870,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:873,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:874,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:875,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:877,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:878,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:879,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:882,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:883,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:884,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:886,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:887,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:888,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:891,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:892,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 894
    functionName: TEST_acl_pattern_clientid
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_sub_matches_acl_with_pattern
    linkageType: ''
    returnType: void
    signature: void TEST_acl_pattern_clientid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:903,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:904,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:905,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:907,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:908,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:909,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:912,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:913,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:914,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:916,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:917,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:918,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:921,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:922,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:923,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:925,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:926,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:927,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:930,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:931,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:932,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:934,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:935,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:936,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:939,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:940,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:941,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:943,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:944,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:945,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:948,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:949,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:950,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:955,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:956,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:957,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:959,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:960,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:961,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:963,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:964,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:965,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:967,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:968,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:969,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:972,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:973,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:974,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:976,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:977,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:978,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:981,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:982,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:983,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:985,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:986,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:987,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:990,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:991,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:992,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:994,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:995,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:996,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:999,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1000,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 1002
    functionName: TEST_acl_pattern_username
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_sub_matches_acl_with_pattern
    linkageType: ''
    returnType: void
    signature: void TEST_acl_pattern_username(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1011,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1012,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1013,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1015,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1016,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1017,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1019,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1020,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1021,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1023,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1024,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1025,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1028,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1029,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1030,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1032,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1033,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1034,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1036,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1037,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1038,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1040,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1041,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1042,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1045,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1046,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1047,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1050,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1051,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1052,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1055,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1056,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1058
    functionName: TEST_acl_pattern_both
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_sub_matches_acl_with_pattern
    linkageType: ''
    returnType: void
    signature: void TEST_acl_pattern_both(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1070,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1071,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1072,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1074,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1075,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1076,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1079,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1080,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1081,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1083,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1084,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1085,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1088,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1089,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1090,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1092,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1093,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1094,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1097,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1098,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1099,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1101,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1102,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1103,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1105,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1106,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1107,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1110,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1111,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1112,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1115,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1116,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1117,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1123,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1124,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1125,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1127,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1128,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1129,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1131,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1132,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1133,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1135,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1136,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1137,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1140,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1141,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1142,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1144,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1145,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1146,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1148,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1149,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1150,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1152,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1153,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1154,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1156,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1157,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1158,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1160,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1161,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1162,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1164,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1165,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1166,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1168,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1169,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1171
    functionName: TEST_acl_pattern_wildcard
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_sub_matches_acl_with_pattern
    linkageType: ''
    returnType: void
    signature: void TEST_acl_pattern_wildcard(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_sub_matches_acl
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1179,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1180,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1181,1
    - Dst: mosquitto_sub_matches_acl
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1183,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1184,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1185,1
    - Dst: mosquitto_sub_matches_acl
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1187,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1188,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1189,1
    - Dst: mosquitto_sub_matches_acl
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1191,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1192,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1193,1
    - Dst: mosquitto_sub_matches_acl
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1195,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1196,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1197,1
    - Dst: mosquitto_sub_matches_acl
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1199,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1200,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1201,1
    - Dst: mosquitto_sub_matches_acl
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1203,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1204,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1205,1
    - Dst: mosquitto_sub_matches_acl
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1207,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1208,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1210
    functionName: TEST_acl_pattern_wildcard_wildcard
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_sub_matches_acl
    linkageType: ''
    returnType: void
    signature: void TEST_acl_pattern_wildcard_wildcard(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1239,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1243,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1246
    functionName: TEST_acl_pattern_substring_beginning
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_sub_matches_acl_with_pattern
    linkageType: ''
    returnType: void
    signature: void TEST_acl_pattern_substring_beginning(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1275,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1279,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1282
    functionName: TEST_acl_pattern_substring_middle
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_sub_matches_acl_with_pattern
    linkageType: ''
    returnType: void
    signature: void TEST_acl_pattern_substring_middle(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1311,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1315,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1285
    functionDepth: 0
    functionLinenumber: 1285
    functionLinenumberEnd: 1318
    functionName: TEST_acl_pattern_substring_end
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_sub_matches_acl_with_pattern
    linkageType: ''
    returnType: void
    signature: void TEST_acl_pattern_substring_end(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1347,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1351,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1354
    functionName: TEST_acl_pattern_substring_only
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_sub_matches_acl_with_pattern
    linkageType: ''
    returnType: void
    signature: void TEST_acl_pattern_substring_only(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_pub_topic_check
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1366,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1367,1
    - Dst: mosquitto_pub_topic_check2
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1369,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1369,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - topic
    - rc_expected
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1371
    functionName: pub_topic_helper
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - mosquitto_pub_topic_check2
    - CU_ASSERT_EQUAL
    - mosquitto_pub_topic_check
    - strlen
    linkageType: ''
    returnType: void
    signature: void pub_topic_helper(const char *topic, int rc_expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1376,1
    - Dst: pub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1377,1
    - Dst: pub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1374
    functionDepth: 1
    functionLinenumber: 1374
    functionLinenumberEnd: 1379
    functionName: TEST_pub_topic_valid
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - pub_topic_helper
    linkageType: ''
    returnType: void
    signature: void TEST_pub_topic_valid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1384,1
    - Dst: pub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1385,1
    - Dst: pub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1386,1
    - Dst: pub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1387,1
    - Dst: pub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1388,1
    - Dst: pub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1389,1
    - Dst: pub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1390,1
    - Dst: pub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1391,1
    - Dst: pub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1392,1
    - Dst: pub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1393,1
    - Dst: pub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1382
    functionDepth: 1
    functionLinenumber: 1382
    functionLinenumberEnd: 1395
    functionName: TEST_pub_topic_invalid
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - pub_topic_helper
    linkageType: ''
    returnType: void
    signature: void TEST_pub_topic_invalid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_sub_topic_check
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1407,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1408,1
    - Dst: mosquitto_sub_topic_check2
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1410,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1410,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - topic
    - rc_expected
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1403
    functionDepth: 0
    functionLinenumber: 1403
    functionLinenumberEnd: 1412
    functionName: sub_topic_helper
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - mosquitto_sub_topic_check2
    - CU_ASSERT_EQUAL
    - strlen
    - mosquitto_sub_topic_check
    linkageType: ''
    returnType: void
    signature: void sub_topic_helper(const char *topic, int rc_expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1417,1
    - Dst: sub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1418,1
    - Dst: sub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1419,1
    - Dst: sub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1420,1
    - Dst: sub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1421,1
    - Dst: sub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1422,1
    - Dst: sub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1423,1
    - Dst: sub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1424,1
    - Dst: sub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1425,1
    - Dst: sub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1426,1
    - Dst: sub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1427,1
    - Dst: sub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1415
    functionDepth: 1
    functionLinenumber: 1415
    functionLinenumberEnd: 1429
    functionName: TEST_sub_topic_valid
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - sub_topic_helper
    linkageType: ''
    returnType: void
    signature: void TEST_sub_topic_valid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1434,1
    - Dst: sub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1435,1
    - Dst: sub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1436,1
    - Dst: sub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1437,1
    - Dst: sub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1438,1
    - Dst: sub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1439,1
    - Dst: sub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1440,1
    - Dst: sub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1441,1
    - Dst: sub_topic_helper
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1432
    functionDepth: 1
    functionLinenumber: 1432
    functionLinenumberEnd: 1443
    functionName: TEST_sub_topic_invalid
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - sub_topic_helper
    linkageType: ''
    returnType: void
    signature: void TEST_sub_topic_invalid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_sub_matches_acl
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1456,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1457,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - acl
    - sub
    - expected
    - rc_expected
    argTypes:
    - char*
    - char*
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1451
    functionDepth: 0
    functionLinenumber: 1451
    functionLinenumberEnd: 1459
    functionName: sub_match_test
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - mosquitto_sub_matches_acl
    linkageType: ''
    returnType: void
    signature: void sub_match_test(const char *acl, const char *sub, bool expected,
      int rc_expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sub_match_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1464,1
    - Dst: sub_match_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1465,1
    - Dst: sub_match_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1466,1
    - Dst: sub_match_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1467,1
    - Dst: sub_match_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1468,1
    - Dst: sub_match_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1469,1
    - Dst: sub_match_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1470,1
    - Dst: sub_match_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1471,1
    - Dst: sub_match_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1472,1
    - Dst: sub_match_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1473,1
    - Dst: sub_match_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1474,1
    - Dst: sub_match_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1475,1
    - Dst: sub_match_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1476,1
    - Dst: sub_match_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1477,1
    - Dst: sub_match_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1478,1
    - Dst: sub_match_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1479,1
    - Dst: sub_match_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1480,1
    - Dst: sub_match_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1481,1
    - Dst: sub_match_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1482,1
    - Dst: sub_match_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1483,1
    - Dst: sub_match_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1484,1
    - Dst: sub_match_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1485,1
    - Dst: sub_match_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1486,1
    - Dst: sub_match_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1487,1
    - Dst: sub_match_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1488,1
    - Dst: sub_match_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1462
    functionDepth: 1
    functionLinenumber: 1462
    functionLinenumberEnd: 1490
    functionName: TEST_sub_match_acl
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 0
    functionsReached:
    - sub_match_test
    linkageType: ''
    returnType: void
    signature: void TEST_sub_match_acl(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1502,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1504,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1509,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1510,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1511,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1512,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1513,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1514,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1515,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1516,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1517,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1518,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1519,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1520,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1521,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1522,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1523,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1524,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1525,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1526,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1527,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1528,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1529,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1530,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1531,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1532,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1533,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1534,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1535,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1536,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1537,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1538,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/libcommon/topic_test.c:1541,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1546
    functionName: init_topic_tests
    functionSourceFile: /src/mosquitto/test/unit/libcommon/topic_test.c
    functionUses: 1
    functionsReached:
    - CU_add_test
    - printf
    - CU_add_suite
    linkageType: ''
    returnType: int
    signature: int init_topic_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:19,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:20,1
    - Dst: bridge__add_topic
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:24,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:25,1
    - Dst: strdup
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:27,1
    - Dst: bridge__remap_topic_in
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:28,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:29,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:30,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:32,1
    - Dst: free
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:33,1
    - Dst: bridge__cleanup_topics
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 5
    argNames:
    - topic
    - local_prefix
    - remote_prefix
    - incoming
    - expected
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 37
    functionName: map_valid_helper
    functionSourceFile: /src/mosquitto/test/unit/broker/bridge_topic_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - bridge__remap_topic_in
    - strdup
    - bridge__add_topic
    - CU_ASSERT_PTR_NOT_NULL
    - bridge__cleanup_topics
    - CU_ASSERT_STRING_EQUAL
    - memset
    - free
    linkageType: ''
    returnType: void
    signature: void map_valid_helper(const char *topic, const char *local_prefix,
      const char *remote_prefix, const char *incoming, const char *expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:46,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:47,1
    - Dst: bridge__add_topic
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:51,1
    - Dst: CU_ASSERT_NOT_EQUAL
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:52,1
    - Dst: bridge__cleanup_topics
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - topic
    - local_prefix
    - remote_prefix
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 55
    functionName: map_invalid_helper
    functionSourceFile: /src/mosquitto/test/unit/broker/bridge_topic_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_NOT_EQUAL
    - bridge__add_topic
    - memset
    - bridge__cleanup_topics
    linkageType: ''
    returnType: void
    signature: void map_invalid_helper(const char *topic, const char *local_prefix,
      const char *remote_prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: map_valid_helper
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:61,1
    - Dst: map_valid_helper
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:62,1
    - Dst: map_valid_helper
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:63,1
    - Dst: map_valid_helper
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:64,1
    - Dst: map_valid_helper
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: TEST_remap_valid
    functionSourceFile: /src/mosquitto/test/unit/broker/bridge_topic_test.c
    functionUses: 0
    functionsReached:
    - map_valid_helper
    linkageType: ''
    returnType: void
    signature: void TEST_remap_valid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: map_invalid_helper
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:72,1
    - Dst: map_invalid_helper
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:73,1
    - Dst: map_invalid_helper
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: TEST_remap_invalid
    functionSourceFile: /src/mosquitto/test/unit/broker/bridge_topic_test.c
    functionUses: 0
    functionsReached:
    - map_invalid_helper
    linkageType: ''
    returnType: void
    signature: void TEST_remap_invalid(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:87,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:89,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:94,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:95,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 103
    functionName: init_bridge_tests
    functionSourceFile: /src/mosquitto/test/unit/broker/bridge_topic_test.c
    functionUses: 0
    functionsReached:
    - CU_add_test
    - printf
    - CU_add_suite
    linkageType: ''
    returnType: int
    signature: int init_bridge_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:110,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:111,1
    - Dst: CU_initialize_registry
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:113,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:114,1
    - Dst: init_bridge_tests
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:119,1
    - Dst: CU_cleanup_registry
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:122,1
    - Dst: CU_basic_set_mode
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:126,1
    - Dst: CU_basic_run_tests
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:127,1
    - Dst: CU_get_number_of_failures
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:128,1
    - Dst: CU_cleanup_registry
      Src: /src/mosquitto/test/unit/broker/bridge_topic_test.c:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 132
    functionName: main
    functionSourceFile: /src/mosquitto/test/unit/broker/bridge_topic_test.c
    functionUses: 95
    functionsReached:
    - CU_basic_set_mode
    - init_bridge_tests
    - CU_initialize_registry
    - CU_basic_run_tests
    - printf
    - CU_cleanup_registry
    - CU_get_number_of_failures
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/subs_test.c:17,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/broker/subs_test.c:17,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/subs_test.c:18,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/subs_test.c:20,1
    - Dst: CU_ASSERT_PTR_EQUAL
      Src: /src/mosquitto/test/unit/broker/subs_test.c:22,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/broker/subs_test.c:23,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/broker/subs_test.c:26,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - sub
    - context
    - topic
    argTypes:
    - struct mosquitto__subhier**
    - struct mosquitto*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 30
    functionName: hier_quick_check
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_PTR_EQUAL
    - CU_ASSERT_EQUAL
    - CU_ASSERT_PTR_NOT_NULL
    - strlen
    - CU_ASSERT_STRING_EQUAL
    - CU_ASSERT_PTR_NULL
    linkageType: ''
    returnType: void
    signature: void hier_quick_check(struct mosquitto__subhier **sub, struct mosquitto
      *context, const char *topic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/subs_test.c:42,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/subs_test.c:43,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/subs_test.c:44,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/subs_test.c:45,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/subs_test.c:46,1
    - Dst: db__open
      Src: /src/mosquitto/test/unit/broker/subs_test.c:55,1
    - Dst: sub__add
      Src: /src/mosquitto/test/unit/broker/subs_test.c:58,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/subs_test.c:59,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/subs_test.c:60,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/subs_test.c:61,1
    - Dst: hier_quick_check
      Src: /src/mosquitto/test/unit/broker/subs_test.c:65,1
    - Dst: hier_quick_check
      Src: /src/mosquitto/test/unit/broker/subs_test.c:66,1
    - Dst: hier_quick_check
      Src: /src/mosquitto/test/unit/broker/subs_test.c:67,1
    - Dst: hier_quick_check
      Src: /src/mosquitto/test/unit/broker/subs_test.c:68,1
    - Dst: hier_quick_check
      Src: /src/mosquitto/test/unit/broker/subs_test.c:69,1
    - Dst: hier_quick_check
      Src: /src/mosquitto/test/unit/broker/subs_test.c:70,1
    - Dst: hier_quick_check
      Src: /src/mosquitto/test/unit/broker/subs_test.c:71,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/broker/subs_test.c:72,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/test/unit/broker/subs_test.c:74,1
    - Dst: db__close
      Src: /src/mosquitto/test/unit/broker/subs_test.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 76
    functionName: TEST_sub_add_single
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - db__close
    - CU_ASSERT_PTR_NOT_NULL
    - sub__add
    - hier_quick_check
    - db__open
    - mosquitto_free
    - memset
    - CU_ASSERT_PTR_NULL
    linkageType: ''
    returnType: void
    signature: void TEST_sub_add_single(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_test.c:89,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_test.c:90,1
    - Dst: CU_initialize_registry
      Src: /src/mosquitto/test/unit/broker/subs_test.c:92,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/broker/subs_test.c:93,1
    - Dst: CU_add_suite
      Src: /src/mosquitto/test/unit/broker/subs_test.c:97,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/broker/subs_test.c:99,1
    - Dst: CU_cleanup_registry
      Src: /src/mosquitto/test/unit/broker/subs_test.c:100,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/subs_test.c:105,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/broker/subs_test.c:108,1
    - Dst: CU_cleanup_registry
      Src: /src/mosquitto/test/unit/broker/subs_test.c:109,1
    - Dst: CU_basic_set_mode
      Src: /src/mosquitto/test/unit/broker/subs_test.c:113,1
    - Dst: CU_basic_run_tests
      Src: /src/mosquitto/test/unit/broker/subs_test.c:114,1
    - Dst: CU_get_number_of_failures
      Src: /src/mosquitto/test/unit/broker/subs_test.c:115,1
    - Dst: CU_cleanup_registry
      Src: /src/mosquitto/test/unit/broker/subs_test.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 119
    functionName: main
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_test.c
    functionUses: 95
    functionsReached:
    - CU_add_test
    - CU_basic_set_mode
    - CU_initialize_registry
    - CU_basic_run_tests
    - CU_add_suite
    - printf
    - CU_cleanup_registry
    - CU_get_number_of_failures
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:15,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:16,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - priority
    - fmt
    argTypes:
    - struct mosquitto*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 20
    functionName: log__printf
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int log__printf(struct mosquitto *mosq, unsigned int priority, const
      char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: net__is_connected
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: bool
    signature: bool net__is_connected(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:32,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:33,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:34,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:35,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:36,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:37,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:38,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:39,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:40,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:41,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 11
    argNames:
    - mosq
    - mid
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    - dup
    - subscription_identifier
    - store_props
    - expiry_interval
    argTypes:
    - struct mosquitto*
    - uint16_t
    - char*
    - uint32_t
    - void*
    - uint8_t
    - bool
    - bool
    - uint32_t
    - mosquitto_property*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 45
    functionName: send__publish
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int send__publish(struct mosquitto *mosq, uint16_t mid, const char
      *topic, uint32_t payloadlen, const void *payload, uint8_t qos, bool retain,
      bool dup, uint32_t subscription_identifier, const mosquitto_property *store_props,
      uint32_t expiry_interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:50,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:51,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - mid
    - properties
    argTypes:
    - struct mosquitto*
    - uint16_t
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: send__pubcomp
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int send__pubcomp(struct mosquitto *mosq, uint16_t mid, const mosquitto_property
      *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:60,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:61,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:62,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - mosq
    - mid
    - reason_code
    - properties
    argTypes:
    - struct mosquitto*
    - uint16_t
    - uint8_t
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: send__pubrec
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int send__pubrec(struct mosquitto *mosq, uint16_t mid, uint8_t reason_code,
      const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:71,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:72,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - mid
    - properties
    argTypes:
    - struct mosquitto*
    - uint16_t
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: send__pubrel
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int send__pubrel(struct mosquitto *mosq, uint16_t mid, const mosquitto_property
      *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:81,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:82,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:83,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:84,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:85,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:86,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 7
    argNames:
    - context
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    - access
    argTypes:
    - struct mosquitto*
    - char*
    - uint32_t
    - void*
    - uint8_t
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: mosquitto_acl_check
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_acl_check(struct mosquitto *context, const char *topic,
      uint32_t payloadlen, void *payload, uint8_t qos, bool retain, int access)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: mosquitto__mid_generate
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t mosquitto__mid_generate(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - shutdown
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: persist__backup
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int persist__backup(bool shutdown)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: persist__restore
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int persist__restore(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: retain__init
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int retain__init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: retain__expiry_check
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void retain__expiry_check(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - retainhier
    argTypes:
    - struct mosquitto__retainhier**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: retain__clean
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void retain__clean(struct mosquitto__retainhier **retainhier)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:136,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - context
    - sub
    argTypes:
    - struct mosquitto*
    - struct mosquitto_subscription*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: retain__queue
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int retain__queue(struct mosquitto *context, const struct mosquitto_subscription
      *sub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:145,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:146,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:147,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - topic
    - stored
    - split_topics
    - persist
    argTypes:
    - char*
    - struct mosquitto__base_msg*
    - char**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: retain__store
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int retain__store(const char *topic, struct mosquitto__base_msg *stored,
      char **split_topics, bool persist)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: util__decrement_receive_quota
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void util__decrement_receive_quota(struct mosquitto *mosq)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: util__decrement_send_quota
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void util__decrement_send_quota(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: util__increment_receive_quota
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void util__increment_receive_quota(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: util__increment_send_quota
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void util__increment_send_quota(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:184,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - context
    - cmsg
    argTypes:
    - struct mosquitto*
    - struct mosquitto__client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: plugin_persist__handle_client_msg_add
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_client_msg_add(struct mosquitto *context,
      const struct mosquitto__client_msg *cmsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:191,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - context
    - cmsg
    argTypes:
    - struct mosquitto*
    - struct mosquitto__client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: plugin_persist__handle_client_msg_delete
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_client_msg_delete(struct mosquitto *context,
      const struct mosquitto__client_msg *cmsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:198,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - context
    - cmsg
    argTypes:
    - struct mosquitto*
    - struct mosquitto__client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: plugin_persist__handle_client_msg_update
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_client_msg_update(struct mosquitto *context,
      const struct mosquitto__client_msg *cmsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:205,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - context
    - direction
    argTypes:
    - struct mosquitto*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: plugin_persist__handle_client_msg_clear
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_client_msg_clear(struct mosquitto *context,
      uint8_t direction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct mosquitto__base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: plugin_persist__handle_base_msg_add
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_base_msg_add(struct mosquitto__base_msg
      *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct mosquitto__base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: plugin_persist__handle_base_msg_delete
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_base_msg_delete(struct mosquitto__base_msg
      *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct mosquitto__base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: plugin_persist__handle_retain_msg_add
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_retain_msg_add(struct mosquitto__base_msg
      *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct mosquitto__base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: plugin_persist__handle_retain_msg_delete
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_retain_msg_delete(struct mosquitto__base_msg
      *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:236,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - context
    - sub
    argTypes:
    - struct mosquitto*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: plugin_persist__handle_subscription_delete
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_subscription_delete(struct mosquitto *context,
      char *sub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:243,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - context
    - expiry_time
    argTypes:
    - struct mosquitto*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: session_expiry__add_from_persistence
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int session_expiry__add_from_persistence(struct mosquitto *context,
      time_t expiry_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:253,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - m
    - value
    argTypes:
    - enum mosq_metric_type
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: metrics__int_inc
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void metrics__int_inc(enum mosq_metric_type m, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:259,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/subs_stubs.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - m
    - value
    argTypes:
    - enum mosq_metric_type
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: metrics__int_dec
    functionSourceFile: /src/mosquitto/test/unit/broker/subs_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void metrics__int_dec(enum mosq_metric_type m, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:21,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:22,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - priority
    - fmt
    argTypes:
    - struct mosquitto*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: log__printf
    functionSourceFile: /src/mosquitto/test/unit/broker/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int log__printf(struct mosquitto *mosq, unsigned int priority, const
      char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:31,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:32,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:33,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:34,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:35,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:36,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 7
    argNames:
    - context
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    - access
    argTypes:
    - struct mosquitto*
    - char*
    - uint32_t
    - void*
    - uint8_t
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: mosquitto_acl_check
    functionSourceFile: /src/mosquitto/test/unit/broker/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_acl_check(struct mosquitto *context, const char *topic,
      uint32_t payloadlen, void *payload, uint8_t qos, bool retain, int access)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: net__is_connected
    functionSourceFile: /src/mosquitto/test/unit/broker/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: bool
    signature: bool net__is_connected(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: net__socket_close
    functionSourceFile: /src/mosquitto/test/unit/broker/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int net__socket_close(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: send__pingreq
    functionSourceFile: /src/mosquitto/test/unit/broker/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int send__pingreq(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:68,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:69,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - rc
    - props
    argTypes:
    - struct mosquitto*
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: callback__on_disconnect
    functionSourceFile: /src/mosquitto/test/unit/broker/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void callback__on_disconnect(struct mosquitto *mosq, int rc, const
      mosquitto_property *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:76,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:77,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:78,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - mosq
    - mid
    - reason_code
    - properties
    argTypes:
    - struct mosquitto*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: callback__on_publish
    functionSourceFile: /src/mosquitto/test/unit/broker/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void callback__on_publish(struct mosquitto *mosq, int mid, int reason_code,
      const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:85,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:86,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - reason_code
    - properties
    argTypes:
    - struct mosquitto*
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: do_client_disconnect
    functionSourceFile: /src/mosquitto/test/unit/broker/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void do_client_disconnect(struct mosquitto *mosq, int reason_code,
      const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: handle__packet
    functionSourceFile: /src/mosquitto/test/unit/broker/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int handle__packet(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:100,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:101,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - buf
    - count
    argTypes:
    - struct mosquitto*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: net__read
    functionSourceFile: /src/mosquitto/test/unit/broker/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t net__read(struct mosquitto *mosq, void *buf, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:109,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:110,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - buf
    - count
    argTypes:
    - struct mosquitto*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: net__write
    functionSourceFile: /src/mosquitto/test/unit/broker/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t net__write(struct mosquitto *mosq, const void *buf, size_t
      count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct mosquitto__base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: plugin_persist__handle_retain_set
    functionSourceFile: /src/mosquitto/test/unit/broker/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_retain_set(struct mosquitto__base_msg *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct mosquitto__base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: plugin_persist__handle_retain_remove
    functionSourceFile: /src/mosquitto/test/unit/broker/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_retain_remove(struct mosquitto__base_msg
      *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - force
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: plugin_persist__process_retain_events
    functionSourceFile: /src/mosquitto/test/unit/broker/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__process_retain_events(bool force)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:136,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - event
    argTypes:
    - struct mosquitto__base_msg*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: plugin_persist__queue_retain_event
    functionSourceFile: /src/mosquitto/test/unit/broker/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__queue_retain_event(struct mosquitto__base_msg
      *msg, int event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:143,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mosq
    - packet
    argTypes:
    - struct mosquitto*
    - struct mosquitto__packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: ws__prepare_packet
    functionSourceFile: /src/mosquitto/test/unit/broker/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void ws__prepare_packet(struct mosquitto *mosq, struct mosquitto__packet
      *packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:150,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:151,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/stubs.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - buf
    - count
    argTypes:
    - struct mosquitto*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: net__read_ws
    functionSourceFile: /src/mosquitto/test/unit/broker/stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t net__read_ws(struct mosquitto *mosq, void *buf, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/keepalive_stubs.c:11,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/keepalive_stubs.c:12,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/keepalive_stubs.c:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - priority
    - fmt
    argTypes:
    - struct mosquitto*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 16
    functionName: log__printf
    functionSourceFile: /src/mosquitto/test/unit/broker/keepalive_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int log__printf(struct mosquitto *mosq, unsigned int priority, const
      char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/keepalive_stubs.c:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: net__is_connected
    functionSourceFile: /src/mosquitto/test/unit/broker/keepalive_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: bool
    signature: bool net__is_connected(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/keepalive_stubs.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_ms
    argTypes:
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: loop__update_next_event
    functionSourceFile: /src/mosquitto/test/unit/broker/keepalive_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void loop__update_next_event(time_t new_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: context__init
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - mosquitto_calloc
    linkageType: ''
    returnType: struct mosquitto
    signature: struct mosquitto *context__init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:22,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:23,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - priority
    - fmt
    argTypes:
    - struct mosquitto*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: log__printf
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int log__printf(struct mosquitto *mosq, unsigned int priority, const
      char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: net__is_connected
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: bool
    signature: bool net__is_connected(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: net__socket_close
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int net__socket_close(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: net__socket_shutdown
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int net__socket_shutdown(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: send__pingreq
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int send__pingreq(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:63,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:64,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:65,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:66,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:67,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:68,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 7
    argNames:
    - context
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    - access
    argTypes:
    - struct mosquitto*
    - char*
    - uint32_t
    - void*
    - uint8_t
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: mosquitto_acl_check
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_acl_check(struct mosquitto *context, const char *topic,
      uint32_t payloadlen, void *payload, uint8_t qos, bool retain, int access)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: acl__find_acls
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int acl__find_acls(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:85,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:86,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:87,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:88,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:89,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:90,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:91,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:92,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:93,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:94,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 11
    argNames:
    - mosq
    - mid
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    - dup
    - subscription_identifier
    - store_props
    - expiry_interval
    argTypes:
    - struct mosquitto*
    - uint16_t
    - char*
    - uint32_t
    - void*
    - uint8_t
    - bool
    - bool
    - uint32_t
    - mosquitto_property*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 98
    functionName: send__publish
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int send__publish(struct mosquitto *mosq, uint16_t mid, const char
      *topic, uint32_t payloadlen, const void *payload, uint8_t qos, bool retain,
      bool dup, uint32_t subscription_identifier, const mosquitto_property *store_props,
      uint32_t expiry_interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:103,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:104,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - mid
    - properties
    argTypes:
    - struct mosquitto*
    - uint16_t
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: send__pubcomp
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int send__pubcomp(struct mosquitto *mosq, uint16_t mid, const mosquitto_property
      *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:113,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:114,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:115,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - mosq
    - mid
    - reason_code
    - properties
    argTypes:
    - struct mosquitto*
    - uint16_t
    - uint8_t
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: send__pubrec
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int send__pubrec(struct mosquitto *mosq, uint16_t mid, uint8_t reason_code,
      const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:124,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:125,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - mid
    - properties
    argTypes:
    - struct mosquitto*
    - uint16_t
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: send__pubrel
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int send__pubrel(struct mosquitto *mosq, uint16_t mid, const mosquitto_property
      *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:134,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:135,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - rc
    - props
    argTypes:
    - struct mosquitto*
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: callback__on_disconnect
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void callback__on_disconnect(struct mosquitto *mosq, int rc, const
      mosquitto_property *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:142,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:143,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:144,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - mosq
    - mid
    - reason_code
    - properties
    argTypes:
    - struct mosquitto*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: callback__on_publish
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void callback__on_publish(struct mosquitto *mosq, int mid, int reason_code,
      const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:151,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:152,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - reason_code
    - properties
    argTypes:
    - struct mosquitto*
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: do_client_disconnect
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void do_client_disconnect(struct mosquitto *mosq, int reason_code,
      const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: handle__packet
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int handle__packet(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:166,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:167,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - buf
    - count
    argTypes:
    - struct mosquitto*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: net__read
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t net__read(struct mosquitto *mosq, void *buf, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:175,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:176,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - buf
    - count
    argTypes:
    - struct mosquitto*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: net__write
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t net__write(struct mosquitto *mosq, const void *buf, size_t
      count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ADD_KEYPTR
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:186,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: context__add_to_by_id
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - strlen
    - HASH_ADD_KEYPTR
    linkageType: ''
    returnType: void
    signature: void context__add_to_by_id(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: context__send_will
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void context__send_will(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:199,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - context
    - cmsg
    argTypes:
    - struct mosquitto*
    - struct mosquitto__client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: plugin_persist__handle_client_msg_add
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_client_msg_add(struct mosquitto *context,
      const struct mosquitto__client_msg *cmsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:206,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - context
    - cmsg
    argTypes:
    - struct mosquitto*
    - struct mosquitto__client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: plugin_persist__handle_client_msg_delete
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_client_msg_delete(struct mosquitto *context,
      const struct mosquitto__client_msg *cmsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:213,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - context
    - cmsg
    argTypes:
    - struct mosquitto*
    - struct mosquitto__client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: plugin_persist__handle_client_msg_update
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_client_msg_update(struct mosquitto *context,
      const struct mosquitto__client_msg *cmsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:220,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - context
    - direction
    argTypes:
    - struct mosquitto*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: plugin_persist__handle_client_msg_clear
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_client_msg_clear(struct mosquitto *context,
      uint8_t direction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct mosquitto__base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: plugin_persist__handle_base_msg_add
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_base_msg_add(struct mosquitto__base_msg
      *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct mosquitto__base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: plugin_persist__handle_base_msg_delete
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_base_msg_delete(struct mosquitto__base_msg
      *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct mosquitto__base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: plugin_persist__handle_retain_msg_set
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_retain_msg_set(struct mosquitto__base_msg
      *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct mosquitto__base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: plugin_persist__handle_retain_msg_delete
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_retain_msg_delete(struct mosquitto__base_msg
      *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:251,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - context
    - sub
    argTypes:
    - struct mosquitto*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: plugin_persist__handle_subscription_delete
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_subscription_delete(struct mosquitto *context,
      char *sub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - force
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: plugin_persist__process_retain_events
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__process_retain_events(bool force)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:264,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - event
    argTypes:
    - struct mosquitto__base_msg*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: plugin_persist__queue_retain_event
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__queue_retain_event(struct mosquitto__base_msg
      *msg, int event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:271,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - context
    - expiry_time
    argTypes:
    - struct mosquitto*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 274
    functionName: session_expiry__add_from_persistence
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int session_expiry__add_from_persistence(struct mosquitto *context,
      time_t expiry_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:279,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - level
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: mosquitto_log_printf
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void mosquitto_log_printf(int level, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: keepalive__update
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int keepalive__update(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: mux__add_out
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mux__add_out(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 302
    functionName: mux__remove_out
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mux__remove_out(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:307,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:308,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - buf
    - count
    argTypes:
    - struct mosquitto*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 311
    functionName: net__read_ws
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t net__read_ws(struct mosquitto *mosq, void *buf, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:316,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mosq
    - packet
    argTypes:
    - struct mosquitto*
    - struct mosquitto__packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: ws__prepare_packet
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void ws__prepare_packet(struct mosquitto *mosq, struct mosquitto__packet
      *packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:323,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:324,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - reason_code
    - properties
    argTypes:
    - struct mosquitto*
    - uint8_t
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 327
    functionName: send__disconnect
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int send__disconnect(struct mosquitto *mosq, uint8_t reason_code, const
      mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:334,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - m
    - value
    argTypes:
    - enum mosq_metric_type
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: metrics__int_inc
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void metrics__int_inc(enum mosq_metric_type m, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:340,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_stubs.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - m
    - value
    argTypes:
    - enum mosq_metric_type
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: metrics__int_dec
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void metrics__int_dec(enum mosq_metric_type m, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:24,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:25,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:26,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:27,1
    - Dst: db__messages_delete
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:28,1
    - Dst: sub__clean_session
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:29,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:30,1
    - Dst: db__close
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 34
    functionName: test_cleanup
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_test.c
    functionUses: 0
    functionsReached:
    - db__messages_delete
    - sub__clean_session
    - mosquitto_free
    - HASH_DELETE
    - HASH_ITER
    - db__close
    linkageType: ''
    returnType: void
    signature: void test_cleanup(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:44,1
    - Dst: fseek
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:49,1
    - Dst: ftell
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:50,1
    - Dst: fclose
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:52,1
    - Dst: malloc
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:56,1
    - Dst: fclose
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:58,1
    - Dst: fseek
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:61,1
    - Dst: fread
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:62,1
    - Dst: fclose
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:63,1
    - Dst: free
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - filename
    - data
    - len
    argTypes:
    - char*
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 72
    functionName: file_read
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_test.c
    functionUses: 0
    functionsReached:
    - fseek
    - free
    - ftell
    - fclose
    - malloc
    - fopen
    - fread
    linkageType: ''
    returnType: int
    signature: int file_read(const char *filename, uint8_t **data, size_t *len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: file_read
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:82,1
    - Dst: file_read
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:86,1
    - Dst: free
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:87,1
    - Dst: memcmp
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:92,1
    - Dst: free
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:94,1
    - Dst: free
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - one
    - two
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 98
    functionName: file_diff
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_test.c
    functionUses: 0
    functionsReached:
    - memcmp
    - free
    - file_read
    linkageType: ''
    returnType: int
    signature: int file_diff(const char *one, const char *two)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:106,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:107,1
    - Dst: persist__backup
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:111,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:112,1
    - Dst: persist__backup
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:115,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:116,1
    - Dst: test_cleanup
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: TEST_persistence_disabled
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_test.c
    functionUses: 0
    functionsReached:
    - test_cleanup
    - CU_ASSERT_EQUAL
    - persist__backup
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_persistence_disabled(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:127,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:128,1
    - Dst: persist__backup
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:134,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:135,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:137,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:138,1
    - Dst: file_diff
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:138,1
    - Dst: unlink
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:139,1
    - Dst: test_cleanup
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 142
    functionName: TEST_empty_file
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - unlink
    - test_cleanup
    - persist__backup
    - file_diff
    - memset
    - cat_sourcedir_with_relpath
    linkageType: ''
    returnType: void
    signature: void TEST_empty_file(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:150,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:151,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:156,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:158,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:159,1
    - Dst: persist__backup
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:162,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:163,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:165,1
    - Dst: file_diff
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:165,1
    - Dst: unlink
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:166,1
    - Dst: test_cleanup
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 145
    functionDepth: 3
    functionLinenumber: 145
    functionLinenumberEnd: 169
    functionName: TEST_v6_config_ok
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - unlink
    - test_cleanup
    - persist__backup
    - file_diff
    - memset
    - cat_sourcedir_with_relpath
    - persist__restore
    linkageType: ''
    returnType: void
    signature: void TEST_v6_config_ok(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:177,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:178,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:183,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:185,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:186,1
    - Dst: persist__backup
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:189,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:190,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:193,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:194,1
    - Dst: file_diff
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:194,1
    - Dst: unlink
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:195,1
    - Dst: test_cleanup
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 198
    functionName: TEST_v6_message_store_no_ref
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - unlink
    - test_cleanup
    - persist__backup
    - file_diff
    - memset
    - cat_sourcedir_with_relpath
    - persist__restore
    linkageType: ''
    returnType: void
    signature: void TEST_v6_message_store_no_ref(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:207,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:208,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:209,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:218,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:220,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:221,1
    - Dst: persist__backup
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:224,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:225,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:227,1
    - Dst: file_diff
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:227,1
    - Dst: unlink
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:228,1
    - Dst: test_cleanup
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 231
    functionName: TEST_v6_message_store_props
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - unlink
    - test_cleanup
    - persist__backup
    - file_diff
    - memset
    - cat_sourcedir_with_relpath
    - persist__restore
    linkageType: ''
    returnType: void
    signature: void TEST_v6_message_store_props(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:240,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:241,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:242,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:251,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:253,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:254,1
    - Dst: persist__backup
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:257,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:258,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:260,1
    - Dst: file_diff
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:260,1
    - Dst: unlink
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:261,1
    - Dst: test_cleanup
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 264
    functionName: TEST_v6_client
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - unlink
    - test_cleanup
    - persist__backup
    - file_diff
    - memset
    - cat_sourcedir_with_relpath
    - persist__restore
    linkageType: ''
    returnType: void
    signature: void TEST_v6_client(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:273,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:274,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:275,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:284,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:286,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:287,1
    - Dst: persist__backup
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:290,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:291,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:293,1
    - Dst: file_diff
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:293,1
    - Dst: unlink
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:294,1
    - Dst: test_cleanup
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 297
    functionName: TEST_v6_client_message
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - unlink
    - test_cleanup
    - persist__backup
    - file_diff
    - memset
    - cat_sourcedir_with_relpath
    - persist__restore
    linkageType: ''
    returnType: void
    signature: void TEST_v6_client_message(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:306,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:307,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:308,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:317,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:319,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:320,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:322,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:324,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:326,1
    - Dst: persist__backup
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:331,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:332,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:334,1
    - Dst: file_diff
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:334,1
    - Dst: test_cleanup
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 300
    functionDepth: 3
    functionLinenumber: 300
    functionLinenumberEnd: 338
    functionName: TEST_v6_client_message_props
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - test_cleanup
    - persist__backup
    - file_diff
    - CU_ASSERT_PTR_NOT_NULL
    - memset
    - cat_sourcedir_with_relpath
    - persist__restore
    linkageType: ''
    returnType: void
    signature: void TEST_v6_client_message_props(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:347,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:348,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:349,1
    - Dst: db__open
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:356,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:360,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:362,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:363,1
    - Dst: persist__backup
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:366,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:367,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:369,1
    - Dst: file_diff
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:369,1
    - Dst: unlink
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:370,1
    - Dst: test_cleanup
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 373
    functionName: TEST_v6_sub
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - unlink
    - test_cleanup
    - persist__backup
    - file_diff
    - db__open
    - memset
    - cat_sourcedir_with_relpath
    - persist__restore
    linkageType: ''
    returnType: void
    signature: void TEST_v6_sub(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:385,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:386,1
    - Dst: db__open
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:389,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:393,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:395,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:396,1
    - Dst: persist__backup
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:399,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:400,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:402,1
    - Dst: file_diff
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:402,1
    - Dst: unlink
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 380
    functionDepth: 3
    functionLinenumber: 380
    functionLinenumberEnd: 404
    functionName: TEST_v5_full
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - unlink
    - persist__backup
    - file_diff
    - db__open
    - memset
    - cat_sourcedir_with_relpath
    - persist__restore
    linkageType: ''
    returnType: void
    signature: void TEST_v5_full(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:418,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:419,1
    - Dst: CU_initialize_registry
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:421,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:422,1
    - Dst: CU_add_suite
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:426,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:428,1
    - Dst: CU_cleanup_registry
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:429,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:434,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:435,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:436,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:437,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:438,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:439,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:440,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:441,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:442,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:446,1
    - Dst: CU_cleanup_registry
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:447,1
    - Dst: CU_basic_set_mode
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:451,1
    - Dst: CU_basic_run_tests
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:452,1
    - Dst: CU_get_number_of_failures
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:453,1
    - Dst: CU_cleanup_registry
      Src: /src/mosquitto/test/unit/broker/persist_write_test.c:454,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 457
    functionName: main
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_write_test.c
    functionUses: 95
    functionsReached:
    - CU_add_test
    - CU_basic_set_mode
    - CU_initialize_registry
    - CU_basic_run_tests
    - CU_add_suite
    - printf
    - CU_cleanup_registry
    - CU_get_number_of_failures
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 29
    functionName: context__init
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - mosquitto_calloc
    linkageType: ''
    returnType: struct mosquitto
    signature: struct mosquitto *context__init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:34,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:35,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - priority
    - fmt
    argTypes:
    - struct mosquitto*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: log__printf
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int log__printf(struct mosquitto *mosq, unsigned int priority, const
      char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: net__is_connected
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: bool
    signature: bool net__is_connected(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: net__socket_close
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int net__socket_close(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: net__socket_shutdown
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int net__socket_shutdown(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: send__pingreq
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int send__pingreq(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:75,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:76,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:77,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:78,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:79,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:80,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 7
    argNames:
    - context
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    - access
    argTypes:
    - struct mosquitto*
    - char*
    - uint32_t
    - void*
    - uint8_t
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: mosquitto_acl_check
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_acl_check(struct mosquitto *context, const char *topic,
      uint32_t payloadlen, void *payload, uint8_t qos, bool retain, int access)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: acl__find_acls
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int acl__find_acls(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:97,1
    - Dst: strdup
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - context
    - sub
    argTypes:
    - struct mosquitto*
    - struct mosquitto_subscription*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: sub__add
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 1
    functionsReached:
    - strdup
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int sub__add(struct mosquitto *context, const struct mosquitto_subscription
      *sub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:109,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:110,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - rc
    - props
    argTypes:
    - struct mosquitto*
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: callback__on_disconnect
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void callback__on_disconnect(struct mosquitto *mosq, int rc, const
      mosquitto_property *props)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ADD_KEYPTR
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:119,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: context__add_to_by_id
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - strlen
    - HASH_ADD_KEYPTR
    linkageType: ''
    returnType: void
    signature: void context__add_to_by_id(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: context__send_will
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void context__send_will(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct mosquitto__base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: plugin_persist__handle_retain_msg_set
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_retain_msg_set(struct mosquitto__base_msg
      *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct mosquitto__base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: plugin_persist__handle_retain_msg_delete
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_retain_msg_delete(struct mosquitto__base_msg
      *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct mosquitto__base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: plugin_persist__handle_base_msg_add
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_base_msg_add(struct mosquitto__base_msg
      *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - force
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: plugin_persist__process_retain_events
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__process_retain_events(bool force)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:156,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - event
    argTypes:
    - struct mosquitto__base_msg*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: plugin_persist__queue_retain_event
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__queue_retain_event(struct mosquitto__base_msg
      *msg, int event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:163,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - context
    - expiry_time
    argTypes:
    - struct mosquitto*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: session_expiry__add_from_persistence
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int session_expiry__add_from_persistence(struct mosquitto *context,
      time_t expiry_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:171,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - level
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: mosquitto_log_printf
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void mosquitto_log_printf(int level, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:176,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:177,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:178,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - parent
    - sibling
    - topic
    - len
    argTypes:
    - struct mosquitto__subhier*
    - struct mosquitto__subhier**
    - char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: sub__add_hier_entry
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: struct mosquitto__subhier
    signature: struct mosquitto__subhier *sub__add_hier_entry(struct mosquitto__subhier
      *parent, struct mosquitto__subhier **sibling, const char *topic, uint16_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:187,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - context
    - cmsg
    argTypes:
    - struct mosquitto*
    - struct mosquitto__client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: plugin_persist__handle_client_msg_add
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_client_msg_add(struct mosquitto *context,
      const struct mosquitto__client_msg *cmsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:194,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - context
    - cmsg
    argTypes:
    - struct mosquitto*
    - struct mosquitto__client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: plugin_persist__handle_client_msg_delete
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_client_msg_delete(struct mosquitto *context,
      const struct mosquitto__client_msg *cmsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:201,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - context
    - cmsg
    argTypes:
    - struct mosquitto*
    - struct mosquitto__client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: plugin_persist__handle_client_msg_update
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_client_msg_update(struct mosquitto *context,
      const struct mosquitto__client_msg *cmsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:208,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - context
    - direction
    argTypes:
    - struct mosquitto*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: plugin_persist__handle_client_msg_clear
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_client_msg_clear(struct mosquitto *context,
      uint8_t direction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct mosquitto__base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: plugin_persist__handle_base_msg_delete
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_base_msg_delete(struct mosquitto__base_msg
      *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:221,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - context
    - sub
    argTypes:
    - struct mosquitto*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: plugin_persist__handle_subscription_delete
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_subscription_delete(struct mosquitto *context,
      char *sub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:228,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:229,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:230,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - source_id
    - topic
    - qos
    - retain
    - base_msg
    argTypes:
    - char*
    - char*
    - uint8_t
    - int
    - struct mosquitto__base_msg**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 234
    functionName: sub__messages_queue
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int sub__messages_queue(const char *source_id, const char *topic, uint8_t
      qos, int retain, struct mosquitto__base_msg **base_msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:240,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - m
    - value
    argTypes:
    - enum mosq_metric_type
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: metrics__int_inc
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void metrics__int_inc(enum mosq_metric_type m, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:246,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - m
    - value
    argTypes:
    - enum mosq_metric_type
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: metrics__int_dec
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void metrics__int_dec(enum mosq_metric_type m, int64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:253,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:254,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:255,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:256,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:257,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:258,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:259,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:260,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:261,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:262,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 11
    argNames:
    - mosq
    - mid
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    - dup
    - subscription_identifier
    - store_props
    - expiry_interval
    argTypes:
    - struct mosquitto*
    - uint16_t
    - char*
    - uint32_t
    - void*
    - uint8_t
    - bool
    - bool
    - uint32_t
    - mosquitto_property*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 266
    functionName: send__publish
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int send__publish(struct mosquitto *mosq, uint16_t mid, const char
      *topic, uint32_t payloadlen, const void *payload, uint8_t qos, bool retain,
      bool dup, uint32_t subscription_identifier, const mosquitto_property *store_props,
      uint32_t expiry_interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:271,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:272,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - mid
    - properties
    argTypes:
    - struct mosquitto*
    - uint16_t
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 276
    functionName: send__pubcomp
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int send__pubcomp(struct mosquitto *mosq, uint16_t mid, const mosquitto_property
      *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:281,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:282,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:283,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - mosq
    - mid
    - reason_code
    - properties
    argTypes:
    - struct mosquitto*
    - uint16_t
    - uint8_t
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 287
    functionName: send__pubrec
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int send__pubrec(struct mosquitto *mosq, uint16_t mid, uint8_t reason_code,
      const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:292,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:293,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_stubs.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - mid
    - properties
    argTypes:
    - struct mosquitto*
    - uint16_t
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 297
    functionName: send__pubrel
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int send__pubrel(struct mosquitto *mosq, uint16_t mid, const mosquitto_property
      *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: sub__init
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_stubs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sub__init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:26,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:27,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:28,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:29,1
    - Dst: db__messages_delete
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:30,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:31,1
    - Dst: db__close
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 34
    functionName: test_cleanup
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_test.c
    functionUses: 9
    functionsReached:
    - db__messages_delete
    - mosquitto_free
    - HASH_DELETE
    - HASH_ITER
    - db__close
    linkageType: ''
    returnType: void
    signature: void test_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:42,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:43,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:46,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:47,1
    - Dst: test_cleanup
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: TEST_persistence_disabled
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_test.c
    functionUses: 0
    functionsReached:
    - test_cleanup
    - CU_ASSERT_EQUAL
    - persist__restore
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_persistence_disabled(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:57,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:58,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:64,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:67,1
    - Dst: test_cleanup
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:68,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 70
    functionName: TEST_empty_file
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - test_cleanup
    - memset
    - cat_sourcedir_with_relpath
    - persist__restore
    linkageType: ''
    returnType: void
    signature: void TEST_empty_file(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:78,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:79,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:85,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:87,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:88,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:90,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:92,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 94
    functionName: TEST_corrupt_header
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - cat_sourcedir_with_relpath
    - persist__restore
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_corrupt_header(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:102,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:103,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:108,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:111,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 113
    functionName: TEST_unsupported_version
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - cat_sourcedir_with_relpath
    - persist__restore
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_unsupported_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:121,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:122,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:127,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:130,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:131,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 133
    functionName: TEST_v3_config_ok
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - cat_sourcedir_with_relpath
    - persist__restore
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_v3_config_ok(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:141,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:142,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:147,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:150,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:151,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 153
    functionName: TEST_v4_config_ok
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - cat_sourcedir_with_relpath
    - persist__restore
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_v4_config_ok(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:161,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:162,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:167,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:170,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:171,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 173
    functionName: TEST_v3_config_truncated
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - cat_sourcedir_with_relpath
    - persist__restore
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_v3_config_truncated(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:181,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:182,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:187,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:190,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:191,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 193
    functionName: TEST_v3_config_bad_dbid
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - cat_sourcedir_with_relpath
    - persist__restore
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_v3_config_bad_dbid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:201,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:202,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:207,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:210,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:211,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 213
    functionName: TEST_v3_bad_chunk
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - cat_sourcedir_with_relpath
    - persist__restore
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_v3_bad_chunk(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:221,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:222,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:227,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:230,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:231,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:232,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:233,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:234,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:236,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:237,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:238,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:239,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:240,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:241,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:243,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:245,1
    - Dst: CU_ASSERT_NSTRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:247,1
    - Dst: test_cleanup
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 251
    functionName: TEST_v3_message_store
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - test_cleanup
    - CU_ASSERT_PTR_NOT_NULL
    - CU_ASSERT_STRING_EQUAL
    - memset
    - CU_ASSERT_NSTRING_EQUAL
    - cat_sourcedir_with_relpath
    - persist__restore
    linkageType: ''
    returnType: void
    signature: void TEST_v3_message_store(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:260,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:261,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:266,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:269,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:270,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:272,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:273,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:273,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:274,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:276,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:277,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:278,1
    - Dst: test_cleanup
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 281
    functionName: TEST_v3_client
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - test_cleanup
    - CU_ASSERT_PTR_NOT_NULL
    - strlen
    - memset
    - HASH_FIND
    - CU_ASSERT_PTR_NULL
    - cat_sourcedir_with_relpath
    - persist__restore
    linkageType: ''
    returnType: void
    signature: void TEST_v3_client(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:290,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:291,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:296,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:300,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:301,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:303,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:304,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:304,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:305,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:307,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:309,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:310,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:312,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:313,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:314,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:315,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:316,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:317,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:319,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:321,1
    - Dst: CU_ASSERT_NSTRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:323,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:326,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:327,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:328,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:329,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:330,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:331,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:332,1
    - Dst: test_cleanup
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:335,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 336
    functionName: TEST_v3_client_message
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - test_cleanup
    - CU_ASSERT_PTR_NOT_NULL
    - strlen
    - CU_ASSERT_STRING_EQUAL
    - memset
    - HASH_FIND
    - CU_ASSERT_NSTRING_EQUAL
    - CU_ASSERT_PTR_NULL
    - cat_sourcedir_with_relpath
    - persist__restore
    linkageType: ''
    returnType: void
    signature: void TEST_v3_client_message(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:344,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:345,1
    - Dst: retain__init
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:348,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:351,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:354,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:355,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:356,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:357,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:358,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:360,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:361,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:362,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:363,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:364,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:365,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:367,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:369,1
    - Dst: CU_ASSERT_NSTRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:371,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:374,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:376,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:377,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:379,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:380,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:382,1
    - Dst: test_cleanup
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:386,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 387
    functionName: TEST_v3_retain
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - test_cleanup
    - CU_ASSERT_PTR_NOT_NULL
    - retain__init
    - CU_ASSERT_STRING_EQUAL
    - memset
    - CU_ASSERT_NSTRING_EQUAL
    - cat_sourcedir_with_relpath
    - persist__restore
    linkageType: ''
    returnType: void
    signature: void TEST_v3_retain(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:399,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:400,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:405,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:408,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:409,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:411,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:412,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:412,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:413,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:415,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:417,1
    - Dst: free
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:418,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:420,1
    - Dst: test_cleanup
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 423
    functionName: TEST_v3_sub
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - free
    - test_cleanup
    - CU_ASSERT_PTR_NOT_NULL
    - strlen
    - CU_ASSERT_STRING_EQUAL
    - memset
    - HASH_FIND
    - cat_sourcedir_with_relpath
    - persist__restore
    linkageType: ''
    returnType: void
    signature: void TEST_v3_sub(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:431,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:432,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:437,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:440,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:441,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:442,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:443,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:444,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:446,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:447,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:448,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:449,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:450,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:451,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:453,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:455,1
    - Dst: CU_ASSERT_NSTRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:457,1
    - Dst: test_cleanup
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 461
    functionName: TEST_v4_message_store
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - test_cleanup
    - CU_ASSERT_PTR_NOT_NULL
    - CU_ASSERT_STRING_EQUAL
    - memset
    - CU_ASSERT_NSTRING_EQUAL
    - cat_sourcedir_with_relpath
    - persist__restore
    linkageType: ''
    returnType: void
    signature: void TEST_v4_message_store(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:469,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:470,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:475,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:478,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:479,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 481
    functionName: TEST_v6_config_ok
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - cat_sourcedir_with_relpath
    - persist__restore
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_v6_config_ok(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:489,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:490,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:495,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:498,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:499,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 501
    functionName: TEST_v5_config_truncated
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - cat_sourcedir_with_relpath
    - persist__restore
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_v5_config_truncated(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:509,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:510,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:515,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:518,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:519,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 521
    functionName: TEST_v5_bad_chunk
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - cat_sourcedir_with_relpath
    - persist__restore
    - memset
    linkageType: ''
    returnType: void
    signature: void TEST_v5_bad_chunk(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:529,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:530,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:535,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:538,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:539,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:540,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:541,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:542,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:544,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:545,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:546,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:547,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:548,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:549,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:550,1
    - Dst: CU_ASSERT_NSTRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:552,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:554,1
    - Dst: test_cleanup
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 557
    functionName: TEST_v6_message_store
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - test_cleanup
    - CU_ASSERT_PTR_NOT_NULL
    - CU_ASSERT_STRING_EQUAL
    - memset
    - CU_ASSERT_NSTRING_EQUAL
    - CU_ASSERT_PTR_NULL
    - cat_sourcedir_with_relpath
    - persist__restore
    linkageType: ''
    returnType: void
    signature: void TEST_v6_message_store(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:566,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:567,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:568,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:577,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:580,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:581,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:582,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:583,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:584,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:586,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:587,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:588,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:589,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:590,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:591,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:592,1
    - Dst: CU_ASSERT_NSTRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:594,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:596,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:598,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:599,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:601,1
    - Dst: test_cleanup
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:603,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 604
    functionName: TEST_v6_message_store_props
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - test_cleanup
    - CU_ASSERT_PTR_NOT_NULL
    - CU_ASSERT_STRING_EQUAL
    - memset
    - CU_ASSERT_NSTRING_EQUAL
    - cat_sourcedir_with_relpath
    - persist__restore
    linkageType: ''
    returnType: void
    signature: void TEST_v6_message_store_props(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:613,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:614,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:619,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:622,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:623,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:625,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:626,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:626,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:627,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:629,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:630,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:631,1
    - Dst: test_cleanup
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:633,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 634
    functionName: TEST_v5_client
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - test_cleanup
    - CU_ASSERT_PTR_NOT_NULL
    - strlen
    - memset
    - HASH_FIND
    - CU_ASSERT_PTR_NULL
    - cat_sourcedir_with_relpath
    - persist__restore
    linkageType: ''
    returnType: void
    signature: void TEST_v5_client(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:644,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:645,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:646,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:655,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:658,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:659,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:661,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:662,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:662,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:663,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:665,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:666,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:667,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:668,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:669,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:671,1
    - Dst: test_cleanup
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:674,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 675
    functionName: TEST_v6_client
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - test_cleanup
    - CU_ASSERT_PTR_NOT_NULL
    - strlen
    - CU_ASSERT_STRING_EQUAL
    - memset
    - HASH_FIND
    - CU_ASSERT_PTR_NULL
    - cat_sourcedir_with_relpath
    - persist__restore
    linkageType: ''
    returnType: void
    signature: void TEST_v6_client(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:684,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:685,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:690,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:693,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:694,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:696,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:697,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:697,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:698,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:700,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:702,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:703,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:705,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:706,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:707,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:708,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:709,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:710,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:711,1
    - Dst: CU_ASSERT_NSTRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:713,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:716,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:717,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:718,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:719,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:720,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:721,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:722,1
    - Dst: test_cleanup
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:725,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 726
    functionName: TEST_v6_client_message
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - test_cleanup
    - CU_ASSERT_PTR_NOT_NULL
    - strlen
    - CU_ASSERT_STRING_EQUAL
    - memset
    - HASH_FIND
    - CU_ASSERT_NSTRING_EQUAL
    - CU_ASSERT_PTR_NULL
    - cat_sourcedir_with_relpath
    - persist__restore
    linkageType: ''
    returnType: void
    signature: void TEST_v6_client_message(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:735,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:736,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:741,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:744,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:745,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:747,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:748,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:748,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:749,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:751,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:753,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:754,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:756,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:757,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:758,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:759,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:760,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:761,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:762,1
    - Dst: CU_ASSERT_NSTRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:764,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:767,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:768,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:769,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:770,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:771,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:772,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:773,1
    - Dst: test_cleanup
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:776,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 777
    functionName: TEST_v6_client_message_props
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - test_cleanup
    - CU_ASSERT_PTR_NOT_NULL
    - strlen
    - CU_ASSERT_STRING_EQUAL
    - memset
    - HASH_FIND
    - CU_ASSERT_NSTRING_EQUAL
    - CU_ASSERT_PTR_NULL
    - cat_sourcedir_with_relpath
    - persist__restore
    linkageType: ''
    returnType: void
    signature: void TEST_v6_client_message_props(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:785,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:786,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:791,1
    - Dst: retain__init
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:794,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:795,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:796,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:797,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:798,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:799,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:801,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:802,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:803,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:804,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:805,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:806,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:807,1
    - Dst: CU_ASSERT_NSTRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:809,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:812,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:814,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:815,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:817,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:818,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:820,1
    - Dst: test_cleanup
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:824,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 825
    functionName: TEST_v6_retain
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - test_cleanup
    - CU_ASSERT_PTR_NOT_NULL
    - retain__init
    - CU_ASSERT_STRING_EQUAL
    - memset
    - CU_ASSERT_NSTRING_EQUAL
    - cat_sourcedir_with_relpath
    - persist__restore
    linkageType: ''
    returnType: void
    signature: void TEST_v6_retain(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:837,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:838,1
    - Dst: cat_sourcedir_with_relpath
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:843,1
    - Dst: persist__restore
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:846,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:847,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:849,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:850,1
    - Dst: strlen
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:850,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:851,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:853,1
    - Dst: CU_ASSERT_STRING_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:855,1
    - Dst: free
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:856,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:858,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:859,1
    - Dst: test_cleanup
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:861,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 828
    functionDepth: 1
    functionLinenumber: 828
    functionLinenumberEnd: 862
    functionName: TEST_v6_sub
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - free
    - test_cleanup
    - CU_ASSERT_PTR_NOT_NULL
    - strlen
    - CU_ASSERT_STRING_EQUAL
    - memset
    - HASH_FIND
    - cat_sourcedir_with_relpath
    - persist__restore
    linkageType: ''
    returnType: void
    signature: void TEST_v6_sub(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:874,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:876,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:881,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:882,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:883,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:884,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:885,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:886,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:887,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:888,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:889,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:890,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:891,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:892,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:893,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:894,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:895,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:896,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:897,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:898,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:899,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:900,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:901,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:902,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:903,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:904,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:905,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:906,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:909,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 914
    functionName: init_persist_read_tests
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_test.c
    functionUses: 0
    functionsReached:
    - CU_add_test
    - printf
    - CU_add_suite
    linkageType: ''
    returnType: int
    signature: int init_persist_read_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:921,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:922,1
    - Dst: CU_initialize_registry
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:924,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:925,1
    - Dst: init_persist_read_tests
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:930,1
    - Dst: CU_cleanup_registry
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:933,1
    - Dst: CU_basic_set_mode
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:937,1
    - Dst: CU_basic_run_tests
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:938,1
    - Dst: CU_get_number_of_failures
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:939,1
    - Dst: CU_cleanup_registry
      Src: /src/mosquitto/test/unit/broker/persist_read_test.c:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 943
    functionName: main
    functionSourceFile: /src/mosquitto/test/unit/broker/persist_read_test.c
    functionUses: 95
    functionsReached:
    - init_persist_read_tests
    - CU_basic_set_mode
    - CU_initialize_registry
    - CU_basic_run_tests
    - printf
    - CU_cleanup_registry
    - CU_get_number_of_failures
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:16,1
    - Dst: keepalive__remove
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:19,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - context
    - reason
    argTypes:
    - struct mosquitto*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 23
    functionName: do_disconnect
    functionSourceFile: /src/mosquitto/test/unit/broker/keepalive_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - keepalive__remove
    linkageType: ''
    returnType: void
    signature: void do_disconnect(struct mosquitto *context, int reason)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:34,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:35,1
    - Dst: calloc
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:38,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:39,1
    - Dst: strdup
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:45,1
    - Dst: keepalive__init
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:49,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:50,1
    - Dst: free
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:52,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:55,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:56,1
    - Dst: keepalive__add
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:58,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:59,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:60,1
    - Dst: keepalive__check
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:62,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:63,1
    - Dst: keepalive__check
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:67,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:68,1
    - Dst: keepalive__check
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:72,1
    - Dst: CU_ASSERT_PTR_NULL
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:73,1
    - Dst: keepalive__cleanup
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:75,1
    - Dst: free
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:77,1
    - Dst: free
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 79
    functionName: TEST_single_client
    functionSourceFile: /src/mosquitto/test/unit/broker/keepalive_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - calloc
    - keepalive__init
    - strdup
    - keepalive__add
    - CU_ASSERT_PTR_NOT_NULL
    - memset
    - keepalive__cleanup
    - CU_ASSERT_PTR_NULL
    - free
    - keepalive__check
    linkageType: ''
    returnType: void
    signature: void TEST_single_client(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:87,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:88,1
    - Dst: calloc
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:91,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:92,1
    - Dst: strdup
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:98,1
    - Dst: keepalive__init
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:102,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:103,1
    - Dst: free
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:105,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:108,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:109,1
    - Dst: keepalive__add
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:111,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:112,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:113,1
    - Dst: keepalive__check
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:115,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:116,1
    - Dst: keepalive__check
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:119,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:120,1
    - Dst: keepalive__update
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:123,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:124,1
    - Dst: keepalive__cleanup
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:126,1
    - Dst: free
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:128,1
    - Dst: free
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 130
    functionName: TEST_single_client_update
    functionSourceFile: /src/mosquitto/test/unit/broker/keepalive_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - calloc
    - keepalive__init
    - strdup
    - keepalive__add
    - CU_ASSERT_PTR_NOT_NULL
    - memset
    - keepalive__cleanup
    - keepalive__update
    - free
    - keepalive__check
    linkageType: ''
    returnType: void
    signature: void TEST_single_client_update(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:138,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:139,1
    - Dst: calloc
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:142,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:143,1
    - Dst: strdup
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:149,1
    - Dst: keepalive__init
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:156,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:157,1
    - Dst: free
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:159,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:162,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:163,1
    - Dst: keepalive__add
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:165,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:166,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:167,1
    - Dst: keepalive__cleanup
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:169,1
    - Dst: free
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:171,1
    - Dst: free
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 173
    functionName: TEST_over_max_keepalive
    functionSourceFile: /src/mosquitto/test/unit/broker/keepalive_test.c
    functionUses: 0
    functionsReached:
    - CU_ASSERT_EQUAL
    - calloc
    - keepalive__init
    - strdup
    - keepalive__add
    - CU_ASSERT_PTR_NOT_NULL
    - memset
    - keepalive__cleanup
    - free
    linkageType: ''
    returnType: void
    signature: void TEST_over_max_keepalive(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:186,1
    - Dst: time
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:186,1
    - Dst: memset
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:188,1
    - Dst: calloc
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:190,1
    - Dst: calloc
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:192,1
    - Dst: free
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:194,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:197,1
    - Dst: strdup
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:201,1
    - Dst: rand
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:203,1
    - Dst: rand
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:204,1
    - Dst: keepalive__init
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:207,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:208,1
    - Dst: free
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:210,1
    - Dst: free
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:211,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:214,1
    - Dst: CU_ASSERT_PTR_NOT_NULL
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:215,1
    - Dst: keepalive__add
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:218,1
    - Dst: CU_ASSERT_EQUAL
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:219,1
    - Dst: DL_COUNT2
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:227,1
    - Dst: keepalive__check
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:235,1
    - Dst: keepalive__cleanup
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:237,1
    - Dst: free
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:240,1
    - Dst: free
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:242,1
    - Dst: free
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:243,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 244
    functionName: TEST_100k_random_clients
    functionSourceFile: /src/mosquitto/test/unit/broker/keepalive_test.c
    functionUses: 0
    functionsReached:
    - rand
    - CU_ASSERT_EQUAL
    - calloc
    - keepalive__init
    - strdup
    - keepalive__add
    - CU_ASSERT_PTR_NOT_NULL
    - keepalive__check
    - DL_COUNT2
    - memset
    - keepalive__cleanup
    - srand
    - free
    - time
    linkageType: ''
    returnType: void
    signature: void TEST_100k_random_clients(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CU_add_suite
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:256,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:258,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:263,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:264,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:265,1
    - Dst: CU_add_test
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:266,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:269,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 274
    functionName: init_keepalive_tests
    functionSourceFile: /src/mosquitto/test/unit/broker/keepalive_test.c
    functionUses: 0
    functionsReached:
    - CU_add_test
    - printf
    - CU_add_suite
    linkageType: ''
    returnType: int
    signature: int init_keepalive_tests(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:282,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:283,1
    - Dst: CU_initialize_registry
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:286,1
    - Dst: printf
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:287,1
    - Dst: init_keepalive_tests
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:292,1
    - Dst: CU_cleanup_registry
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:295,1
    - Dst: CU_basic_set_mode
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:299,1
    - Dst: CU_basic_run_tests
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:300,1
    - Dst: CU_get_number_of_failures
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:301,1
    - Dst: CU_cleanup_registry
      Src: /src/mosquitto/test/unit/broker/keepalive_test.c:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 306
    functionName: main
    functionSourceFile: /src/mosquitto/test/unit/broker/keepalive_test.c
    functionUses: 95
    functionsReached:
    - init_keepalive_tests
    - CU_basic_set_mode
    - CU_initialize_registry
    - CU_basic_run_tests
    - printf
    - CU_cleanup_registry
    - CU_get_number_of_failures
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/test/broker/c/auth_plugin_delayed.c:29,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/test/broker/c/auth_plugin_delayed.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - identifier
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_delayed.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/mosquitto/test/broker/c/auth_plugin_delayed.c:42,1
    - Dst: free
      Src: /src/mosquitto/test/broker/c/auth_plugin_delayed.c:43,1
    - Dst: free
      Src: /src/mosquitto/test/broker/c/auth_plugin_delayed.c:44,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/test/broker/c/auth_plugin_delayed.c:46,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/test/broker/c/auth_plugin_delayed.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_delayed.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_unregister
    - free
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/mosquitto/test/broker/c/auth_plugin_delayed.c:60,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_delayed.c:65,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_delayed.c:65,1
    - Dst: mosquitto_complete_basic_auth
      Src: /src/mosquitto/test/broker/c/auth_plugin_delayed.c:67,1
    - Dst: mosquitto_complete_basic_auth
      Src: /src/mosquitto/test/broker/c/auth_plugin_delayed.c:69,1
    - Dst: free
      Src: /src/mosquitto/test/broker/c/auth_plugin_delayed.c:71,1
    - Dst: free
      Src: /src/mosquitto/test/broker/c/auth_plugin_delayed.c:72,1
    - Dst: free
      Src: /src/mosquitto/test/broker/c/auth_plugin_delayed.c:73,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - event
    - event_data
    - user_data
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 85
    functionName: tick_callback
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_delayed.c
    functionUses: 0
    functionsReached:
    - mosquitto_complete_basic_auth
    - free
    - strcmp
    - abort
    linkageType: ''
    returnType: int
    signature: int tick_callback(int event, void *event_data, void *user_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/mosquitto/test/broker/c/auth_plugin_delayed.c:95,1
    - Dst: free
      Src: /src/mosquitto/test/broker/c/auth_plugin_delayed.c:96,1
    - Dst: free
      Src: /src/mosquitto/test/broker/c/auth_plugin_delayed.c:97,1
    - Dst: strdup
      Src: /src/mosquitto/test/broker/c/auth_plugin_delayed.c:100,1
    - Dst: strdup
      Src: /src/mosquitto/test/broker/c/auth_plugin_delayed.c:103,1
    - Dst: strdup
      Src: /src/mosquitto/test/broker/c/auth_plugin_delayed.c:105,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/test/broker/c/auth_plugin_delayed.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - event
    - event_data
    - user_data
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 110
    functionName: unpwd_check_callback
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_delayed.c
    functionUses: 0
    functionsReached:
    - strdup
    - free
    - mosquitto_client_id
    linkageType: ''
    returnType: int
    signature: int unpwd_check_callback(int event, void *event_data, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/test/broker/c/auth_plugin_v5.c:24,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/test/broker/c/auth_plugin_v5.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - identifier
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 28
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v5.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/test/broker/c/auth_plugin_v5.c:37,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/test/broker/c/auth_plugin_v5.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v5.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_unregister
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/test/broker/c/auth_plugin_v5.c:47,1
    - Dst: abort
      Src: /src/mosquitto/test/broker/c/auth_plugin_v5.c:52,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v5.c:55,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v5.c:57,1
    - Dst: strchr
      Src: /src/mosquitto/test/broker/c/auth_plugin_v5.c:57,1
    - Dst: strchr
      Src: /src/mosquitto/test/broker/c/auth_plugin_v5.c:57,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v5.c:59,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v5.c:60,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v5.c:61,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 3
    argNames:
    - event
    - event_data
    - user_data
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 71
    functionName: mosquitto_auth_acl_check_v5
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v5.c
    functionUses: 0
    functionsReached:
    - strchr
    - mosquitto_client_username
    - strcmp
    - abort
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_acl_check_v5(int event, void *event_data, void *user_data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/mosquitto/test/broker/c/auth_plugin_v5.c:81,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v5.c:84,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v5.c:84,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v5.c:86,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v5.c:86,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v5.c:88,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - event
    - event_data
    - user_data
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 93
    functionName: mosquitto_auth_unpwd_check_v5
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v5.c
    functionUses: 0
    functionsReached:
    - strcmp
    - abort
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_unpwd_check_v5(int event, void *event_data, void
      *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 11
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_pwd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: mosquitto_auth_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_pwd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_init(void **user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: mosquitto_auth_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_pwd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: mosquitto_auth_security_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_pwd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_init(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: mosquitto_auth_security_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_pwd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - access
    - client
    - msg
    argTypes:
    - void*
    - int
    - struct mosquitto*
    - struct mosquitto_acl_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: mosquitto_auth_acl_check
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_pwd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_acl_check(void *user_data, int access, struct mosquitto
      *client, const struct mosquitto_acl_msg *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_pwd.c:72,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_pwd.c:72,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_pwd.c:74,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_pwd.c:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - user_data
    - client
    - username
    - password
    argTypes:
    - void*
    - struct mosquitto*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 81
    functionName: mosquitto_auth_unpwd_check
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_pwd.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_unpwd_check(void *user_data, struct mosquitto *client,
      const char *username, const char *password)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - user_data
    - client
    - hint
    - identity
    - key
    - max_key_len
    argTypes:
    - void*
    - struct mosquitto*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: mosquitto_auth_psk_key_get
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_pwd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_psk_key_get(void *user_data, struct mosquitto *client,
      const char *hint, const char *identity, char *key, int max_key_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 12
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_msg_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 22
    functionName: mosquitto_auth_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_msg_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_init(void **user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: mosquitto_auth_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_msg_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: mosquitto_auth_security_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_msg_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_init(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: mosquitto_auth_security_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_msg_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_msg_params.c:66,1
    - Dst: abort
      Src: /src/mosquitto/test/broker/c/auth_plugin_msg_params.c:67,1
    - Dst: strncmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_msg_params.c:71,1
    - Dst: strlen
      Src: /src/mosquitto/test/broker/c/auth_plugin_msg_params.c:71,1
    - Dst: abort
      Src: /src/mosquitto/test/broker/c/auth_plugin_msg_params.c:72,1
    - Dst: strlen
      Src: /src/mosquitto/test/broker/c/auth_plugin_msg_params.c:76,1
    - Dst: abort
      Src: /src/mosquitto/test/broker/c/auth_plugin_msg_params.c:77,1
    - Dst: abort
      Src: /src/mosquitto/test/broker/c/auth_plugin_msg_params.c:82,1
    - Dst: abort
      Src: /src/mosquitto/test/broker/c/auth_plugin_msg_params.c:87,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - user_data
    - access
    - client
    - msg
    argTypes:
    - void*
    - int
    - struct mosquitto*
    - struct mosquitto_acl_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 92
    functionName: mosquitto_auth_acl_check
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_msg_params.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strlen
    - strcmp
    - abort
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_acl_check(void *user_data, int access, struct mosquitto
      *client, const struct mosquitto_acl_msg *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - client
    - username
    - password
    argTypes:
    - void*
    - struct mosquitto*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: mosquitto_auth_unpwd_check
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_msg_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_unpwd_check(void *user_data, struct mosquitto *client,
      const char *username, const char *password)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - user_data
    - client
    - hint
    - identity
    - key
    - max_key_len
    argTypes:
    - void*
    - struct mosquitto*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: mosquitto_auth_psk_key_get
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_msg_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_psk_key_get(void *user_data, struct mosquitto *client,
      const char *hint, const char *identity, char *key, int max_key_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_publish.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 23
    functionName: mosquitto_auth_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_publish.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_init(void **user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: mosquitto_auth_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_publish.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: mosquitto_auth_security_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_publish.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_init(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: mosquitto_auth_security_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_publish.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_broker_publish_copy
      Src: /src/mosquitto/test/broker/c/auth_plugin_publish.c:70,1
    - Dst: strlen
      Src: /src/mosquitto/test/broker/c/auth_plugin_publish.c:70,1
    - Dst: mosquitto_broker_publish_copy
      Src: /src/mosquitto/test/broker/c/auth_plugin_publish.c:71,1
    - Dst: strlen
      Src: /src/mosquitto/test/broker/c/auth_plugin_publish.c:71,1
    - Dst: mosquitto_broker_publish_copy
      Src: /src/mosquitto/test/broker/c/auth_plugin_publish.c:72,1
    - Dst: strlen
      Src: /src/mosquitto/test/broker/c/auth_plugin_publish.c:72,1
    - Dst: mosquitto_broker_publish_copy
      Src: /src/mosquitto/test/broker/c/auth_plugin_publish.c:73,1
    - Dst: strlen
      Src: /src/mosquitto/test/broker/c/auth_plugin_publish.c:73,1
    - Dst: mosquitto_broker_publish_copy
      Src: /src/mosquitto/test/broker/c/auth_plugin_publish.c:74,1
    - Dst: strlen
      Src: /src/mosquitto/test/broker/c/auth_plugin_publish.c:74,1
    - Dst: mosquitto_broker_publish_copy
      Src: /src/mosquitto/test/broker/c/auth_plugin_publish.c:75,1
    - Dst: strlen
      Src: /src/mosquitto/test/broker/c/auth_plugin_publish.c:75,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/broker/c/auth_plugin_publish.c:78,1
    - Dst: abort
      Src: /src/mosquitto/test/broker/c/auth_plugin_publish.c:79,1
    - Dst: mosquitto_broker_publish_copy
      Src: /src/mosquitto/test/broker/c/auth_plugin_publish.c:81,1
    - Dst: strlen
      Src: /src/mosquitto/test/broker/c/auth_plugin_publish.c:81,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/broker/c/auth_plugin_publish.c:83,1
    - Dst: abort
      Src: /src/mosquitto/test/broker/c/auth_plugin_publish.c:84,1
    - Dst: mosquitto_broker_publish_copy
      Src: /src/mosquitto/test/broker/c/auth_plugin_publish.c:86,1
    - Dst: strlen
      Src: /src/mosquitto/test/broker/c/auth_plugin_publish.c:86,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/test/broker/c/auth_plugin_publish.c:88,1
    - Dst: abort
      Src: /src/mosquitto/test/broker/c/auth_plugin_publish.c:89,1
    - Dst: mosquitto_broker_publish_copy
      Src: /src/mosquitto/test/broker/c/auth_plugin_publish.c:91,1
    - Dst: strlen
      Src: /src/mosquitto/test/broker/c/auth_plugin_publish.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 4
    argNames:
    - user_data
    - access
    - client
    - msg
    argTypes:
    - void*
    - int
    - struct mosquitto*
    - struct mosquitto_acl_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 96
    functionName: mosquitto_auth_acl_check
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_publish.c
    functionUses: 0
    functionsReached:
    - strlen
    - mosquitto_broker_publish_copy
    - mosquitto_property_add_byte
    - abort
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_acl_check(void *user_data, int access, struct mosquitto
      *client, const struct mosquitto_acl_msg *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - client
    - username
    - password
    argTypes:
    - void*
    - struct mosquitto*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: mosquitto_auth_unpwd_check
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_publish.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_unpwd_check(void *user_data, struct mosquitto *client,
      const char *username, const char *password)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - user_data
    - client
    - hint
    - identity
    - key
    - max_key_len
    argTypes:
    - void*
    - struct mosquitto*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: mosquitto_auth_psk_key_get
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_publish.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_psk_key_get(void *user_data, struct mosquitto *client,
      const char *hint, const char *identity, char *key, int max_key_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 11
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v3_5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: mosquitto_auth_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v3_5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_init(void **user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: mosquitto_auth_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v3_5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 11
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v3_2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: mosquitto_auth_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v3_2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_init(void **user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: mosquitto_auth_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v3_2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: mosquitto_auth_security_init
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v3_2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_init(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: mosquitto_auth_security_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v3_2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/test/broker/c/bad_v3_2.c:58,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/bad_v3_2.c:62,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/bad_v3_2.c:64,1
    - Dst: strchr
      Src: /src/mosquitto/test/broker/c/bad_v3_2.c:64,1
    - Dst: strchr
      Src: /src/mosquitto/test/broker/c/bad_v3_2.c:64,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/bad_v3_2.c:66,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/bad_v3_2.c:67,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/bad_v3_2.c:68,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 4
    argNames:
    - user_data
    - access
    - client
    - msg
    argTypes:
    - void*
    - int
    - struct mosquitto*
    - struct mosquitto_acl_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 78
    functionName: mosquitto_auth_acl_check
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v3_2.c
    functionUses: 0
    functionsReached:
    - strchr
    - mosquitto_client_username
    - strcmp
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_acl_check(void *user_data, int access, struct mosquitto
      *client, const struct mosquitto_acl_msg *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 11
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v4_2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: mosquitto_auth_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v4_2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_init(void **user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: mosquitto_auth_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v4_2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 12
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_single2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 22
    functionName: mosquitto_auth_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_single2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_init(void **user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: mosquitto_auth_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_single2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: mosquitto_auth_security_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_single2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_init(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: mosquitto_auth_security_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_single2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - access
    - client
    - msg
    argTypes:
    - void*
    - int
    - struct mosquitto*
    - struct mosquitto_acl_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: mosquitto_auth_acl_check
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_single2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_acl_check(void *user_data, int access, struct mosquitto
      *client, const struct mosquitto_acl_msg *msg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_single2.c:75,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_single2.c:77,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_single2.c:79,1
    - Dst: strlen
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_single2.c:80,1
    - Dst: strlen
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_single2.c:80,1
    - Dst: memcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_single2.c:81,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_single2.c:86,1
    - Dst: mosquitto_set_username
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_single2.c:87,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_single2.c:88,1
    - Dst: malloc
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_single2.c:90,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 8
    argNames:
    - user_data
    - client
    - method
    - reauth
    - data
    - data_len
    - data_out
    - data_out_len
    argTypes:
    - void*
    - struct mosquitto*
    - char*
    - bool
    - void*
    - uint16_t
    - void**
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 105
    functionName: mosquitto_auth_start
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_single2.c
    functionUses: 0
    functionsReached:
    - mosquitto_set_username
    - malloc
    - strlen
    - strcmp
    - memcmp
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_start(void *user_data, struct mosquitto *client,
      const char *method, bool reauth, const void *data, uint16_t data_len, void **data_out,
      uint16_t *data_out_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 7
    argNames:
    - user_data
    - client
    - method
    - data
    - data_len
    - data_out
    - data_out_len
    argTypes:
    - void*
    - struct mosquitto*
    - char*
    - void*
    - uint16_t
    - void**
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: mosquitto_auth_continue
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_single2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_continue(void *user_data, struct mosquitto *client,
      const char *method, const void *data, uint16_t data_len, void **data_out, uint16_t
      *data_out_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 11
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v3_6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: mosquitto_auth_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v3_6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_init(void **user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/test/broker/c/auth_plugin_acl_change.c:26,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/test/broker/c/auth_plugin_acl_change.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - identifier
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 30
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_acl_change.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/test/broker/c/auth_plugin_acl_change.c:39,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/test/broker/c/auth_plugin_acl_change.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_acl_change.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_unregister
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/mosquitto/test/broker/c/auth_plugin_acl_change.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - event
    - event_data
    - user_data
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: mosquitto_auth_acl_check_v5
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_acl_change.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_acl_check_v5(int event, void *event_data, void *user_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/mosquitto/test/broker/c/auth_plugin_acl_change.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - event
    - event_data
    - user_data
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: mosquitto_auth_unpwd_check_v5
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_acl_change.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_unpwd_check_v5(int event, void *event_data, void
      *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 11
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v3_3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: mosquitto_auth_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v3_3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_init(void **user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: mosquitto_auth_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v3_3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: mosquitto_auth_security_init
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v3_3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_init(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: mosquitto_auth_security_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v3_3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 11
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v3_4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: mosquitto_auth_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v3_4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_init(void **user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: mosquitto_auth_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v3_4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: mosquitto_auth_security_init
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v3_4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_init(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/broker/c/08-tls-psk-pub.c:20,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/broker/c/08-tls-psk-pub.c:22,1
    - Dst: strlen
      Src: /src/mosquitto/test/broker/c/08-tls-psk-pub.c:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 24
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/broker/c/08-tls-psk-pub.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_publish
    - strlen
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/broker/c/08-tls-psk-pub.c:32,1
    - Dst: exit
      Src: /src/mosquitto/test/broker/c/08-tls-psk-pub.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - mid
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: on_publish
    functionSourceFile: /src/mosquitto/test/broker/c/08-tls-psk-pub.c
    functionUses: 1
    functionsReached:
    - exit
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_publish(struct mosquitto *mosq, void *obj, int mid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/broker/c/08-tls-psk-pub.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/broker/c/08-tls-psk-pub.c:57,1
    - Dst: signal
      Src: /src/mosquitto/test/broker/c/08-tls-psk-pub.c:60,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/broker/c/08-tls-psk-pub.c:63,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/broker/c/08-tls-psk-pub.c:65,1
    - Dst: mosquitto_tls_opts_set
      Src: /src/mosquitto/test/broker/c/08-tls-psk-pub.c:66,1
    - Dst: mosquitto_tls_psk_set
      Src: /src/mosquitto/test/broker/c/08-tls-psk-pub.c:67,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/broker/c/08-tls-psk-pub.c:69,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/broker/c/08-tls-psk-pub.c:72,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/broker/c/08-tls-psk-pub.c:73,1
    - Dst: mosquitto_publish_callback_set
      Src: /src/mosquitto/test/broker/c/08-tls-psk-pub.c:74,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/broker/c/08-tls-psk-pub.c:76,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/broker/c/08-tls-psk-pub.c:78,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/broker/c/08-tls-psk-pub.c:83,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/broker/c/08-tls-psk-pub.c:86,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/broker/c/08-tls-psk-pub.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 90
    functionName: main
    functionSourceFile: /src/mosquitto/test/broker/c/08-tls-psk-pub.c
    functionUses: 95
    functionsReached:
    - mosquitto_publish_callback_set
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - mosquitto_tls_psk_set
    - atoi
    - signal
    - mosquitto_tls_opts_set
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 9
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c
    functionUses: 162
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 16
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:21,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:22,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: mosquitto_auth_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_init(void **user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:31,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:32,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: mosquitto_auth_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:41,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:42,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:43,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: mosquitto_auth_security_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_init(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:52,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:53,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:54,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: mosquitto_auth_security_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:63,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:64,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:65,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - access
    - client
    - msg
    argTypes:
    - void*
    - int
    - struct mosquitto*
    - struct mosquitto_acl_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: mosquitto_auth_acl_check
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_acl_check(void *user_data, int access, struct mosquitto
      *client, const struct mosquitto_acl_msg *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:74,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:75,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:76,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:77,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:78,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:79,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:80,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 8
    argNames:
    - user_data
    - client
    - method
    - reauth
    - data
    - data_len
    - data_out
    - data_out_len
    argTypes:
    - void*
    - struct mosquitto*
    - char*
    - bool
    - void*
    - uint16_t
    - void**
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: mosquitto_auth_start
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_start(void *user_data, struct mosquitto *client,
      const char *method, bool reauth, const void *data, uint16_t data_len, void **data_out,
      uint16_t *data_out_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:94,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:95,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:96,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:97,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:98,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:99,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 7
    argNames:
    - user_data
    - client
    - method
    - data
    - data_len
    - data_out
    - data_out_len
    argTypes:
    - void*
    - struct mosquitto*
    - char*
    - void*
    - uint16_t
    - void**
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: mosquitto_auth_continue
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_continue(void *user_data, struct mosquitto *client,
      const char *method, const void *data, uint16_t data_len, void **data_out, uint16_t
      *data_out_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/test/broker/c/auth_plugin_id_change.c:24,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/test/broker/c/auth_plugin_id_change.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - identifier
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 28
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_id_change.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/test/broker/c/auth_plugin_id_change.c:37,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/test/broker/c/auth_plugin_id_change.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_id_change.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_unregister
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/mosquitto/test/broker/c/auth_plugin_id_change.c:52,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_id_change.c:55,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/test/broker/c/auth_plugin_id_change.c:55,1
    - Dst: mosquitto_set_clientid
      Src: /src/mosquitto/test/broker/c/auth_plugin_id_change.c:58,1
    - Dst: exit
      Src: /src/mosquitto/test/broker/c/auth_plugin_id_change.c:60,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_id_change.c:65,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/test/broker/c/auth_plugin_id_change.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - event
    - event_data
    - user_data
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 70
    functionName: mosquitto_auth_acl_check_v5
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_id_change.c
    functionUses: 0
    functionsReached:
    - mosquitto_client_id
    - abort
    - exit
    - strcmp
    - mosquitto_set_clientid
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_acl_check_v5(int event, void *event_data, void *user_data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/test/broker/c/auth_plugin_id_change.c:81,1
    - Dst: abort
      Src: /src/mosquitto/test/broker/c/auth_plugin_id_change.c:84,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_id_change.c:87,1
    - Dst: mosquitto_set_clientid
      Src: /src/mosquitto/test/broker/c/auth_plugin_id_change.c:88,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_id_change.c:89,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/test/broker/c/auth_plugin_id_change.c:89,1
    - Dst: exit
      Src: /src/mosquitto/test/broker/c/auth_plugin_id_change.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - event
    - event_data
    - user_data
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 98
    functionName: mosquitto_auth_unpwd_check_v5
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_id_change.c
    functionUses: 0
    functionsReached:
    - mosquitto_client_id
    - abort
    - exit
    - strcmp
    - mosquitto_set_clientid
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_unpwd_check_v5(int event, void *event_data, void
      *user_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/mosquitto/test/broker/c/plugin_evt_unsubscribe.c:20,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/test/broker/c/plugin_evt_unsubscribe.c:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - event
    - event_data
    - user_data
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 25
    functionName: callback_unsubscribe
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_unsubscribe.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - abort
    linkageType: ''
    returnType: int
    signature: int callback_unsubscribe(int event, void *event_data, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/test/broker/c/plugin_evt_unsubscribe.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - identifier
    - user_data
    - opts
    - opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 39
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_unsubscribe.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/test/broker/c/plugin_evt_unsubscribe.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - user_data
    - opts
    - opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_unsubscribe.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_unregister
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 11
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v4_3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: mosquitto_auth_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v4_3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_init(void **user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v2_3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void**
    - struct mosquitto_auth_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: mosquitto_auth_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v2_3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_init(void **user_data, struct mosquitto_auth_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_auth_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: mosquitto_auth_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v2_3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_cleanup(void *user_data, struct mosquitto_auth_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_auth_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: mosquitto_auth_security_init
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v2_3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_init(void *user_data, struct mosquitto_auth_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_auth_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: mosquitto_auth_security_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v2_3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_cleanup(void *user_data, struct mosquitto_auth_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 11
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: mosquitto_auth_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_init(void **user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: mosquitto_auth_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: mosquitto_auth_security_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_init(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: mosquitto_auth_security_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/test/broker/c/auth_plugin_v4.c:58,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v4.c:62,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v4.c:64,1
    - Dst: strchr
      Src: /src/mosquitto/test/broker/c/auth_plugin_v4.c:64,1
    - Dst: strchr
      Src: /src/mosquitto/test/broker/c/auth_plugin_v4.c:64,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v4.c:66,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v4.c:67,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v4.c:68,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 4
    argNames:
    - user_data
    - access
    - client
    - msg
    argTypes:
    - void*
    - int
    - struct mosquitto*
    - struct mosquitto_acl_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 78
    functionName: mosquitto_auth_acl_check
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v4.c
    functionUses: 0
    functionsReached:
    - strchr
    - mosquitto_client_username
    - strcmp
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_acl_check(void *user_data, int access, struct mosquitto
      *client, const struct mosquitto_acl_msg *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v4.c:86,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v4.c:86,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v4.c:88,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v4.c:88,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v4.c:90,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 4
    argNames:
    - user_data
    - client
    - username
    - password
    argTypes:
    - void*
    - struct mosquitto*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: mosquitto_auth_unpwd_check
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v4.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_unpwd_check(void *user_data, struct mosquitto *client,
      const char *username, const char *password)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - user_data
    - client
    - hint
    - identity
    - key
    - max_key_len
    argTypes:
    - void*
    - struct mosquitto*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: mosquitto_auth_psk_key_get
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_psk_key_get(void *user_data, struct mosquitto *client,
      const char *hint, const char *identity, char *key, int max_key_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/mosquitto/test/broker/c/plugin_evt_message_out.c:20,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/plugin_evt_message_out.c:22,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/test/broker/c/plugin_evt_message_out.c:25,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/test/broker/c/plugin_evt_message_out.c:26,1
    - Dst: strlen
      Src: /src/mosquitto/test/broker/c/plugin_evt_message_out.c:27,1
    - Dst: mosquitto_property_add_string_pair
      Src: /src/mosquitto/test/broker/c/plugin_evt_message_out.c:29,1
    - Dst: abort
      Src: /src/mosquitto/test/broker/c/plugin_evt_message_out.c:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - event
    - event_data
    - user_data
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 34
    functionName: callback_message_out
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_message_out.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - abort
    - strlen
    - mosquitto_property_add_string_pair
    - strcmp
    linkageType: ''
    returnType: int
    signature: int callback_message_out(int event, void *event_data, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/test/broker/c/plugin_evt_message_out.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - identifier
    - user_data
    - opts
    - opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 48
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_message_out.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/test/broker/c/plugin_evt_message_out.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - user_data
    - opts
    - opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_message_out.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_unregister
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 11
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_acl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: mosquitto_auth_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_acl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_init(void **user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: mosquitto_auth_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_acl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: mosquitto_auth_security_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_acl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_init(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: mosquitto_auth_security_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_acl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/test/broker/c/auth_plugin_acl.c:58,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_acl.c:62,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_acl.c:64,1
    - Dst: strchr
      Src: /src/mosquitto/test/broker/c/auth_plugin_acl.c:64,1
    - Dst: strchr
      Src: /src/mosquitto/test/broker/c/auth_plugin_acl.c:64,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - user_data
    - access
    - client
    - msg
    argTypes:
    - void*
    - int
    - struct mosquitto*
    - struct mosquitto_acl_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 69
    functionName: mosquitto_auth_acl_check
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_acl.c
    functionUses: 0
    functionsReached:
    - strchr
    - mosquitto_client_username
    - strcmp
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_acl_check(void *user_data, int access, struct mosquitto
      *client, const struct mosquitto_acl_msg *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - client
    - username
    - password
    argTypes:
    - void*
    - struct mosquitto*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: mosquitto_auth_unpwd_check
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_acl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_unpwd_check(void *user_data, struct mosquitto *client,
      const char *username, const char *password)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - user_data
    - client
    - hint
    - identity
    - key
    - max_key_len
    argTypes:
    - void*
    - struct mosquitto*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: mosquitto_auth_psk_key_get
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_acl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_psk_key_get(void *user_data, struct mosquitto *client,
      const char *hint, const char *identity, char *key, int max_key_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v2_4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void**
    - struct mosquitto_auth_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: mosquitto_auth_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v2_4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_init(void **user_data, struct mosquitto_auth_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_auth_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: mosquitto_auth_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v2_4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_cleanup(void *user_data, struct mosquitto_auth_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_auth_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: mosquitto_auth_security_init
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v2_4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_init(void *user_data, struct mosquitto_auth_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 9
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_tick.c
    functionUses: 169
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/plugin_evt_tick.c:17,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/plugin_evt_tick.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - supported_version_count
    - supported_versions
    argTypes:
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 21
    functionName: mosquitto_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_tick.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_version(int supported_version_count, const int
      *supported_versions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/plugin_evt_tick.c:26,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/plugin_evt_tick.c:27,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/plugin_evt_tick.c:28,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/test/broker/c/plugin_evt_tick.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - identifier
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_tick.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/plugin_evt_tick.c:40,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/plugin_evt_tick.c:41,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/plugin_evt_tick.c:42,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/test/broker/c/plugin_evt_tick.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_tick.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_unregister
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/plugin_evt_tick.c:52,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/plugin_evt_tick.c:53,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/plugin_evt_tick.c:54,1
    - Dst: mosquitto_broker_publish_copy
      Src: /src/mosquitto/test/broker/c/plugin_evt_tick.c:56,1
    - Dst: strlen
      Src: /src/mosquitto/test/broker/c/plugin_evt_tick.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - event
    - event_data
    - user_data
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: handle_tick
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_tick.c
    functionUses: 0
    functionsReached:
    - strlen
    - mosquitto_broker_publish_copy
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int handle_tick(int event, void *event_data, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 12
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_multiple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 22
    functionName: mosquitto_auth_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_multiple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_init(void **user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: mosquitto_auth_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_multiple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: mosquitto_auth_security_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_multiple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_init(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: mosquitto_auth_security_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_multiple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - access
    - client
    - msg
    argTypes:
    - void*
    - int
    - struct mosquitto*
    - struct mosquitto_acl_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: mosquitto_auth_acl_check
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_multiple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_acl_check(void *user_data, int access, struct mosquitto
      *client, const struct mosquitto_acl_msg *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_multiple.c:76,1
    - Dst: malloc
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_multiple.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 8
    argNames:
    - user_data
    - client
    - method
    - reauth
    - data
    - data_len
    - data_out
    - data_out_len
    argTypes:
    - void*
    - struct mosquitto*
    - char*
    - bool
    - void*
    - uint16_t
    - void**
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 93
    functionName: mosquitto_auth_start
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_multiple.c
    functionUses: 0
    functionsReached:
    - malloc
    - strcmp
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_start(void *user_data, struct mosquitto *client,
      const char *method, bool reauth, const void *data, uint16_t data_len, void **data_out,
      uint16_t *data_out_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_multiple.c:105,1
    - Dst: strlen
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_multiple.c:107,1
    - Dst: strlen
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_multiple.c:107,1
    - Dst: memcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_multiple.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 7
    argNames:
    - user_data
    - client
    - method
    - data
    - data_len
    - data_out
    - data_out_len
    argTypes:
    - void*
    - struct mosquitto*
    - char*
    - void*
    - uint16_t
    - void**
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 118
    functionName: mosquitto_auth_continue
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_multiple.c
    functionUses: 0
    functionsReached:
    - memcmp
    - strlen
    - strcmp
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_continue(void *user_data, struct mosquitto *client,
      const char *method, const void *data, uint16_t data_len, void **data_out, uint16_t
      *data_out_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 11
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_acl_sub_denied.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: mosquitto_auth_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_acl_sub_denied.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_init(void **user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: mosquitto_auth_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_acl_sub_denied.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: mosquitto_auth_security_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_acl_sub_denied.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_init(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: mosquitto_auth_security_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_acl_sub_denied.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - user_data
    - access
    - client
    - msg
    argTypes:
    - void*
    - int
    - struct mosquitto*
    - struct mosquitto_acl_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: mosquitto_auth_acl_check
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_acl_sub_denied.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_acl_check(void *user_data, int access, struct mosquitto
      *client, const struct mosquitto_acl_msg *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - client
    - username
    - password
    argTypes:
    - void*
    - struct mosquitto*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: mosquitto_auth_unpwd_check
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_acl_sub_denied.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_unpwd_check(void *user_data, struct mosquitto *client,
      const char *username, const char *password)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - user_data
    - client
    - hint
    - identity
    - key
    - max_key_len
    argTypes:
    - void*
    - struct mosquitto*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: mosquitto_auth_psk_key_get
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_acl_sub_denied.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_psk_key_get(void *user_data, struct mosquitto *client,
      const char *hint, const char *identity, char *key, int max_key_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v2_5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void**
    - struct mosquitto_auth_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: mosquitto_auth_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v2_5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_init(void **user_data, struct mosquitto_auth_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_auth_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: mosquitto_auth_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v2_5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_cleanup(void *user_data, struct mosquitto_auth_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 11
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v4_4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/test/broker/c/08-tls-psk-bridge.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - mosq
    - obj
    - level
    - str
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: on_log
    functionSourceFile: /src/mosquitto/test/broker/c/08-tls-psk-bridge.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void on_log(struct mosquitto *mosq, void *obj, int level, const char
      *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/mosquitto/test/broker/c/08-tls-psk-bridge.c:27,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/broker/c/08-tls-psk-bridge.c:29,1
    - Dst: strlen
      Src: /src/mosquitto/test/broker/c/08-tls-psk-bridge.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: on_connect
    functionSourceFile: /src/mosquitto/test/broker/c/08-tls-psk-bridge.c
    functionUses: 11
    functionsReached:
    - exit
    - mosquitto_publish
    - strlen
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/test/broker/c/08-tls-psk-bridge.c:39,1
    - Dst: exit
      Src: /src/mosquitto/test/broker/c/08-tls-psk-bridge.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - mosq
    - obj
    - mid
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: on_publish
    functionSourceFile: /src/mosquitto/test/broker/c/08-tls-psk-bridge.c
    functionUses: 1
    functionsReached:
    - exit
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_publish(struct mosquitto *mosq, void *obj, int mid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: on_disconnect
    functionSourceFile: /src/mosquitto/test/broker/c/08-tls-psk-bridge.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/test/broker/c/08-tls-psk-bridge.c:65,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/broker/c/08-tls-psk-bridge.c:67,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/broker/c/08-tls-psk-bridge.c:69,1
    - Dst: mosquitto_tls_opts_set
      Src: /src/mosquitto/test/broker/c/08-tls-psk-bridge.c:70,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/test/broker/c/08-tls-psk-bridge.c:71,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/test/broker/c/08-tls-psk-bridge.c:72,1
    - Dst: mosquitto_publish_callback_set
      Src: /src/mosquitto/test/broker/c/08-tls-psk-bridge.c:73,1
    - Dst: mosquitto_log_callback_set
      Src: /src/mosquitto/test/broker/c/08-tls-psk-bridge.c:74,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/broker/c/08-tls-psk-bridge.c:76,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/test/broker/c/08-tls-psk-bridge.c:82,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/broker/c/08-tls-psk-bridge.c:85,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/broker/c/08-tls-psk-bridge.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/mosquitto/test/broker/c/08-tls-psk-bridge.c
    functionUses: 95
    functionsReached:
    - mosquitto_publish_callback_set
    - mosquitto_lib_cleanup
    - mosquitto_log_callback_set
    - mosquitto_lib_init
    - atoi
    - mosquitto_tls_opts_set
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mosquitto_loop
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 11
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v4_1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: mosquitto_auth_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v4_1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_init(void **user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: mosquitto_auth_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v4_1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: mosquitto_auth_security_init
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v4_1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_init(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/mosquitto/test/broker/c/plugin_evt_subscribe.c:20,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/test/broker/c/plugin_evt_subscribe.c:22,1
    - Dst: MQTT_SUB_OPT_SET_QOS
      Src: /src/mosquitto/test/broker/c/plugin_evt_subscribe.c:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - event
    - event_data
    - user_data
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 26
    functionName: callback_subscribe
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_subscribe.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - MQTT_SUB_OPT_SET_QOS
    - abort
    linkageType: ''
    returnType: int
    signature: int callback_subscribe(int event, void *event_data, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/test/broker/c/plugin_evt_subscribe.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - identifier
    - user_data
    - opts
    - opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 40
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_subscribe.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/test/broker/c/plugin_evt_subscribe.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - user_data
    - opts
    - opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_subscribe.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_unregister
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 12
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_single.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 22
    functionName: mosquitto_auth_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_single.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_init(void **user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: mosquitto_auth_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_single.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: mosquitto_auth_security_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_single.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_init(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: mosquitto_auth_security_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_single.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - access
    - client
    - msg
    argTypes:
    - void*
    - int
    - struct mosquitto*
    - struct mosquitto_acl_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: mosquitto_auth_acl_check
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_single.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_acl_check(void *user_data, int access, struct mosquitto
      *client, const struct mosquitto_acl_msg *msg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_single.c:75,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_single.c:77,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_single.c:79,1
    - Dst: strlen
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_single.c:80,1
    - Dst: strlen
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_single.c:80,1
    - Dst: memcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_single.c:81,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_single.c:86,1
    - Dst: mosquitto_set_username
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_single.c:87,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_single.c:88,1
    - Dst: malloc
      Src: /src/mosquitto/test/broker/c/auth_plugin_extended_single.c:90,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 8
    argNames:
    - user_data
    - client
    - method
    - reauth
    - data
    - data_len
    - data_out
    - data_out_len
    argTypes:
    - void*
    - struct mosquitto*
    - char*
    - bool
    - void*
    - uint16_t
    - void**
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 105
    functionName: mosquitto_auth_start
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_single.c
    functionUses: 0
    functionsReached:
    - mosquitto_set_username
    - malloc
    - strlen
    - strcmp
    - memcmp
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_start(void *user_data, struct mosquitto *client,
      const char *method, bool reauth, const void *data, uint16_t data_len, void **data_out,
      uint16_t *data_out_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 7
    argNames:
    - user_data
    - client
    - method
    - data
    - data_len
    - data_out
    - data_out_len
    argTypes:
    - void*
    - struct mosquitto*
    - char*
    - void*
    - uint16_t
    - void**
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: mosquitto_auth_continue
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_extended_single.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_continue(void *user_data, struct mosquitto *client,
      const char *method, const void *data, uint16_t data_len, void **data_out, uint16_t
      *data_out_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v2_7.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v2_6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void**
    - struct mosquitto_auth_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: mosquitto_auth_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v2_6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_init(void **user_data, struct mosquitto_auth_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 11
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v3_1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: mosquitto_auth_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v3_1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_init(void **user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: mosquitto_auth_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v3_1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: mosquitto_auth_security_init
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v3_1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_init(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: mosquitto_auth_security_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v3_1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/test/broker/c/bad_v3_1.c:58,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/bad_v3_1.c:62,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/bad_v3_1.c:64,1
    - Dst: strchr
      Src: /src/mosquitto/test/broker/c/bad_v3_1.c:64,1
    - Dst: strchr
      Src: /src/mosquitto/test/broker/c/bad_v3_1.c:64,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/bad_v3_1.c:66,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/bad_v3_1.c:67,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/bad_v3_1.c:68,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 4
    argNames:
    - user_data
    - access
    - client
    - msg
    argTypes:
    - void*
    - int
    - struct mosquitto*
    - struct mosquitto_acl_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 78
    functionName: mosquitto_auth_acl_check
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v3_1.c
    functionUses: 0
    functionsReached:
    - strchr
    - mosquitto_client_username
    - strcmp
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_acl_check(void *user_data, int access, struct mosquitto
      *client, const struct mosquitto_acl_msg *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/bad_v3_1.c:86,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/bad_v3_1.c:86,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/bad_v3_1.c:88,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/bad_v3_1.c:88,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/bad_v3_1.c:90,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - user_data
    - client
    - username
    - password
    argTypes:
    - void*
    - struct mosquitto*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: mosquitto_auth_unpwd_check
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v3_1.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_unpwd_check(void *user_data, struct mosquitto *client,
      const char *username, const char *password)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 9
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_reload.c
    functionUses: 173
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/plugin_evt_reload.c:17,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/plugin_evt_reload.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - supported_version_count
    - supported_versions
    argTypes:
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 21
    functionName: mosquitto_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_reload.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_version(int supported_version_count, const int
      *supported_versions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/plugin_evt_reload.c:26,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/plugin_evt_reload.c:27,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/plugin_evt_reload.c:28,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/test/broker/c/plugin_evt_reload.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - identifier
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_reload.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/plugin_evt_reload.c:40,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/plugin_evt_reload.c:41,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/plugin_evt_reload.c:42,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/test/broker/c/plugin_evt_reload.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_reload.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_unregister
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/plugin_evt_reload.c:52,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/plugin_evt_reload.c:53,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/plugin_evt_reload.c:54,1
    - Dst: mosquitto_broker_publish_copy
      Src: /src/mosquitto/test/broker/c/plugin_evt_reload.c:56,1
    - Dst: strlen
      Src: /src/mosquitto/test/broker/c/plugin_evt_reload.c:56,1
    - Dst: printf
      Src: /src/mosquitto/test/broker/c/plugin_evt_reload.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - event
    - event_data
    - user_data
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: handle_reload
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_reload.c
    functionUses: 0
    functionsReached:
    - strlen
    - mosquitto_broker_publish_copy
    - UNUSED
    - printf
    linkageType: ''
    returnType: int
    signature: int handle_reload(int event, void *event_data, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 12
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_context_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 22
    functionName: mosquitto_auth_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_context_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_init(void **user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: mosquitto_auth_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_context_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: mosquitto_auth_security_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_context_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_init(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: mosquitto_auth_security_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_context_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - access
    - client
    - msg
    argTypes:
    - void*
    - int
    - struct mosquitto*
    - struct mosquitto_acl_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: mosquitto_auth_acl_check
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_context_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_acl_check(void *user_data, int access, struct mosquitto
      *client, const struct mosquitto_acl_msg *msg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_client_address
      Src: /src/mosquitto/test/broker/c/auth_plugin_context_params.c:76,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_context_params.c:77,1
    - Dst: mosquitto_client_clean_session
      Src: /src/mosquitto/test/broker/c/auth_plugin_context_params.c:81,1
    - Dst: fprintf
      Src: /src/mosquitto/test/broker/c/auth_plugin_context_params.c:82,1
    - Dst: mosquitto_client_clean_session
      Src: /src/mosquitto/test/broker/c/auth_plugin_context_params.c:82,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/test/broker/c/auth_plugin_context_params.c:86,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_context_params.c:87,1
    - Dst: fprintf
      Src: /src/mosquitto/test/broker/c/auth_plugin_context_params.c:88,1
    - Dst: mosquitto_client_keepalive
      Src: /src/mosquitto/test/broker/c/auth_plugin_context_params.c:92,1
    - Dst: fprintf
      Src: /src/mosquitto/test/broker/c/auth_plugin_context_params.c:93,1
    - Dst: mosquitto_client_keepalive
      Src: /src/mosquitto/test/broker/c/auth_plugin_context_params.c:93,1
    - Dst: mosquitto_client_certificate
      Src: /src/mosquitto/test/broker/c/auth_plugin_context_params.c:97,1
    - Dst: mosquitto_client_protocol
      Src: /src/mosquitto/test/broker/c/auth_plugin_context_params.c:102,1
    - Dst: fprintf
      Src: /src/mosquitto/test/broker/c/auth_plugin_context_params.c:103,1
    - Dst: mosquitto_client_protocol
      Src: /src/mosquitto/test/broker/c/auth_plugin_context_params.c:103,1
    - Dst: mosquitto_client_sub_count
      Src: /src/mosquitto/test/broker/c/auth_plugin_context_params.c:107,1
    - Dst: fprintf
      Src: /src/mosquitto/test/broker/c/auth_plugin_context_params.c:108,1
    - Dst: mosquitto_client_sub_count
      Src: /src/mosquitto/test/broker/c/auth_plugin_context_params.c:108,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/test/broker/c/auth_plugin_context_params.c:112,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_context_params.c:113,1
    - Dst: fprintf
      Src: /src/mosquitto/test/broker/c/auth_plugin_context_params.c:114,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 4
    argNames:
    - user_data
    - client
    - username
    - password
    argTypes:
    - void*
    - struct mosquitto*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 119
    functionName: mosquitto_auth_unpwd_check
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_context_params.c
    functionUses: 0
    functionsReached:
    - mosquitto_client_sub_count
    - mosquitto_client_clean_session
    - fprintf
    - mosquitto_client_id
    - mosquitto_client_keepalive
    - mosquitto_client_protocol
    - mosquitto_client_username
    - mosquitto_client_address
    - strcmp
    - mosquitto_client_certificate
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_unpwd_check(void *user_data, struct mosquitto *client,
      const char *username, const char *password)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - user_data
    - client
    - hint
    - identity
    - key
    - max_key_len
    argTypes:
    - void*
    - struct mosquitto*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: mosquitto_auth_psk_key_get
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_context_params.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_psk_key_get(void *user_data, struct mosquitto *client,
      const char *hint, const char *identity, char *key, int max_key_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/mosquitto/test/broker/c/plugin_evt_message_in.c:20,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/test/broker/c/plugin_evt_message_in.c:23,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/test/broker/c/plugin_evt_message_in.c:24,1
    - Dst: strlen
      Src: /src/mosquitto/test/broker/c/plugin_evt_message_in.c:25,1
    - Dst: mosquitto_property_add_string_pair
      Src: /src/mosquitto/test/broker/c/plugin_evt_message_in.c:28,1
    - Dst: abort
      Src: /src/mosquitto/test/broker/c/plugin_evt_message_in.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - event
    - event_data
    - user_data
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 32
    functionName: callback_message_in
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_message_in.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - strlen
    - mosquitto_property_add_string_pair
    - abort
    linkageType: ''
    returnType: int
    signature: int callback_message_in(int event, void *event_data, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/test/broker/c/plugin_evt_message_in.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - identifier
    - user_data
    - opts
    - opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_message_in.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/test/broker/c/plugin_evt_message_in.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - user_data
    - opts
    - opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_message_in.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_unregister
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *opts, int opt_count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/mosquitto/test/broker/c/plugin_control.c:21,1
    - Dst: mosquitto_broker_publish_copy
      Src: /src/mosquitto/test/broker/c/plugin_control.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 27
    functionName: control_callback
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_control.c
    functionUses: 0
    functionsReached:
    - mosquitto_broker_publish_copy
    - abort
    linkageType: ''
    returnType: int
    signature: int control_callback(int event, void *event_data, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/mosquitto/test/broker/c/plugin_control.c:42,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/test/broker/c/plugin_control.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - identifier
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 46
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_control.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - snprintf
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/mosquitto/test/broker/c/plugin_control.c:59,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/test/broker/c/plugin_control.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_control.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_unregister
    - snprintf
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_plugin_set_info
      Src: /src/mosquitto/test/broker/c/auth_plugin_v5_control.c:24,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/test/broker/c/auth_plugin_v5_control.c:26,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/test/broker/c/auth_plugin_v5_control.c:27,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/test/broker/c/auth_plugin_v5_control.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - identifier
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 31
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v5_control.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - mosquitto_plugin_set_info
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/test/broker/c/auth_plugin_v5_control.c:40,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/test/broker/c/auth_plugin_v5_control.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v5_control.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_unregister
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - event
    - event_data
    - user_data
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: mosquitto_auth_acl_check_v5
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v5_control.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_acl_check_v5(int event, void *event_data, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - event
    - event_data
    - user_data
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: mosquitto_auth_unpwd_check_v5
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v5_control.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_unpwd_check_v5(int event, void *event_data, void
      *user_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/mosquitto/test/broker/c/plugin_evt_persist_client_update.c:21,1
    - Dst: mosquitto_broker_publish_copy
      Src: /src/mosquitto/test/broker/c/plugin_evt_persist_client_update.c:24,1
    - Dst: strlen
      Src: /src/mosquitto/test/broker/c/plugin_evt_persist_client_update.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - event
    - event_data
    - user_data
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 27
    functionName: callback_persist_client_update
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_persist_client_update.c
    functionUses: 0
    functionsReached:
    - strlen
    - mosquitto_broker_publish_copy
    - abort
    linkageType: ''
    returnType: int
    signature: int callback_persist_client_update(int event, void *event_data, void
      *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/test/broker/c/plugin_evt_persist_client_update.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - identifier
    - user_data
    - opts
    - opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_persist_client_update.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/test/broker/c/plugin_evt_persist_client_update.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - user_data
    - opts
    - opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_persist_client_update.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_unregister
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *opts, int opt_count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/mosquitto/test/broker/c/plugin_evt_client_offline.c:21,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/test/broker/c/plugin_evt_client_offline.c:23,1
    - Dst: mosquitto_broker_publish_copy
      Src: /src/mosquitto/test/broker/c/plugin_evt_client_offline.c:24,1
    - Dst: strlen
      Src: /src/mosquitto/test/broker/c/plugin_evt_client_offline.c:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - event
    - event_data
    - user_data
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 27
    functionName: callback_client_offline
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_client_offline.c
    functionUses: 0
    functionsReached:
    - mosquitto_client_id
    - strlen
    - mosquitto_broker_publish_copy
    - abort
    linkageType: ''
    returnType: int
    signature: int callback_client_offline(int event, void *event_data, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/test/broker/c/plugin_evt_client_offline.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - identifier
    - user_data
    - opts
    - opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_client_offline.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/test/broker/c/plugin_evt_client_offline.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - user_data
    - opts
    - opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_client_offline.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_unregister
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 9
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/test/broker/c/kick_last_client.c
    functionUses: 177
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:21,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - supported_version_count
    - supported_versions
    argTypes:
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: mosquitto_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/kick_last_client.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_version(int supported_version_count, const int
      *supported_versions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:30,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:31,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:32,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:36,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:37,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:38,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - identifier
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/kick_last_client.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:47,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:48,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:49,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:51,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:52,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:53,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:54,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 58
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/kick_last_client.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - mosquitto_callback_unregister
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:63,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:64,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:65,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:67,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:70,1
    - Dst: mosquitto_kick_client_by_clientid
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:71,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - event
    - event_data
    - user_data
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 80
    functionName: handle_tick
    functionSourceFile: /src/mosquitto/test/broker/c/kick_last_client.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - mosquitto_log_printf
    - UNUSED
    - mosquitto_kick_client_by_clientid
    linkageType: ''
    returnType: int
    signature: int handle_tick(int event, void *event_data, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:86,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:87,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:89,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:90,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:91,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - event
    - event_data
    - user_data
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: handle_connect
    functionSourceFile: /src/mosquitto/test/broker/c/kick_last_client.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - mosquitto_strdup
    - mosquitto_log_printf
    - mosquitto_client_id
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int handle_connect(int event, void *event_data, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:100,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:101,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:102,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/test/broker/c/kick_last_client.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - event
    - event_data
    - user_data
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 107
    functionName: handle_disconnect
    functionSourceFile: /src/mosquitto/test/broker/c/kick_last_client.c
    functionUses: 0
    functionsReached:
    - mosquitto_log_printf
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int handle_disconnect(int event, void *event_data, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 11
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v3_7.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 11
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: mosquitto_auth_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_init(void **user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: mosquitto_auth_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: mosquitto_auth_security_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_init(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: mosquitto_auth_security_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_cleanup(void *user_data, struct mosquitto_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/test/broker/c/auth_plugin_v3.c:58,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v3.c:62,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v3.c:64,1
    - Dst: strchr
      Src: /src/mosquitto/test/broker/c/auth_plugin_v3.c:64,1
    - Dst: strchr
      Src: /src/mosquitto/test/broker/c/auth_plugin_v3.c:64,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v3.c:66,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v3.c:67,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v3.c:68,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 4
    argNames:
    - user_data
    - access
    - client
    - msg
    argTypes:
    - void*
    - int
    - struct mosquitto*
    - struct mosquitto_acl_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 78
    functionName: mosquitto_auth_acl_check
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v3.c
    functionUses: 0
    functionsReached:
    - strchr
    - mosquitto_client_username
    - strcmp
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_acl_check(void *user_data, int access, struct mosquitto
      *client, const struct mosquitto_acl_msg *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v3.c:86,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v3.c:86,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v3.c:88,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v3.c:88,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v3.c:90,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 4
    argNames:
    - user_data
    - client
    - username
    - password
    argTypes:
    - void*
    - struct mosquitto*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: mosquitto_auth_unpwd_check
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v3.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_unpwd_check(void *user_data, struct mosquitto *client,
      const char *username, const char *password)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - user_data
    - client
    - hint
    - identity
    - key
    - max_key_len
    argTypes:
    - void*
    - struct mosquitto*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: mosquitto_auth_psk_key_get
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_psk_key_get(void *user_data, struct mosquitto *client,
      const char *hint, const char *identity, char *key, int max_key_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v2_1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void**
    - struct mosquitto_auth_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: mosquitto_auth_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v2_1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_init(void **user_data, struct mosquitto_auth_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_auth_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: mosquitto_auth_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v2_1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_cleanup(void *user_data, struct mosquitto_auth_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_auth_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: mosquitto_auth_security_init
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v2_1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_init(void *user_data, struct mosquitto_auth_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_auth_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: mosquitto_auth_security_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v2_1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_cleanup(void *user_data, struct mosquitto_auth_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/bad_v2_1.c:73,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/bad_v2_1.c:75,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/bad_v2_1.c:76,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/bad_v2_1.c:77,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 5
    argNames:
    - user_data
    - clientid
    - username
    - topic
    - access
    argTypes:
    - void*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 87
    functionName: mosquitto_auth_acl_check
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v2_1.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_acl_check(void *user_data, const char *clientid,
      const char *username, const char *topic, int access)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/bad_v2_1.c:94,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/bad_v2_1.c:94,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/bad_v2_1.c:96,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/bad_v2_1.c:96,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/bad_v2_1.c:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - user_data
    - username
    - password
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: mosquitto_auth_unpwd_check
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v2_1.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_unpwd_check(void *user_data, const char *username,
      const char *password)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 10
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_psk_key.c
    functionUses: 183
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/plugin_evt_psk_key.c:20,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/plugin_evt_psk_key.c:21,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/plugin_evt_psk_key.c:23,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/plugin_evt_psk_key.c:23,1
    - Dst: snprintf
      Src: /src/mosquitto/test/broker/c/plugin_evt_psk_key.c:24,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/plugin_evt_psk_key.c:25,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/plugin_evt_psk_key.c:25,1
    - Dst: snprintf
      Src: /src/mosquitto/test/broker/c/plugin_evt_psk_key.c:26,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 32
    functionName: psk_callback
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_psk_key.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - snprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: int psk_callback(int event, void *event_data, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/plugin_evt_psk_key.c:37,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/plugin_evt_psk_key.c:38,1
    - Dst: UNUSED
      Src: /src/mosquitto/test/broker/c/plugin_evt_psk_key.c:39,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/test/broker/c/plugin_evt_psk_key.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - identifier
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/plugin_evt_psk_key.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void**
    - struct mosquitto_auth_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: mosquitto_auth_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_init(void **user_data, struct mosquitto_auth_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_auth_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: mosquitto_auth_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_cleanup(void *user_data, struct mosquitto_auth_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_auth_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: mosquitto_auth_security_init
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_init(void *user_data, struct mosquitto_auth_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_auth_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: mosquitto_auth_security_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_cleanup(void *user_data, struct mosquitto_auth_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v2.c:73,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v2.c:75,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v2.c:76,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v2.c:77,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 5
    argNames:
    - user_data
    - clientid
    - username
    - topic
    - access
    argTypes:
    - void*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 87
    functionName: mosquitto_auth_acl_check
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v2.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_acl_check(void *user_data, const char *clientid,
      const char *username, const char *topic, int access)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v2.c:94,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v2.c:94,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v2.c:96,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v2.c:96,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/auth_plugin_v2.c:98,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - user_data
    - username
    - password
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 103
    functionName: mosquitto_auth_unpwd_check
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v2.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_unpwd_check(void *user_data, const char *username,
      const char *password)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - user_data
    - hint
    - identity
    - key
    - max_key_len
    argTypes:
    - void*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: mosquitto_auth_psk_key_get
    functionSourceFile: /src/mosquitto/test/broker/c/auth_plugin_v2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_psk_key_get(void *user_data, const char *hint, const
      char *identity, char *key, int max_key_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4
      start: 1
    functionDepth: 0
    functionLinenumber: 1
    functionLinenumberEnd: 4
    functionName: dummy
    functionSourceFile: /src/mosquitto/test/broker/c/bad_vnone_1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dummy(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: mosquitto_auth_plugin_version
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v2_2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void**
    - struct mosquitto_auth_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: mosquitto_auth_plugin_init
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v2_2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_init(void **user_data, struct mosquitto_auth_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    argTypes:
    - void*
    - struct mosquitto_auth_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: mosquitto_auth_plugin_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v2_2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_plugin_cleanup(void *user_data, struct mosquitto_auth_opt
      *auth_opts, int auth_opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_auth_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: mosquitto_auth_security_init
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v2_2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_init(void *user_data, struct mosquitto_auth_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - user_data
    - auth_opts
    - auth_opt_count
    - reload
    argTypes:
    - void*
    - struct mosquitto_auth_opt*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: mosquitto_auth_security_cleanup
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v2_2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_security_cleanup(void *user_data, struct mosquitto_auth_opt
      *auth_opts, int auth_opt_count, bool reload)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/bad_v2_2.c:73,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/bad_v2_2.c:75,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/bad_v2_2.c:76,1
    - Dst: strcmp
      Src: /src/mosquitto/test/broker/c/bad_v2_2.c:77,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 5
    argNames:
    - user_data
    - clientid
    - username
    - topic
    - access
    argTypes:
    - void*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 87
    functionName: mosquitto_auth_acl_check
    functionSourceFile: /src/mosquitto/test/broker/c/bad_v2_2.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int mosquitto_auth_acl_check(void *user_data, const char *clientid,
      const char *username, const char *topic, int access)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mosq
    - obj
    - mid
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: my_publish_callback
    functionSourceFile: /src/mosquitto/test/old/msgsps_pub.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void my_publish_callback(struct mosquitto *mosq, void *obj, int mid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/old/msgsps_pub.c:28,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/old/msgsps_pub.c:30,1
    - Dst: mosquitto_publish_callback_set
      Src: /src/mosquitto/test/old/msgsps_pub.c:31,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/old/msgsps_pub.c:32,1
    - Dst: mosquitto_loop_start
      Src: /src/mosquitto/test/old/msgsps_pub.c:33,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/test/old/msgsps_pub.c:37,1
    - Dst: usleep
      Src: /src/mosquitto/test/old/msgsps_pub.c:38,1
    - Dst: printf
      Src: /src/mosquitto/test/old/msgsps_pub.c:44,1
    - Dst: mosquitto_loop_stop
      Src: /src/mosquitto/test/old/msgsps_pub.c:48,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/old/msgsps_pub.c:49,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/old/msgsps_pub.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 53
    functionName: main
    functionSourceFile: /src/mosquitto/test/old/msgsps_pub.c
    functionUses: 95
    functionsReached:
    - mosquitto_publish_callback_set
    - mosquitto_loop_start
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - usleep
    - mosquitto_loop_stop
    - mosquitto_publish
    - mosquitto_new
    - mosquitto_connect
    - printf
    - mosquitto_destroy
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mosq
    - obj
    - msg
    argTypes:
    - struct mosquitto*
    - void*
    - struct mosquitto_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: my_message_callback
    functionSourceFile: /src/mosquitto/test/old/msgsps_sub.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void my_message_callback(struct mosquitto *mosq, void *obj, const struct
      mosquitto_message *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/test/old/msgsps_sub.c:27,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/test/old/msgsps_sub.c:29,1
    - Dst: mosquitto_message_callback_set
      Src: /src/mosquitto/test/old/msgsps_sub.c:30,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/test/old/msgsps_sub.c:32,1
    - Dst: mosquitto_subscribe
      Src: /src/mosquitto/test/old/msgsps_sub.c:33,1
    - Dst: mosquitto_loop_start
      Src: /src/mosquitto/test/old/msgsps_sub.c:35,1
    - Dst: sleep
      Src: /src/mosquitto/test/old/msgsps_sub.c:37,1
    - Dst: printf
      Src: /src/mosquitto/test/old/msgsps_sub.c:40,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/test/old/msgsps_sub.c:44,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/test/old/msgsps_sub.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/mosquitto/test/old/msgsps_sub.c
    functionUses: 95
    functionsReached:
    - mosquitto_loop_start
    - mosquitto_lib_cleanup
    - mosquitto_message_callback_set
    - mosquitto_lib_init
    - mosquitto_connect
    - mosquitto_new
    - sleep
    - printf
    - mosquitto_destroy
    - mosquitto_subscribe
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/plugin_connect.c:31,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_connect.c:33,1
    - Dst: struct mosquitto__callback*::cb
      Src: /src/mosquitto/src/plugin_connect.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - opts
    - context
    argTypes:
    - struct mosquitto__security_options*
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: plugin__handle_connect_single
    functionSourceFile: /src/mosquitto/src/plugin_connect.c
    functionUses: 0
    functionsReached:
    - struct mosquitto__callback*::cb
    - DL_FOREACH_SAFE
    - memset
    linkageType: ''
    returnType: void
    signature: void plugin__handle_connect_single(struct mosquitto__security_options
      *opts, struct mosquitto *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: plugin__handle_connect_single
      Src: /src/mosquitto/src/plugin_connect.c:42,1
    - Dst: plugin__handle_connect_single
      Src: /src/mosquitto/src/plugin_connect.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: plugin__handle_connect
    functionSourceFile: /src/mosquitto/src/plugin_connect.c
    functionUses: 0
    functionsReached:
    - plugin__handle_connect_single
    linkageType: ''
    returnType: void
    signature: void plugin__handle_connect(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/mosquitto/src/persist_write_v5.c:46,1
    - Dst: htonl
      Src: /src/mosquitto/src/persist_write_v5.c:47,1
    - Dst: write_e
      Src: /src/mosquitto/src/persist_write_v5.c:48,1
    - Dst: write_e
      Src: /src/mosquitto/src/persist_write_v5.c:49,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_write_v5.c:53,1
    - Dst: strerror
      Src: /src/mosquitto/src/persist_write_v5.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - db_fptr
    - chunk
    argTypes:
    - FILE*
    - struct PF_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 55
    functionName: persist__chunk_cfg_write_v6
    functionSourceFile: /src/mosquitto/src/persist_write_v5.c
    functionUses: 0
    functionsReached:
    - write_e
    - htonl
    - log__printf
    - strerror
    linkageType: ''
    returnType: int
    signature: int persist__chunk_cfg_write_v6(FILE *db_fptr, struct PF_cfg *chunk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/mosquitto/src/persist_write_v5.c:64,1
    - Dst: htons
      Src: /src/mosquitto/src/persist_write_v5.c:65,1
    - Dst: htons
      Src: /src/mosquitto/src/persist_write_v5.c:66,1
    - Dst: htons
      Src: /src/mosquitto/src/persist_write_v5.c:67,1
    - Dst: htons
      Src: /src/mosquitto/src/persist_write_v5.c:68,1
    - Dst: htonl
      Src: /src/mosquitto/src/persist_write_v5.c:70,1
    - Dst: htonl
      Src: /src/mosquitto/src/persist_write_v5.c:71,1
    - Dst: write_e
      Src: /src/mosquitto/src/persist_write_v5.c:73,1
    - Dst: write_e
      Src: /src/mosquitto/src/persist_write_v5.c:74,1
    - Dst: write_e
      Src: /src/mosquitto/src/persist_write_v5.c:76,1
    - Dst: write_e
      Src: /src/mosquitto/src/persist_write_v5.c:78,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_write_v5.c:83,1
    - Dst: strerror
      Src: /src/mosquitto/src/persist_write_v5.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - db_fptr
    - chunk
    argTypes:
    - FILE*
    - struct P_client*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 85
    functionName: persist__chunk_client_write_v6
    functionSourceFile: /src/mosquitto/src/persist_write_v5.c
    functionUses: 0
    functionsReached:
    - htonl
    - log__printf
    - write_e
    - strerror
    - htons
    linkageType: ''
    returnType: int
    signature: int persist__chunk_client_write_v6(FILE *db_fptr, struct P_client *chunk)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_get_remaining_length
      Src: /src/mosquitto/src/persist_write_v5.c:101,1
    - Dst: htons
      Src: /src/mosquitto/src/persist_write_v5.c:104,1
    - Dst: htons
      Src: /src/mosquitto/src/persist_write_v5.c:105,1
    - Dst: htonl
      Src: /src/mosquitto/src/persist_write_v5.c:107,1
    - Dst: htonl
      Src: /src/mosquitto/src/persist_write_v5.c:108,1
    - Dst: write_e
      Src: /src/mosquitto/src/persist_write_v5.c:110,1
    - Dst: write_e
      Src: /src/mosquitto/src/persist_write_v5.c:111,1
    - Dst: write_e
      Src: /src/mosquitto/src/persist_write_v5.c:112,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/persist_write_v5.c:115,1
    - Dst: property__write_all
      Src: /src/mosquitto/src/persist_write_v5.c:121,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_write_v5.c:123,1
    - Dst: write_e
      Src: /src/mosquitto/src/persist_write_v5.c:127,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_write_v5.c:128,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_write_v5.c:134,1
    - Dst: strerror
      Src: /src/mosquitto/src/persist_write_v5.c:134,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_write_v5.c:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 2
    argNames:
    - db_fptr
    - chunk
    argTypes:
    - FILE*
    - struct P_client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 137
    functionName: persist__chunk_client_msg_write_v6
    functionSourceFile: /src/mosquitto/src/persist_write_v5.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - htonl
    - log__printf
    - mosquitto_calloc
    - mosquitto_property_get_remaining_length
    - write_e
    - property__write_all
    - strerror
    - htons
    linkageType: ''
    returnType: int
    signature: int persist__chunk_client_msg_write_v6(FILE *db_fptr, struct P_client_msg
      *chunk)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_get_remaining_length
      Src: /src/mosquitto/src/persist_write_v5.c:151,1
    - Dst: htonl
      Src: /src/mosquitto/src/persist_write_v5.c:154,1
    - Dst: htons
      Src: /src/mosquitto/src/persist_write_v5.c:155,1
    - Dst: htons
      Src: /src/mosquitto/src/persist_write_v5.c:156,1
    - Dst: htons
      Src: /src/mosquitto/src/persist_write_v5.c:157,1
    - Dst: htons
      Src: /src/mosquitto/src/persist_write_v5.c:158,1
    - Dst: htons
      Src: /src/mosquitto/src/persist_write_v5.c:159,1
    - Dst: htonl
      Src: /src/mosquitto/src/persist_write_v5.c:161,1
    - Dst: htonl
      Src: /src/mosquitto/src/persist_write_v5.c:162,1
    - Dst: write_e
      Src: /src/mosquitto/src/persist_write_v5.c:166,1
    - Dst: write_e
      Src: /src/mosquitto/src/persist_write_v5.c:167,1
    - Dst: write_e
      Src: /src/mosquitto/src/persist_write_v5.c:169,1
    - Dst: write_e
      Src: /src/mosquitto/src/persist_write_v5.c:172,1
    - Dst: write_e
      Src: /src/mosquitto/src/persist_write_v5.c:174,1
    - Dst: write_e
      Src: /src/mosquitto/src/persist_write_v5.c:176,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/persist_write_v5.c:180,1
    - Dst: property__write_all
      Src: /src/mosquitto/src/persist_write_v5.c:186,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_write_v5.c:188,1
    - Dst: fwrite
      Src: /src/mosquitto/src/persist_write_v5.c:192,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_write_v5.c:193,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_write_v5.c:196,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_write_v5.c:202,1
    - Dst: strerror
      Src: /src/mosquitto/src/persist_write_v5.c:202,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 2
    argNames:
    - db_fptr
    - chunk
    argTypes:
    - FILE*
    - struct P_base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 204
    functionName: persist__chunk_message_store_write_v6
    functionSourceFile: /src/mosquitto/src/persist_write_v5.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - htonl
    - log__printf
    - mosquitto_calloc
    - mosquitto_property_get_remaining_length
    - write_e
    - property__write_all
    - fwrite
    - strerror
    - htons
    linkageType: ''
    returnType: int
    signature: int persist__chunk_message_store_write_v6(FILE *db_fptr, struct P_base_msg
      *chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/mosquitto/src/persist_write_v5.c:211,1
    - Dst: htonl
      Src: /src/mosquitto/src/persist_write_v5.c:212,1
    - Dst: write_e
      Src: /src/mosquitto/src/persist_write_v5.c:214,1
    - Dst: write_e
      Src: /src/mosquitto/src/persist_write_v5.c:215,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_write_v5.c:219,1
    - Dst: strerror
      Src: /src/mosquitto/src/persist_write_v5.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - db_fptr
    - chunk
    argTypes:
    - FILE*
    - struct P_retain*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 221
    functionName: persist__chunk_retain_write_v6
    functionSourceFile: /src/mosquitto/src/persist_write_v5.c
    functionUses: 0
    functionsReached:
    - write_e
    - htonl
    - log__printf
    - strerror
    linkageType: ''
    returnType: int
    signature: int persist__chunk_retain_write_v6(FILE *db_fptr, struct P_retain *chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/mosquitto/src/persist_write_v5.c:230,1
    - Dst: htons
      Src: /src/mosquitto/src/persist_write_v5.c:231,1
    - Dst: htons
      Src: /src/mosquitto/src/persist_write_v5.c:232,1
    - Dst: htonl
      Src: /src/mosquitto/src/persist_write_v5.c:234,1
    - Dst: htonl
      Src: /src/mosquitto/src/persist_write_v5.c:235,1
    - Dst: write_e
      Src: /src/mosquitto/src/persist_write_v5.c:238,1
    - Dst: write_e
      Src: /src/mosquitto/src/persist_write_v5.c:239,1
    - Dst: write_e
      Src: /src/mosquitto/src/persist_write_v5.c:240,1
    - Dst: write_e
      Src: /src/mosquitto/src/persist_write_v5.c:241,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_write_v5.c:245,1
    - Dst: strerror
      Src: /src/mosquitto/src/persist_write_v5.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - db_fptr
    - chunk
    argTypes:
    - FILE*
    - struct P_sub*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 247
    functionName: persist__chunk_sub_write_v6
    functionSourceFile: /src/mosquitto/src/persist_write_v5.c
    functionUses: 0
    functionsReached:
    - htonl
    - log__printf
    - write_e
    - strerror
    - htons
    linkageType: ''
    returnType: int
    signature: int persist__chunk_sub_write_v6(FILE *db_fptr, struct P_sub *chunk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/src/retain.c:37,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/retain.c:39,1
    - Dst: log__printf
      Src: /src/mosquitto/src/retain.c:41,1
    - Dst: strncpy
      Src: /src/mosquitto/src/retain.c:46,1
    - Dst: HASH_ADD
      Src: /src/mosquitto/src/retain.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - parent
    - sibling
    - topic
    - len
    argTypes:
    - struct mosquitto__retainhier*
    - struct mosquitto__retainhier**
    - char*
    - uint16_t
    assertStmts:
    - condition: (sibling)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/mosquitto/src/retain.c
    constantsTouched: []
    func_position:
      end: 51
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 51
    functionName: retain__add_hier_entry
    functionSourceFile: /src/mosquitto/src/retain.c
    functionUses: 0
    functionsReached:
    - mosquitto_calloc
    - HASH_ADD
    - assert
    - log__printf
    - strncpy
    linkageType: ''
    returnType: struct mosquitto__retainhier
    signature: struct mosquitto__retainhier *retain__add_hier_entry(struct mosquitto__retainhier
      *parent, struct mosquitto__retainhier **sibling, const char *topic, uint16_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: retain__add_hier_entry
      Src: /src/mosquitto/src/retain.c:58,1
    - Dst: retain__add_hier_entry
      Src: /src/mosquitto/src/retain.c:63,1
    - Dst: strlen
      Src: /src/mosquitto/src/retain.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 69
    functionName: retain__init
    functionSourceFile: /src/mosquitto/src/retain.c
    functionUses: 2
    functionsReached:
    - strlen
    - retain__add_hier_entry
    linkageType: ''
    returnType: int
    signature: int retain__init(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/retain.c:83,1
    - Dst: sub__topic_tokenise
      Src: /src/mosquitto/src/retain.c:85,1
    - Dst: retain__store
      Src: /src/mosquitto/src/retain.c:89,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/src/retain.c:90,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/src/retain.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - topic
    - base_msg_id
    argTypes:
    - char*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 95
    functionName: mosquitto_persist_retain_msg_set
    functionSourceFile: /src/mosquitto/src/retain.c
    functionUses: 0
    functionsReached:
    - retain__store
    - mosquitto_free
    - sub__topic_tokenise
    - HASH_FIND
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_persist_retain_msg_set(const char *topic, uint64_t
      base_msg_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/retain.c:109,1
    - Dst: sub__topic_tokenise
      Src: /src/mosquitto/src/retain.c:112,1
    - Dst: retain__store
      Src: /src/mosquitto/src/retain.c:117,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/retain.c:118,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/retain.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - topic
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 122
    functionName: mosquitto_persist_retain_msg_delete
    functionSourceFile: /src/mosquitto/src/retain.c
    functionUses: 0
    functionsReached:
    - retain__store
    - sub__topic_tokenise
    - memset
    - mosquitto_FREE
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_persist_retain_msg_delete(const char *topic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_DELETE
      Src: /src/mosquitto/src/retain.c:132,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/retain.c:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - retainhier
    argTypes:
    - struct mosquitto__retainhier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 139
    functionName: retain__clean_empty_hierarchy
    functionSourceFile: /src/mosquitto/src/retain.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - HASH_DELETE
    linkageType: ''
    returnType: void
    signature: void retain__clean_empty_hierarchy(struct mosquitto__retainhier *retainhier)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/src/retain.c:148,1
    - Dst: assert
      Src: /src/mosquitto/src/retain.c:149,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/retain.c:151,1
    - Dst: strlen
      Src: /src/mosquitto/src/retain.c:151,1
    - Dst: retain__add_hier_entry
      Src: /src/mosquitto/src/retain.c:153,1
    - Dst: strlen
      Src: /src/mosquitto/src/retain.c:153,1
    - Dst: strlen
      Src: /src/mosquitto/src/retain.c:160,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/retain.c:161,1
    - Dst: retain__add_hier_entry
      Src: /src/mosquitto/src/retain.c:163,1
    - Dst: strncmp
      Src: /src/mosquitto/src/retain.c:172,1
    - Dst: UNUSED
      Src: /src/mosquitto/src/retain.c:178,1
    - Dst: plugin_persist__handle_retain_msg_delete
      Src: /src/mosquitto/src/retain.c:184,1
    - Dst: db__msg_store_ref_dec
      Src: /src/mosquitto/src/retain.c:186,1
    - Dst: retain__clean_empty_hierarchy
      Src: /src/mosquitto/src/retain.c:192,1
    - Dst: db__msg_store_ref_inc
      Src: /src/mosquitto/src/retain.c:197,1
    - Dst: plugin_persist__handle_base_msg_add
      Src: /src/mosquitto/src/retain.c:199,1
    - Dst: plugin_persist__handle_retain_msg_set
      Src: /src/mosquitto/src/retain.c:200,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 4
    argNames:
    - topic
    - base_msg
    - split_topics
    - persist
    argTypes:
    - char*
    - struct mosquitto__base_msg*
    - char**
    - bool
    assertStmts:
    - condition: (base_msg)
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/mosquitto/src/retain.c
    - condition: (split_topics)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/mosquitto/src/retain.c
    constantsTouched: []
    func_position:
      end: 208
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 208
    functionName: retain__store
    functionSourceFile: /src/mosquitto/src/retain.c
    functionUses: 2
    functionsReached:
    - strncmp
    - plugin_persist__handle_retain_msg_delete
    - plugin_persist__handle_base_msg_add
    - db__msg_store_ref_inc
    - assert
    - db__msg_store_ref_dec
    - strlen
    - retain__add_hier_entry
    - HASH_FIND
    - UNUSED
    - retain__clean_empty_hierarchy
    - plugin_persist__handle_retain_msg_set
    linkageType: ''
    returnType: int
    signature: int retain__store(const char *topic, struct mosquitto__base_msg *base_msg,
      char **split_topics, bool persist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: plugin_persist__handle_retain_msg_delete
      Src: /src/mosquitto/src/retain.c:214,1
    - Dst: db__msg_store_ref_dec
      Src: /src/mosquitto/src/retain.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - branch
    argTypes:
    - struct mosquitto__retainhier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 223
    functionName: retain__delete_expired_msg
    functionSourceFile: /src/mosquitto/src/retain.c
    functionUses: 0
    functionsReached:
    - plugin_persist__handle_retain_msg_delete
    - db__msg_store_ref_dec
    linkageType: ''
    returnType: bool
    signature: bool retain__delete_expired_msg(struct mosquitto__retainhier *branch)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: retain__delete_expired_msg
      Src: /src/mosquitto/src/retain.c:233,1
    - Dst: mosquitto_acl_check
      Src: /src/mosquitto/src/retain.c:239,1
    - Dst: memset
      Src: /src/mosquitto/src/retain.c:250,1
    - Dst: mosquitto_acl_check
      Src: /src/mosquitto/src/retain.c:256,1
    - Dst: mosquitto__mid_generate
      Src: /src/mosquitto/src/retain.c:275,1
    - Dst: db__message_insert_outgoing
      Src: /src/mosquitto/src/retain.c:279,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - branch
    - context
    - sub
    argTypes:
    - struct mosquitto__retainhier*
    - struct mosquitto*
    - struct mosquitto_subscription*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 280
    functionName: retain__process
    functionSourceFile: /src/mosquitto/src/retain.c
    functionUses: 0
    functionsReached:
    - mosquitto__mid_generate
    - retain__delete_expired_msg
    - db__message_insert_outgoing
    - memset
    - mosquitto_acl_check
    linkageType: ''
    returnType: int
    signature: int retain__process(struct mosquitto__retainhier *branch, struct mosquitto
      *context, const struct mosquitto_subscription *sub)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/src/retain.c:288,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/retain.c:289,1
    - Dst: retain__process
      Src: /src/mosquitto/src/retain.c:296,1
    - Dst: retain__search
      Src: /src/mosquitto/src/retain.c:299,1
    - Dst: strcmp
      Src: /src/mosquitto/src/retain.c:303,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/retain.c:304,1
    - Dst: retain__search
      Src: /src/mosquitto/src/retain.c:306,1
    - Dst: strcmp
      Src: /src/mosquitto/src/retain.c:307,1
    - Dst: retain__process
      Src: /src/mosquitto/src/retain.c:310,1
    - Dst: retain__process
      Src: /src/mosquitto/src/retain.c:315,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/retain.c:320,1
    - Dst: strlen
      Src: /src/mosquitto/src/retain.c:320,1
    - Dst: retain__search
      Src: /src/mosquitto/src/retain.c:323,1
    - Dst: strcmp
      Src: /src/mosquitto/src/retain.c:324,1
    - Dst: retain__process
      Src: /src/mosquitto/src/retain.c:327,1
    - Dst: retain__process
      Src: /src/mosquitto/src/retain.c:332,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 5
    argNames:
    - retainhier
    - split_topics
    - context
    - sub
    - level
    argTypes:
    - struct mosquitto__retainhier*
    - char**
    - struct mosquitto*
    - struct mosquitto_subscription*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 339
    functionName: retain__search
    functionSourceFile: /src/mosquitto/src/retain.c
    functionUses: 1
    functionsReached:
    - retain__search
    - strlen
    - HASH_FIND
    - strcmp
    - HASH_ITER
    - retain__process
    linkageType: ''
    returnType: int
    signature: int retain__search(struct mosquitto__retainhier *retainhier, char **split_topics,
      struct mosquitto *context, const struct mosquitto_subscription *sub, int level)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/src/retain.c:349,1
    - Dst: assert
      Src: /src/mosquitto/src/retain.c:350,1
    - Dst: strncmp
      Src: /src/mosquitto/src/retain.c:352,1
    - Dst: strlen
      Src: /src/mosquitto/src/retain.c:352,1
    - Dst: sub__topic_tokenise
      Src: /src/mosquitto/src/retain.c:356,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/retain.c:361,1
    - Dst: strlen
      Src: /src/mosquitto/src/retain.c:361,1
    - Dst: retain__search
      Src: /src/mosquitto/src/retain.c:364,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/retain.c:366,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/retain.c:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - context
    - sub
    argTypes:
    - struct mosquitto*
    - struct mosquitto_subscription*
    assertStmts:
    - condition: (context)
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/mosquitto/src/retain.c
    - condition: (sub)
      pos:
        line_end: 349
        line_start: 349
        source_file: /src/mosquitto/src/retain.c
    constantsTouched: []
    func_position:
      end: 370
      start: 342
    functionDepth: 4
    functionLinenumber: 342
    functionLinenumberEnd: 370
    functionName: retain__queue
    functionSourceFile: /src/mosquitto/src/retain.c
    functionUses: 0
    functionsReached:
    - strncmp
    - mosquitto_FREE
    - sub__topic_tokenise
    - assert
    - retain__search
    - strlen
    - HASH_FIND
    linkageType: ''
    returnType: int
    signature: int retain__queue(struct mosquitto *context, const struct mosquitto_subscription
      *sub)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/retain.c:377,1
    - Dst: retain__expire
      Src: /src/mosquitto/src/retain.c:378,1
    - Dst: retain__delete_expired_msg
      Src: /src/mosquitto/src/retain.c:379,1
    - Dst: retain__clean_empty_hierarchy
      Src: /src/mosquitto/src/retain.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - retainhier
    argTypes:
    - struct mosquitto__retainhier**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 383
    functionName: retain__expire
    functionSourceFile: /src/mosquitto/src/retain.c
    functionUses: 1
    functionsReached:
    - retain__delete_expired_msg
    - retain__clean_empty_hierarchy
    - retain__expire
    - HASH_ITER
    linkageType: ''
    returnType: void
    signature: void retain__expire(struct mosquitto__retainhier **retainhier)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/retain.c:390,1
    - Dst: db__msg_store_ref_dec
      Src: /src/mosquitto/src/retain.c:392,1
    - Dst: retain__clean
      Src: /src/mosquitto/src/retain.c:394,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/src/retain.c:396,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/retain.c:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - retainhier
    argTypes:
    - struct mosquitto__retainhier**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 399
    functionName: retain__clean
    functionSourceFile: /src/mosquitto/src/retain.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - db__msg_store_ref_dec
    - retain__clean
    - HASH_DELETE
    - HASH_ITER
    linkageType: ''
    returnType: void
    signature: void retain__clean(struct mosquitto__retainhier **retainhier)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: retain__expire
      Src: /src/mosquitto/src/retain.c:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 402
    functionDepth: 3
    functionLinenumber: 402
    functionLinenumberEnd: 408
    functionName: retain__expiry_check
    functionSourceFile: /src/mosquitto/src/retain.c
    functionUses: 0
    functionsReached:
    - retain__expire
    linkageType: ''
    returnType: void
    signature: void retain__expiry_check(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/src/plugin_v3.c:41,1
    - Dst: mosquitto_plugin_id_t*::lib::unpwd_check_v3
      Src: /src/mosquitto/src/plugin_v3.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: plugin_v3_basic_auth
    functionSourceFile: /src/mosquitto/src/plugin_v3.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - mosquitto_plugin_id_t*::lib::unpwd_check_v3
    linkageType: ''
    returnType: int
    signature: int plugin_v3_basic_auth(int event, void *event_data, void *userdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/src/plugin_v3.c:62,1
    - Dst: memset
      Src: /src/mosquitto/src/plugin_v3.c:68,1
    - Dst: acl__pre_check
      Src: /src/mosquitto/src/plugin_v3.c:75,1
    - Dst: mosquitto_plugin_id_t*::lib::acl_check_v3
      Src: /src/mosquitto/src/plugin_v3.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 85
    functionName: plugin_v3_acl_check
    functionSourceFile: /src/mosquitto/src/plugin_v3.c
    functionUses: 0
    functionsReached:
    - acl__pre_check
    - UNUSED
    - memset
    - mosquitto_plugin_id_t*::lib::acl_check_v3
    linkageType: ''
    returnType: int
    signature: int plugin_v3_acl_check(int event, void *event_data, void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/src/plugin_v3.c:93,1
    - Dst: mosquitto_plugin_id_t*::lib::psk_key_get_v3
      Src: /src/mosquitto/src/plugin_v3.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 106
    functionName: plugin_v3_psk_key_get
    functionSourceFile: /src/mosquitto/src/plugin_v3.c
    functionUses: 0
    functionsReached:
    - mosquitto_plugin_id_t*::lib::psk_key_get_v3
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int plugin_v3_psk_key_get(int event, void *event_data, void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/src/plugin_v3.c:114,1
    - Dst: UNUSED
      Src: /src/mosquitto/src/plugin_v3.c:115,1
    - Dst: mosquitto_plugin_id_t*::lib::security_cleanup_v3
      Src: /src/mosquitto/src/plugin_v3.c:117,1
    - Dst: mosquitto_plugin_id_t*::lib::security_init_v3
      Src: /src/mosquitto/src/plugin_v3.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 132
    functionName: plugin_v3_reload
    functionSourceFile: /src/mosquitto/src/plugin_v3.c
    functionUses: 0
    functionsReached:
    - mosquitto_plugin_id_t*::lib::security_init_v3
    - UNUSED
    - mosquitto_plugin_id_t*::lib::security_cleanup_v3
    linkageType: ''
    returnType: int
    signature: int plugin_v3_reload(int event, void *event_data, void *userdata)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: LIB_SYM
      Src: /src/mosquitto/src/plugin_v3.c:139,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v3.c:140,1
    - Dst: LIB_ERROR
      Src: /src/mosquitto/src/plugin_v3.c:142,1
    - Dst: LIB_SYM
      Src: /src/mosquitto/src/plugin_v3.c:145,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v3.c:146,1
    - Dst: LIB_ERROR
      Src: /src/mosquitto/src/plugin_v3.c:148,1
    - Dst: LIB_SYM
      Src: /src/mosquitto/src/plugin_v3.c:152,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v3.c:153,1
    - Dst: LIB_ERROR
      Src: /src/mosquitto/src/plugin_v3.c:155,1
    - Dst: LIB_SYM
      Src: /src/mosquitto/src/plugin_v3.c:159,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v3.c:160,1
    - Dst: LIB_ERROR
      Src: /src/mosquitto/src/plugin_v3.c:162,1
    - Dst: LIB_SYM
      Src: /src/mosquitto/src/plugin_v3.c:166,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v3.c:167,1
    - Dst: LIB_ERROR
      Src: /src/mosquitto/src/plugin_v3.c:169,1
    - Dst: LIB_SYM
      Src: /src/mosquitto/src/plugin_v3.c:173,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v3.c:174,1
    - Dst: LIB_ERROR
      Src: /src/mosquitto/src/plugin_v3.c:176,1
    - Dst: LIB_SYM
      Src: /src/mosquitto/src/plugin_v3.c:180,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v3.c:181,1
    - Dst: LIB_ERROR
      Src: /src/mosquitto/src/plugin_v3.c:183,1
    - Dst: mosquitto_plugin_id_t*::lib::plugin_init_v3
      Src: /src/mosquitto/src/plugin_v3.c:191,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v3.c:193,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/src/plugin_v3.c:199,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/src/plugin_v3.c:202,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/src/plugin_v3.c:205,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/src/plugin_v3.c:208,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 57
    argCount: 2
    argNames:
    - plugin
    - lib
    argTypes:
    - mosquitto_plugin_id_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 212
    functionName: plugin__load_v3
    functionSourceFile: /src/mosquitto/src/plugin_v3.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - log__printf
    - LIB_ERROR
    - mosquitto_plugin_id_t*::lib::plugin_init_v3
    - LIB_SYM
    linkageType: ''
    returnType: int
    signature: int plugin__load_v3(mosquitto_plugin_id_t *plugin, void *lib)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: net__socket_get_address
      Src: /src/mosquitto/src/websockets.c:117,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/websockets.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sock
    - mosq
    argTypes:
    - int
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: easy_address
    functionSourceFile: /src/mosquitto/src/websockets.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - net__socket_get_address
    linkageType: ''
    returnType: void
    signature: void easy_address(int sock, struct mosquitto *mosq)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: context__init
      Src: /src/mosquitto/src/websockets.c:144,1
    - Dst: lws_get_protocol
      Src: /src/mosquitto/src/websockets.c:146,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/websockets.c:149,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/mosquitto/src/websockets.c:157,1
    - Dst: easy_address
      Src: /src/mosquitto/src/websockets.c:166,1
    - Dst: lws_get_socket_fd
      Src: /src/mosquitto/src/websockets.c:166,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/websockets.c:169,1
    - Dst: HASH_CNT
      Src: /src/mosquitto/src/websockets.c:174,1
    - Dst: log__printf
      Src: /src/mosquitto/src/websockets.c:177,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/websockets.c:179,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/websockets.c:180,1
    - Dst: lws_get_socket_fd
      Src: /src/mosquitto/src/websockets.c:184,1
    - Dst: HASH_ADD
      Src: /src/mosquitto/src/websockets.c:185,1
    - Dst: mux__new
      Src: /src/mosquitto/src/websockets.c:186,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/src/websockets.c:196,1
    - Dst: mux__delete
      Src: /src/mosquitto/src/websockets.c:198,1
    - Dst: do_disconnect
      Src: /src/mosquitto/src/websockets.c:204,1
    - Dst: db__message_write_inflight_out_latest
      Src: /src/mosquitto/src/websockets.c:217,1
    - Dst: db__message_write_queued_out
      Src: /src/mosquitto/src/websockets.c:221,1
    - Dst: lws_send_pipe_choked
      Src: /src/mosquitto/src/websockets.c:226,1
    - Dst: lws_write
      Src: /src/mosquitto/src/websockets.c:228,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/src/websockets.c:240,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/src/websockets.c:255,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/src/websockets.c:257,1
    - Dst: packet__get_next_out
      Src: /src/mosquitto/src/websockets.c:261,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/websockets.c:262,1
    - Dst: lws_callback_on_writable
      Src: /src/mosquitto/src/websockets.c:273,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/src/websockets.c:284,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/websockets.c:316,1
    - Dst: memcpy
      Src: /src/mosquitto/src/websockets.c:325,1
    - Dst: memcpy
      Src: /src/mosquitto/src/websockets.c:330,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/src/websockets.c:340,1
    - Dst: handle__packet
      Src: /src/mosquitto/src/websockets.c:342,1
    - Dst: packet__cleanup
      Src: /src/mosquitto/src/websockets.c:345,1
    - Dst: keepalive__update
      Src: /src/mosquitto/src/websockets.c:347,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/src/websockets.c:351,1
    - Dst: lws_callback_on_writable
      Src: /src/mosquitto/src/websockets.c:353,1
    - Dst: do_disconnect
      Src: /src/mosquitto/src/websockets.c:355,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 180
    argCount: 5
    argNames:
    - wsi
    - reason
    - user
    - in
    - len
    argTypes:
    - struct lws*
    - enum lws_callback_reasons
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 366
    functionName: callback_mqtt
    functionSourceFile: /src/mosquitto/src/websockets.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - lws_write
    - lws_get_socket_fd
    - mux__delete
    - HASH_DELETE
    - log__printf
    - keepalive__update
    - context__init
    - metrics__int_inc
    - SSL_get_SSL_CTX
    - handle__packet
    - memcpy
    - do_disconnect
    - HASH_ADD
    - mosquitto_malloc
    - lws_callback_on_writable
    - packet__cleanup
    - lws_get_protocol
    - packet__get_next_out
    - HASH_CNT
    - mux__new
    - db__message_write_inflight_out_latest
    - lws_send_pipe_choked
    - db__message_write_queued_out
    - mosquitto__set_state
    - easy_address
    linkageType: ''
    returnType: int
    signature: "int callback_mqtt(\n\t\tstruct lws *wsi,\n\t\tenum lws_callback_reasons
      reason,\n\t\tvoid *user,\n\t\tvoid *in,\n\t\tsize_t len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/src/websockets.c:377,1
    - Dst: strlen
      Src: /src/mosquitto/src/websockets.c:379,1
    - Dst: strlen
      Src: /src/mosquitto/src/websockets.c:379,1
    - Dst: strlen
      Src: /src/mosquitto/src/websockets.c:381,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/websockets.c:383,1
    - Dst: lws_return_http_status
      Src: /src/mosquitto/src/websockets.c:385,1
    - Dst: snprintf
      Src: /src/mosquitto/src/websockets.c:389,1
    - Dst: snprintf
      Src: /src/mosquitto/src/websockets.c:391,1
    - Dst: _fullpath
      Src: /src/mosquitto/src/websockets.c:397,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/websockets.c:398,1
    - Dst: lws_return_http_status
      Src: /src/mosquitto/src/websockets.c:400,1
    - Dst: realpath
      Src: /src/mosquitto/src/websockets.c:404,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/websockets.c:405,1
    - Dst: lws_return_http_status
      Src: /src/mosquitto/src/websockets.c:408,1
    - Dst: lws_return_http_status
      Src: /src/mosquitto/src/websockets.c:410,1
    - Dst: lws_return_http_status
      Src: /src/mosquitto/src/websockets.c:412,1
    - Dst: lws_return_http_status
      Src: /src/mosquitto/src/websockets.c:414,1
    - Dst: strncmp
      Src: /src/mosquitto/src/websockets.c:419,1
    - Dst: strlen
      Src: /src/mosquitto/src/websockets.c:419,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/src/websockets.c:421,1
    - Dst: lws_return_http_status
      Src: /src/mosquitto/src/websockets.c:422,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 3
    argNames:
    - wsi
    - in
    - http_dir
    argTypes:
    - struct lws*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 427
    functionName: http__canonical_filename
    functionSourceFile: /src/mosquitto/src/websockets.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - strncmp
    - realpath
    - lws_return_http_status
    - snprintf
    - mosquitto_malloc
    - strlen
    - _fullpath
    - SAFE_FREE
    linkageType: ''
    returnType: char
    signature: "char *http__canonical_filename(\n\t\tstruct lws *wsi,\n\t\tconst char
      *in,\n\t\tconst char *http_dir)"
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: lws_context_user
      Src: /src/mosquitto/src/websockets.c:458,1
    - Dst: lws_get_context
      Src: /src/mosquitto/src/websockets.c:458,1
    - Dst: lws_hdr_total_length
      Src: /src/mosquitto/src/websockets.c:470,1
    - Dst: lws_return_http_status
      Src: /src/mosquitto/src/websockets.c:471,1
    - Dst: http__canonical_filename
      Src: /src/mosquitto/src/websockets.c:475,1
    - Dst: fopen
      Src: /src/mosquitto/src/websockets.c:480,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/src/websockets.c:482,1
    - Dst: lws_return_http_status
      Src: /src/mosquitto/src/websockets.c:483,1
    - Dst: fstat
      Src: /src/mosquitto/src/websockets.c:486,1
    - Dst: fileno
      Src: /src/mosquitto/src/websockets.c:486,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/src/websockets.c:487,1
    - Dst: lws_return_http_status
      Src: /src/mosquitto/src/websockets.c:488,1
    - Dst: fclose
      Src: /src/mosquitto/src/websockets.c:489,1
    - Dst: fclose
      Src: /src/mosquitto/src/websockets.c:496,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/src/websockets.c:498,1
    - Dst: snprintf
      Src: /src/mosquitto/src/websockets.c:501,1
    - Dst: lws_write
      Src: /src/mosquitto/src/websockets.c:504,1
    - Dst: lws_return_http_status
      Src: /src/mosquitto/src/websockets.c:508,1
    - Dst: fclose
      Src: /src/mosquitto/src/websockets.c:509,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/src/websockets.c:511,1
    - Dst: log__printf
      Src: /src/mosquitto/src/websockets.c:515,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/src/websockets.c:516,1
    - Dst: snprintf
      Src: /src/mosquitto/src/websockets.c:518,1
    - Dst: lws_write
      Src: /src/mosquitto/src/websockets.c:522,1
    - Dst: fclose
      Src: /src/mosquitto/src/websockets.c:523,1
    - Dst: lws_callback_on_writable
      Src: /src/mosquitto/src/websockets.c:527,1
    - Dst: lws_context_user
      Src: /src/mosquitto/src/websockets.c:544,1
    - Dst: lws_get_context
      Src: /src/mosquitto/src/websockets.c:544,1
    - Dst: lws_hdr_total_length
      Src: /src/mosquitto/src/websockets.c:546,1
    - Dst: lws_hdr_copy
      Src: /src/mosquitto/src/websockets.c:551,1
    - Dst: strcmp
      Src: /src/mosquitto/src/websockets.c:552,1
    - Dst: fread
      Src: /src/mosquitto/src/websockets.c:566,1
    - Dst: fclose
      Src: /src/mosquitto/src/websockets.c:568,1
    - Dst: lws_write
      Src: /src/mosquitto/src/websockets.c:572,1
    - Dst: lws_set_timeout
      Src: /src/mosquitto/src/websockets.c:579,1
    - Dst: fseek
      Src: /src/mosquitto/src/websockets.c:582,1
    - Dst: fclose
      Src: /src/mosquitto/src/websockets.c:583,1
    - Dst: fclose
      Src: /src/mosquitto/src/websockets.c:589,1
    - Dst: lws_send_pipe_choked
      Src: /src/mosquitto/src/websockets.c:593,1
    - Dst: lws_callback_on_writable
      Src: /src/mosquitto/src/websockets.c:594,1
    - Dst: fclose
      Src: /src/mosquitto/src/websockets.c:604,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/websockets.c:610,1
    - Dst: mux__add_out
      Src: /src/mosquitto/src/websockets.c:613,1
    - Dst: mux__remove_out
      Src: /src/mosquitto/src/websockets.c:615,1
    - Dst: listeners__add_websockets
      Src: /src/mosquitto/src/websockets.c:620,1
    - Dst: lws_get_context
      Src: /src/mosquitto/src/websockets.c:620,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/websockets.c:626,1
    - Dst: mux__delete
      Src: /src/mosquitto/src/websockets.c:628,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/websockets.c:633,1
    - Dst: mux__add_out
      Src: /src/mosquitto/src/websockets.c:638,1
    - Dst: mux__remove_out
      Src: /src/mosquitto/src/websockets.c:640,1
    - Dst: SSL_get_verify_result
      Src: /src/mosquitto/src/websockets.c:647,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 167
    argCount: 5
    argNames:
    - wsi
    - reason
    - user
    - in
    - len
    argTypes:
    - struct lws*
    - enum lws_callback_reasons
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 658
    functionName: callback_http
    functionSourceFile: /src/mosquitto/src/websockets.c
    functionUses: 0
    functionsReached:
    - lws_write
    - mux__delete
    - fstat
    - mux__remove_out
    - strcmp
    - log__printf
    - fseek
    - lws_return_http_status
    - lws_set_timeout
    - listeners__add_websockets
    - http__canonical_filename
    - lws_context_user
    - fileno
    - fread
    - mux__add_out
    - lws_callback_on_writable
    - lws_hdr_total_length
    - lws_get_context
    - SSL_get_verify_result
    - SAFE_FREE
    - lws_hdr_copy
    - fclose
    - snprintf
    - lws_send_pipe_choked
    - HASH_FIND
    - fopen
    linkageType: ''
    returnType: int
    signature: "int callback_http(\n\t\tstruct lws *wsi,\n\t\tenum lws_callback_reasons
      reason,\n\t\tvoid *user,\n\t\tvoid *in,\n\t\tsize_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/src/websockets.c:664,1
    - Dst: strlen
      Src: /src/mosquitto/src/websockets.c:665,1
    - Dst: log__printf
      Src: /src/mosquitto/src/websockets.c:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - level
    - line
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 667
    functionName: log_wrap
    functionSourceFile: /src/mosquitto/src/websockets.c
    functionUses: 0
    functionsReached:
    - log__printf
    - strlen
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void log_wrap(int level, const char *line)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/websockets.c:683,1
    - Dst: log__printf
      Src: /src/mosquitto/src/websockets.c:685,1
    - Dst: memset
      Src: /src/mosquitto/src/websockets.c:696,1
    - Dst: log__printf
      Src: /src/mosquitto/src/websockets.c:706,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/websockets.c:729,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/websockets.c:731,1
    - Dst: log__printf
      Src: /src/mosquitto/src/websockets.c:732,1
    - Dst: _fullpath
      Src: /src/mosquitto/src/websockets.c:738,1
    - Dst: realpath
      Src: /src/mosquitto/src/websockets.c:740,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/websockets.c:743,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/websockets.c:744,1
    - Dst: log__printf
      Src: /src/mosquitto/src/websockets.c:745,1
    - Dst: lws_set_log_level
      Src: /src/mosquitto/src/websockets.c:755,1
    - Dst: log__printf
      Src: /src/mosquitto/src/websockets.c:757,1
    - Dst: lws_create_context
      Src: /src/mosquitto/src/websockets.c:759,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 66
    argCount: 2
    argNames:
    - listener
    - conf
    argTypes:
    - struct mosquitto__listener*
    - struct mosquitto__config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 761
    functionName: mosq_websockets_init
    functionSourceFile: /src/mosquitto/src/websockets.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - lws_set_log_level
    - mosquitto_calloc
    - realpath
    - memset
    - lws_create_context
    - log__printf
    - _fullpath
    linkageType: ''
    returnType: void
    signature: void mosq_websockets_init(struct mosquitto__listener *listener, const
      struct mosquitto__config *conf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/mosquitto/src/mosquitto.c:81,1
    - Dst: strtol
      Src: /src/mosquitto/src/mosquitto.c:84,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:86,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:90,1
    - Dst: umask
      Src: /src/mosquitto/src/mosquitto.c:93,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 97
    functionName: set_umask
    functionSourceFile: /src/mosquitto/src/mosquitto.c
    functionUses: 0
    functionsReached:
    - log__printf
    - umask
    - getenv
    - strtol
    linkageType: ''
    returnType: int
    signature: int set_umask(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/mosquitto/src/mosquitto.c:104,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:106,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:110,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - s
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 118
    functionName: check_uid
    functionSourceFile: /src/mosquitto/src/mosquitto.c
    functionUses: 0
    functionsReached:
    - log__printf
    - strtol
    linkageType: ''
    returnType: int
    signature: int check_uid(const char *s, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getpwuid
      Src: /src/mosquitto/src/mosquitto.c:127,1
    - Dst: geteuid
      Src: /src/mosquitto/src/mosquitto.c:127,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:129,1
    - Dst: geteuid
      Src: /src/mosquitto/src/mosquitto.c:129,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: print_pwname
    functionSourceFile: /src/mosquitto/src/mosquitto.c
    functionUses: 0
    functionsReached:
    - log__printf
    - getpwuid
    - geteuid
    linkageType: ''
    returnType: void
    signature: void print_pwname(void)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/mosquitto/src/mosquitto.c:157,1
    - Dst: strcmp
      Src: /src/mosquitto/src/mosquitto.c:158,1
    - Dst: getenv
      Src: /src/mosquitto/src/mosquitto.c:164,1
    - Dst: getenv
      Src: /src/mosquitto/src/mosquitto.c:165,1
    - Dst: geteuid
      Src: /src/mosquitto/src/mosquitto.c:167,1
    - Dst: check_uid
      Src: /src/mosquitto/src/mosquitto.c:170,1
    - Dst: setgid
      Src: /src/mosquitto/src/mosquitto.c:174,1
    - Dst: strerror
      Src: /src/mosquitto/src/mosquitto.c:176,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:177,1
    - Dst: check_uid
      Src: /src/mosquitto/src/mosquitto.c:183,1
    - Dst: setuid
      Src: /src/mosquitto/src/mosquitto.c:187,1
    - Dst: strerror
      Src: /src/mosquitto/src/mosquitto.c:189,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:190,1
    - Dst: strcmp
      Src: /src/mosquitto/src/mosquitto.c:195,1
    - Dst: getpwnam
      Src: /src/mosquitto/src/mosquitto.c:196,1
    - Dst: strcmp
      Src: /src/mosquitto/src/mosquitto.c:198,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:199,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:202,1
    - Dst: getpwnam
      Src: /src/mosquitto/src/mosquitto.c:203,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:205,1
    - Dst: initgroups
      Src: /src/mosquitto/src/mosquitto.c:210,1
    - Dst: strerror
      Src: /src/mosquitto/src/mosquitto.c:211,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:212,1
    - Dst: setgid
      Src: /src/mosquitto/src/mosquitto.c:215,1
    - Dst: strerror
      Src: /src/mosquitto/src/mosquitto.c:217,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:218,1
    - Dst: setuid
      Src: /src/mosquitto/src/mosquitto.c:221,1
    - Dst: strerror
      Src: /src/mosquitto/src/mosquitto.c:223,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:224,1
    - Dst: print_pwname
      Src: /src/mosquitto/src/mosquitto.c:228,1
    - Dst: geteuid
      Src: /src/mosquitto/src/mosquitto.c:229,1
    - Dst: getegid
      Src: /src/mosquitto/src/mosquitto.c:229,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:230,1
    - Dst: print_pwname
      Src: /src/mosquitto/src/mosquitto.c:233,1
    - Dst: UNUSED
      Src: /src/mosquitto/src/mosquitto.c:237,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 79
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct mosquitto__config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 240
    functionName: drop_privileges
    functionSourceFile: /src/mosquitto/src/mosquitto.c
    functionUses: 0
    functionsReached:
    - print_pwname
    - getegid
    - check_uid
    - initgroups
    - geteuid
    - setuid
    - setgid
    - strerror
    - strcmp
    - getpwnam
    - log__printf
    - UNUSED
    - getenv
    linkageType: ''
    returnType: int
    signature: int drop_privileges(struct mosquitto__config *config)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fork
      Src: /src/mosquitto/src/mosquitto.c:249,1
    - Dst: strerror
      Src: /src/mosquitto/src/mosquitto.c:251,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:252,1
    - Dst: exit
      Src: /src/mosquitto/src/mosquitto.c:253,1
    - Dst: exit
      Src: /src/mosquitto/src/mosquitto.c:256,1
    - Dst: setsid
      Src: /src/mosquitto/src/mosquitto.c:258,1
    - Dst: strerror
      Src: /src/mosquitto/src/mosquitto.c:259,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:260,1
    - Dst: exit
      Src: /src/mosquitto/src/mosquitto.c:261,1
    - Dst: freopen
      Src: /src/mosquitto/src/mosquitto.c:264,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:265,1
    - Dst: strerror
      Src: /src/mosquitto/src/mosquitto.c:265,1
    - Dst: exit
      Src: /src/mosquitto/src/mosquitto.c:266,1
    - Dst: freopen
      Src: /src/mosquitto/src/mosquitto.c:268,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:269,1
    - Dst: strerror
      Src: /src/mosquitto/src/mosquitto.c:269,1
    - Dst: exit
      Src: /src/mosquitto/src/mosquitto.c:270,1
    - Dst: freopen
      Src: /src/mosquitto/src/mosquitto.c:272,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:273,1
    - Dst: strerror
      Src: /src/mosquitto/src/mosquitto.c:273,1
    - Dst: exit
      Src: /src/mosquitto/src/mosquitto.c:274,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:277,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 279
    functionName: mosquitto__daemonise
    functionSourceFile: /src/mosquitto/src/mosquitto.c
    functionUses: 0
    functionsReached:
    - setsid
    - fork
    - exit
    - strerror
    - log__printf
    - freopen
    linkageType: ''
    returnType: void
    signature: void mosquitto__daemonise(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_fopen
      Src: /src/mosquitto/src/mosquitto.c:287,1
    - Dst: fprintf
      Src: /src/mosquitto/src/mosquitto.c:289,1
    - Dst: getpid
      Src: /src/mosquitto/src/mosquitto.c:289,1
    - Dst: fclose
      Src: /src/mosquitto/src/mosquitto.c:290,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 297
    functionName: pid__write
    functionSourceFile: /src/mosquitto/src/mosquitto.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fclose
    - mosquitto_fopen
    - log__printf
    - getpid
    linkageType: ''
    returnType: int
    signature: int pid__write(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:303,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:305,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:308,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:310,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:313,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:315,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:318,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:320,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:323,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 327
    functionName: report_features
    functionSourceFile: /src/mosquitto/src/mosquitto.c
    functionUses: 0
    functionsReached:
    - log__printf
    linkageType: ''
    returnType: void
    signature: void report_features(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/mosquitto.c:337,1
    - Dst: context__send_will
      Src: /src/mosquitto/src/mosquitto.c:338,1
    - Dst: will_delay__send_all
      Src: /src/mosquitto/src/mosquitto.c:340,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:344,1
    - Dst: broker_control__cleanup
      Src: /src/mosquitto/src/mosquitto.c:346,1
    - Dst: persist__backup
      Src: /src/mosquitto/src/mosquitto.c:349,1
    - Dst: session_expiry__remove_all
      Src: /src/mosquitto/src/mosquitto.c:351,1
    - Dst: listeners__stop
      Src: /src/mosquitto/src/mosquitto.c:353,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/mosquitto.c:355,1
    - Dst: context__cleanup
      Src: /src/mosquitto/src/mosquitto.c:361,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/mosquitto.c:364,1
    - Dst: context__cleanup
      Src: /src/mosquitto/src/mosquitto.c:366,1
    - Dst: bridge__db_cleanup
      Src: /src/mosquitto/src/mosquitto.c:369,1
    - Dst: context__free_disused
      Src: /src/mosquitto/src/mosquitto.c:371,1
    - Dst: keepalive__cleanup
      Src: /src/mosquitto/src/mosquitto.c:372,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/mosquitto.c:375,1
    - Dst: db__close
      Src: /src/mosquitto/src/mosquitto.c:377,1
    - Dst: plugin__unload_all
      Src: /src/mosquitto/src/mosquitto.c:379,1
    - Dst: mosquitto_security_cleanup
      Src: /src/mosquitto/src/mosquitto.c:380,1
    - Dst: remove
      Src: /src/mosquitto/src/mosquitto.c:383,1
    - Dst: mux__cleanup
      Src: /src/mosquitto/src/mosquitto.c:386,1
    - Dst: log__close
      Src: /src/mosquitto/src/mosquitto.c:388,1
    - Dst: config__cleanup
      Src: /src/mosquitto/src/mosquitto.c:389,1
    - Dst: net__broker_cleanup
      Src: /src/mosquitto/src/mosquitto.c:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 391
    functionName: post_shutdown_cleanup
    functionSourceFile: /src/mosquitto/src/mosquitto.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - config__cleanup
    - context__send_will
    - HASH_ITER
    - log__printf
    - session_expiry__remove_all
    - context__free_disused
    - persist__backup
    - keepalive__cleanup
    - remove
    - listeners__stop
    - net__broker_cleanup
    - bridge__db_cleanup
    - db__close
    - mux__cleanup
    - context__cleanup
    - mosquitto_security_cleanup
    - plugin__unload_all
    - broker_control__cleanup
    - will_delay__send_all
    - log__close
    linkageType: ''
    returnType: void
    signature: void post_shutdown_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_InitHooks
      Src: /src/mosquitto/src/mosquitto.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 398
    functionName: cjson_init
    functionSourceFile: /src/mosquitto/src/mosquitto.c
    functionUses: 0
    functionsReached:
    - cJSON_InitHooks
    linkageType: ''
    returnType: void
    signature: void cjson_init(void)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_time_init
      Src: /src/mosquitto/src/mosquitto.c:413,1
    - Dst: cjson_init
      Src: /src/mosquitto/src/mosquitto.c:414,1
    - Dst: strcmp
      Src: /src/mosquitto/src/mosquitto.c:418,1
    - Dst: service_run
      Src: /src/mosquitto/src/mosquitto.c:419,1
    - Dst: strcmp
      Src: /src/mosquitto/src/mosquitto.c:421,1
    - Dst: service_install
      Src: /src/mosquitto/src/mosquitto.c:422,1
    - Dst: strcmp
      Src: /src/mosquitto/src/mosquitto.c:424,1
    - Dst: service_uninstall
      Src: /src/mosquitto/src/mosquitto.c:425,1
    - Dst: _setmaxstdio
      Src: /src/mosquitto/src/mosquitto.c:433,1
    - Dst: _setmaxstdio
      Src: /src/mosquitto/src/mosquitto.c:435,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:436,1
    - Dst: memset
      Src: /src/mosquitto/src/mosquitto.c:441,1
    - Dst: mosquitto_time
      Src: /src/mosquitto/src/mosquitto.c:442,1
    - Dst: time
      Src: /src/mosquitto/src/mosquitto.c:443,1
    - Dst: mosquitto_broker_node_id_set
      Src: /src/mosquitto/src/mosquitto.c:444,1
    - Dst: net__broker_init
      Src: /src/mosquitto/src/mosquitto.c:446,1
    - Dst: config__init
      Src: /src/mosquitto/src/mosquitto.c:449,1
    - Dst: config__parse_args
      Src: /src/mosquitto/src/mosquitto.c:450,1
    - Dst: post_shutdown_cleanup
      Src: /src/mosquitto/src/mosquitto.c:452,1
    - Dst: post_shutdown_cleanup
      Src: /src/mosquitto/src/mosquitto.c:455,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:461,1
    - Dst: post_shutdown_cleanup
      Src: /src/mosquitto/src/mosquitto.c:462,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:465,1
    - Dst: post_shutdown_cleanup
      Src: /src/mosquitto/src/mosquitto.c:466,1
    - Dst: keepalive__init
      Src: /src/mosquitto/src/mosquitto.c:471,1
    - Dst: post_shutdown_cleanup
      Src: /src/mosquitto/src/mosquitto.c:473,1
    - Dst: drop_privileges
      Src: /src/mosquitto/src/mosquitto.c:481,1
    - Dst: post_shutdown_cleanup
      Src: /src/mosquitto/src/mosquitto.c:483,1
    - Dst: set_umask
      Src: /src/mosquitto/src/mosquitto.c:487,1
    - Dst: post_shutdown_cleanup
      Src: /src/mosquitto/src/mosquitto.c:489,1
    - Dst: mosquitto__daemonise
      Src: /src/mosquitto/src/mosquitto.c:495,1
    - Dst: pid__write
      Src: /src/mosquitto/src/mosquitto.c:498,1
    - Dst: post_shutdown_cleanup
      Src: /src/mosquitto/src/mosquitto.c:500,1
    - Dst: db__open
      Src: /src/mosquitto/src/mosquitto.c:504,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:506,1
    - Dst: post_shutdown_cleanup
      Src: /src/mosquitto/src/mosquitto.c:507,1
    - Dst: log__init
      Src: /src/mosquitto/src/mosquitto.c:513,1
    - Dst: post_shutdown_cleanup
      Src: /src/mosquitto/src/mosquitto.c:515,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:518,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:520,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:522,1
    - Dst: report_features
      Src: /src/mosquitto/src/mosquitto.c:524,1
    - Dst: plugin__load_all
      Src: /src/mosquitto/src/mosquitto.c:526,1
    - Dst: post_shutdown_cleanup
      Src: /src/mosquitto/src/mosquitto.c:528,1
    - Dst: mosquitto_security_init
      Src: /src/mosquitto/src/mosquitto.c:531,1
    - Dst: post_shutdown_cleanup
      Src: /src/mosquitto/src/mosquitto.c:533,1
    - Dst: plugin_persist__handle_restore
      Src: /src/mosquitto/src/mosquitto.c:537,1
    - Dst: session_expiry__check
      Src: /src/mosquitto/src/mosquitto.c:538,1
    - Dst: retain__expire
      Src: /src/mosquitto/src/mosquitto.c:539,1
    - Dst: db__msg_store_compact
      Src: /src/mosquitto/src/mosquitto.c:540,1
    - Dst: sys_tree__init
      Src: /src/mosquitto/src/mosquitto.c:543,1
    - Dst: mux__init
      Src: /src/mosquitto/src/mosquitto.c:546,1
    - Dst: post_shutdown_cleanup
      Src: /src/mosquitto/src/mosquitto.c:548,1
    - Dst: listeners__start
      Src: /src/mosquitto/src/mosquitto.c:552,1
    - Dst: post_shutdown_cleanup
      Src: /src/mosquitto/src/mosquitto.c:554,1
    - Dst: signal__setup
      Src: /src/mosquitto/src/mosquitto.c:558,1
    - Dst: bridge__start_all
      Src: /src/mosquitto/src/mosquitto.c:561,1
    - Dst: broker_control__init
      Src: /src/mosquitto/src/mosquitto.c:564,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mosquitto.c:566,1
    - Dst: sd_notify
      Src: /src/mosquitto/src/mosquitto.c:568,1
    - Dst: mosquitto_main_loop
      Src: /src/mosquitto/src/mosquitto.c:572,1
    - Dst: post_shutdown_cleanup
      Src: /src/mosquitto/src/mosquitto.c:574,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 124
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 407
    functionDepth: 3
    functionLinenumber: 407
    functionLinenumberEnd: 577
    functionName: main
    functionSourceFile: /src/mosquitto/src/mosquitto.c
    functionUses: 95
    functionsReached:
    - post_shutdown_cleanup
    - mosquitto_security_init
    - log__init
    - config__parse_args
    - pid__write
    - cjson_init
    - plugin__load_all
    - drop_privileges
    - db__msg_store_compact
    - strcmp
    - log__printf
    - set_umask
    - retain__expire
    - report_features
    - service_install
    - bridge__start_all
    - _setmaxstdio
    - mosquitto_broker_node_id_set
    - signal__setup
    - sd_notify
    - sys_tree__init
    - time
    - plugin_persist__handle_restore
    - mosquitto_main_loop
    - keepalive__init
    - mux__init
    - session_expiry__check
    - mosquitto__daemonise
    - db__open
    - mosquitto_time_init
    - service_uninstall
    - service_run
    - listeners__start
    - mosquitto_time
    - net__broker_init
    - broker_control__init
    - memset
    - config__init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/src/mosquitto.c:590,1
    - Dst: UNUSED
      Src: /src/mosquitto/src/mosquitto.c:591,1
    - Dst: UNUSED
      Src: /src/mosquitto/src/mosquitto.c:592,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/mosquitto.c:594,1
    - Dst: strtok_r
      Src: /src/mosquitto/src/mosquitto.c:596,1
    - Dst: mosquitto_realloc
      Src: /src/mosquitto/src/mosquitto.c:599,1
    - Dst: fprintf
      Src: /src/mosquitto/src/mosquitto.c:601,1
    - Dst: strtok_r
      Src: /src/mosquitto/src/mosquitto.c:605,1
    - Dst: main
      Src: /src/mosquitto/src/mosquitto.c:607,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/mosquitto.c:608,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - hInstance
    - hPrevInstance
    - lpCmdLine
    - nCmdShow
    argTypes:
    - HINSTANCE
    - HINSTANCE
    - LPSTR
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 610
    functionName: WinMain
    functionSourceFile: /src/mosquitto/src/mosquitto.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - fprintf
    - mosquitto_malloc
    - strtok_r
    - mosquitto_realloc
    - main
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine,
      int nCmdShow)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/plugin_public.c:42,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/plugin_public.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - identifier
    - plugin_name
    - plugin_version
    argTypes:
    - mosquitto_plugin_id_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 50
    functionName: mosquitto_plugin_set_info
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 1
    functionsReached:
    - mosquitto_strdup
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: "BROKER_EXPORT mosquitto_plugin_set_info(mosquitto_plugin_id_t *identifier,\n\t\tconst
      char *plugin_name,\n\t\tconst char *plugin_version)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - client
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: mosquitto_client_address
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT *mosquitto_client_address(const struct mosquitto *client)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/src/plugin_public.c:71,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/plugin_public.c:76,1
    - Dst: strlen
      Src: /src/mosquitto/src/plugin_public.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - clientid
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 79
    functionName: mosquitto_client
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 0
    functionsReached:
    - strlen
    - HASH_FIND
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT *mosquitto_client(const char *clientid)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - client
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: mosquitto_client_port
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_client_port(const struct mosquitto *client)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - client
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: mosquitto_client_clean_session
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_client_clean_session(const struct mosquitto
      *client)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - client
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: mosquitto_client_id
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT *mosquitto_client_id(const struct mosquitto *client)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - client
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: mosquitto_client_id_hashv
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BROKER_EXPORT unsigned
    signature: BROKER_EXPORT unsigned mosquitto_client_id_hashv(const struct mosquitto
      *client)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - client
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: mosquitto_client_keepalive
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_client_keepalive(const struct mosquitto *client)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_peer_certificate
      Src: /src/mosquitto/src/plugin_public.c:136,1
    - Dst: UNUSED
      Src: /src/mosquitto/src/plugin_public.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - client
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 145
    functionName: mosquitto_client_certificate
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 1
    functionsReached:
    - UNUSED
    - SSL_get_peer_certificate
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT *mosquitto_client_certificate(const struct mosquitto
      *client)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/src/plugin_public.c:159,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - client
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 164
    functionName: mosquitto_client_protocol
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_client_protocol(const struct mosquitto *client)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - client
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 183
    functionName: mosquitto_client_protocol_version
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_client_protocol_version(const struct mosquitto
      *client)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - client
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: mosquitto_client_sub_count
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_client_sub_count(const struct mosquitto *client)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - client
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 210
    functionName: mosquitto_client_username
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT *mosquitto_client_username(const struct mosquitto *client)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/plugin_public.c:232,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/plugin_public.c:240,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/plugin_public.c:242,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/plugin_public.c:248,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/plugin_public.c:250,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/plugin_public.c:251,1
    - Dst: DL_APPEND
      Src: /src/mosquitto/src/plugin_public.c:260,1
    - Dst: loop__update_next_event
      Src: /src/mosquitto/src/plugin_public.c:262,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 7
    argNames:
    - clientid
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    - properties
    argTypes:
    - char*
    - char*
    - int
    - void*
    - int
    - bool
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 264
    functionName: mosquitto_broker_publish
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - DL_APPEND
    - mosquitto_FREE
    - mosquitto_malloc
    - loop__update_next_event
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: "BROKER_EXPORT mosquitto_broker_publish(\n\t\tconst char *clientid,\n\t\tconst
      char *topic,\n\t\tint payloadlen,\n\t\tvoid *payload,\n\t\tint qos,\n\t\tbool
      retain,\n\t\tmosquitto_property *properties)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/plugin_public.c:287,1
    - Dst: memcpy
      Src: /src/mosquitto/src/plugin_public.c:291,1
    - Dst: mosquitto_broker_publish
      Src: /src/mosquitto/src/plugin_public.c:293,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/plugin_public.c:303,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 7
    argNames:
    - clientid
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    - properties
    argTypes:
    - char*
    - char*
    - int
    - void*
    - int
    - bool
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 306
    functionName: mosquitto_broker_publish_copy
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 6
    functionsReached:
    - memcpy
    - mosquitto_broker_publish
    - mosquitto_FREE
    - mosquitto_calloc
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: "BROKER_EXPORT mosquitto_broker_publish_copy(\n\t\tconst char *clientid,\n\t\tconst
      char *topic,\n\t\tint payloadlen,\n\t\tconst void *payload,\n\t\tint qos,\n\t\tbool
      retain,\n\t\tmosquitto_property *properties)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/src/plugin_public.c:319,1
    - Dst: strlen
      Src: /src/mosquitto/src/plugin_public.c:319,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/plugin_public.c:322,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/plugin_public.c:333,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - client
    - username
    argTypes:
    - struct mosquitto*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 335
    functionName: mosquitto_set_username
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 2
    functionsReached:
    - mosquitto_strdup
    - strlen
    - mosquitto_FREE
    - mosquitto_validate_utf8
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_set_username(struct mosquitto *client, const
      char *username)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/plugin_public.c:360,1
    - Dst: strlen
      Src: /src/mosquitto/src/plugin_public.c:360,1
    - Dst: strlen
      Src: /src/mosquitto/src/plugin_public.c:366,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/src/plugin_public.c:367,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/plugin_public.c:371,1
    - Dst: context__remove_from_by_id
      Src: /src/mosquitto/src/plugin_public.c:377,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/src/plugin_public.c:379,1
    - Dst: context__add_to_by_id
      Src: /src/mosquitto/src/plugin_public.c:382,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - client
    - clientid
    argTypes:
    - struct mosquitto*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 386
    functionName: mosquitto_set_clientid
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 2
    functionsReached:
    - mosquitto_strdup
    - context__add_to_by_id
    - strlen
    - mosquitto_free
    - mosquitto_validate_utf8
    - HASH_FIND
    - context__remove_from_by_id
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_set_clientid(struct mosquitto *client, const
      char *clientid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_acl_check
      Src: /src/mosquitto/src/plugin_public.c:399,1
    - Dst: sub__remove
      Src: /src/mosquitto/src/plugin_public.c:408,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 411
    functionName: check_subscription_acls
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 0
    functionsReached:
    - sub__remove
    - mosquitto_acl_check
    linkageType: ''
    returnType: void
    signature: void check_subscription_acls(struct mosquitto *context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: send__disconnect
      Src: /src/mosquitto/src/plugin_public.c:417,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/src/plugin_public.c:420,1
    - Dst: check_subscription_acls
      Src: /src/mosquitto/src/plugin_public.c:423,1
    - Dst: do_disconnect
      Src: /src/mosquitto/src/plugin_public.c:425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - context
    - with_will
    argTypes:
    - struct mosquitto*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 426
    functionName: disconnect_client
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 0
    functionsReached:
    - mosquitto__set_state
    - do_disconnect
    - check_subscription_acls
    - send__disconnect
    linkageType: ''
    returnType: void
    signature: void disconnect_client(struct mosquitto *context, bool with_will)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/plugin_public.c:434,1
    - Dst: disconnect_client
      Src: /src/mosquitto/src/plugin_public.c:435,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/plugin_public.c:439,1
    - Dst: strlen
      Src: /src/mosquitto/src/plugin_public.c:439,1
    - Dst: disconnect_client
      Src: /src/mosquitto/src/plugin_public.c:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - clientid
    - with_will
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 429
    functionDepth: 3
    functionLinenumber: 429
    functionLinenumberEnd: 447
    functionName: mosquitto_kick_client_by_clientid
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 1
    functionsReached:
    - strlen
    - disconnect_client
    - HASH_FIND
    - HASH_ITER
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_kick_client_by_clientid(const char *clientid,
      bool with_will)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/plugin_public.c:455,1
    - Dst: disconnect_client
      Src: /src/mosquitto/src/plugin_public.c:457,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/plugin_public.c:461,1
    - Dst: strcmp
      Src: /src/mosquitto/src/plugin_public.c:462,1
    - Dst: disconnect_client
      Src: /src/mosquitto/src/plugin_public.c:463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - username
    - with_will
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 450
    functionDepth: 3
    functionLinenumber: 450
    functionLinenumberEnd: 468
    functionName: mosquitto_kick_client_by_username
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 0
    functionsReached:
    - disconnect_client
    - strcmp
    - HASH_ITER
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_kick_client_by_username(const char *username,
      bool with_will)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/plugin_public.c:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - functor_context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 484
    functionName: mosquitto_apply_on_all_clients
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 0
    functionsReached:
    - HASH_ITER
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_apply_on_all_clients(int (*FUNC_client_functor)(const
      struct mosquitto *, void *), void *functor_context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/plugin_public.c:501,1
    - Dst: strlen
      Src: /src/mosquitto/src/plugin_public.c:501,1
    - Dst: context__init
      Src: /src/mosquitto/src/plugin_public.c:507,1
    - Dst: context__add_to_by_id
      Src: /src/mosquitto/src/plugin_public.c:540,1
    - Dst: session_expiry__add_from_persistence
      Src: /src/mosquitto/src/plugin_public.c:541,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/src/plugin_public.c:545,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/src/plugin_public.c:546,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/src/plugin_public.c:547,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 1
    argNames:
    - client
    argTypes:
    - struct mosquitto_client*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 549
    functionName: mosquitto_persist_client_add
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 0
    functionsReached:
    - context__init
    - context__add_to_by_id
    - strlen
    - session_expiry__add_from_persistence
    - HASH_FIND
    - SAFE_FREE
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_persist_client_add(struct mosquitto_client
      *client)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/plugin_public.c:566,1
    - Dst: strlen
      Src: /src/mosquitto/src/plugin_public.c:566,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/src/plugin_public.c:572,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/src/plugin_public.c:597,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - client
    argTypes:
    - struct mosquitto_client*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 599
    functionName: mosquitto_persist_client_update
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 0
    functionsReached:
    - SAFE_FREE
    - strlen
    - mosquitto_free
    - HASH_FIND
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_persist_client_update(struct mosquitto_client
      *client)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/plugin_public.c:611,1
    - Dst: strlen
      Src: /src/mosquitto/src/plugin_public.c:611,1
    - Dst: session_expiry__remove
      Src: /src/mosquitto/src/plugin_public.c:616,1
    - Dst: will_delay__remove
      Src: /src/mosquitto/src/plugin_public.c:617,1
    - Dst: will__clear
      Src: /src/mosquitto/src/plugin_public.c:618,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/src/plugin_public.c:623,1
    - Dst: do_disconnect
      Src: /src/mosquitto/src/plugin_public.c:624,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - clientid
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 627
    functionName: mosquitto_persist_client_delete
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 0
    functionsReached:
    - do_disconnect
    - mosquitto__set_state
    - strlen
    - HASH_FIND
    - session_expiry__remove
    - will_delay__remove
    - will__clear
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_persist_client_delete(const char *clientid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/plugin_public.c:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - store_id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 636
    functionName: find_store_msg
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 0
    functionsReached:
    - HASH_FIND
    linkageType: ''
    returnType: struct mosquitto__base_msg
    signature: struct mosquitto__base_msg *find_store_msg(uint64_t store_id)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/plugin_public.c:648,1
    - Dst: strlen
      Src: /src/mosquitto/src/plugin_public.c:648,1
    - Dst: find_store_msg
      Src: /src/mosquitto/src/plugin_public.c:652,1
    - Dst: db__message_insert_outgoing
      Src: /src/mosquitto/src/plugin_public.c:661,1
    - Dst: db__message_insert_incoming
      Src: /src/mosquitto/src/plugin_public.c:665,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - client_msg
    argTypes:
    - struct mosquitto_client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 639
    functionDepth: 2
    functionLinenumber: 639
    functionLinenumberEnd: 670
    functionName: mosquitto_persist_client_msg_add
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 0
    functionsReached:
    - db__message_insert_incoming
    - strlen
    - db__message_insert_outgoing
    - HASH_FIND
    - find_store_msg
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_persist_client_msg_add(struct mosquitto_client_msg
      *client_msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/plugin_public.c:681,1
    - Dst: strlen
      Src: /src/mosquitto/src/plugin_public.c:681,1
    - Dst: db__message_delete_outgoing
      Src: /src/mosquitto/src/plugin_public.c:689,1
    - Dst: db__message_remove_incoming
      Src: /src/mosquitto/src/plugin_public.c:691,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - client_msg
    argTypes:
    - struct mosquitto_client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 694
    functionName: mosquitto_persist_client_msg_delete
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 0
    functionsReached:
    - db__message_remove_incoming
    - strlen
    - db__message_delete_outgoing
    - HASH_FIND
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_persist_client_msg_delete(struct mosquitto_client_msg
      *client_msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/plugin_public.c:705,1
    - Dst: strlen
      Src: /src/mosquitto/src/plugin_public.c:705,1
    - Dst: db__message_update_outgoing
      Src: /src/mosquitto/src/plugin_public.c:711,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - client_msg
    argTypes:
    - struct mosquitto_client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 718
    functionName: mosquitto_persist_client_msg_update
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 0
    functionsReached:
    - strlen
    - db__message_update_outgoing
    - HASH_FIND
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_persist_client_msg_update(struct mosquitto_client_msg
      *client_msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/plugin_public.c:729,1
    - Dst: strlen
      Src: /src/mosquitto/src/plugin_public.c:729,1
    - Dst: db__messages_delete_incoming
      Src: /src/mosquitto/src/plugin_public.c:735,1
    - Dst: db__messages_delete_outgoing
      Src: /src/mosquitto/src/plugin_public.c:737,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - client_msg
    argTypes:
    - struct mosquitto_client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 740
    functionName: mosquitto_persist_client_msg_clear
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 0
    functionsReached:
    - db__messages_delete_outgoing
    - strlen
    - HASH_FIND
    - db__messages_delete_incoming
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_persist_client_msg_clear(struct mosquitto_client_msg
      *client_msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/plugin_public.c:751,1
    - Dst: strlen
      Src: /src/mosquitto/src/plugin_public.c:751,1
    - Dst: sub__add
      Src: /src/mosquitto/src/plugin_public.c:754,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - sub
    argTypes:
    - struct mosquitto_subscription*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 758
    functionName: mosquitto_subscription_add
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 0
    functionsReached:
    - strlen
    - HASH_FIND
    - sub__add
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_subscription_add(const struct mosquitto_subscription
      *sub)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/plugin_public.c:770,1
    - Dst: strlen
      Src: /src/mosquitto/src/plugin_public.c:770,1
    - Dst: sub__remove
      Src: /src/mosquitto/src/plugin_public.c:773,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - clientid
    - topic
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 777
    functionName: mosquitto_subscription_delete
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 0
    functionsReached:
    - sub__remove
    - strlen
    - HASH_FIND
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_subscription_delete(const char *clientid, const
      char *topic)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/plugin_public.c:786,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/plugin_public.c:797,1
    - Dst: db__message_store
      Src: /src/mosquitto/src/plugin_public.c:825,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/plugin_public.c:829,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/src/plugin_public.c:830,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/src/plugin_public.c:831,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/src/plugin_public.c:832,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 1
    argNames:
    - msg_add
    argTypes:
    - struct mosquitto_base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 835
    functionName: mosquitto_persist_base_msg_add
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 0
    functionsReached:
    - mosquitto_calloc
    - mosquitto_free
    - memset
    - db__message_store
    - mosquitto_property_free_all
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_persist_base_msg_add(struct mosquitto_base_msg
      *msg_add)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find_store_msg
      Src: /src/mosquitto/src/plugin_public.c:842,1
    - Dst: db__msg_store_remove
      Src: /src/mosquitto/src/plugin_public.c:852,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - store_id
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 838
    functionDepth: 2
    functionLinenumber: 838
    functionLinenumberEnd: 856
    functionName: mosquitto_persist_base_msg_delete
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 0
    functionsReached:
    - db__msg_store_remove
    - find_store_msg
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_persist_base_msg_delete(uint64_t store_id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/plugin_public.c:867,1
    - Dst: strlen
      Src: /src/mosquitto/src/plugin_public.c:867,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/src/plugin_public.c:869,1
    - Dst: connect__on_authorised
      Src: /src/mosquitto/src/plugin_public.c:871,1
    - Dst: send__connack
      Src: /src/mosquitto/src/plugin_public.c:874,1
    - Dst: send__connack
      Src: /src/mosquitto/src/plugin_public.c:876,1
    - Dst: will__clear
      Src: /src/mosquitto/src/plugin_public.c:880,1
    - Dst: do_disconnect
      Src: /src/mosquitto/src/plugin_public.c:881,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - clientid
    - result
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 884
    functionName: mosquitto_complete_basic_auth
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 1
    functionsReached:
    - do_disconnect
    - send__connack
    - strlen
    - HASH_FIND
    - HASH_DELETE
    - connect__on_authorised
    - will__clear
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_complete_basic_auth(const char *clientid, int
      result)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 896
    functionName: mosquitto_broker_node_id_set
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_broker_node_id_set(uint16_t id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 902
    functionName: mosquitto_persistence_location
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT *mosquitto_persistence_location(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_client
      Src: /src/mosquitto/src/plugin_public.c:907,1
    - Dst: net__is_connected
      Src: /src/mosquitto/src/plugin_public.c:912,1
    - Dst: will__set
      Src: /src/mosquitto/src/plugin_public.c:917,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 7
    argNames:
    - clientid
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    - properties
    argTypes:
    - char*
    - char*
    - int
    - void*
    - int
    - bool
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 905
    functionDepth: 2
    functionLinenumber: 905
    functionLinenumberEnd: 918
    functionName: mosquitto_client_will_set
    functionSourceFile: /src/mosquitto/src/plugin_public.c
    functionUses: 0
    functionsReached:
    - will__set
    - net__is_connected
    - mosquitto_client
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_client_will_set(const char *clientid, const
      char *topic, int payloadlen, const void *payload, int qos, bool retain, mosquitto_property
      *properties)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: packet__read_byte
      Src: /src/mosquitto/src/handle_auth.c:56,1
    - Dst: send__disconnect
      Src: /src/mosquitto/src/handle_auth.c:62,1
    - Dst: send__disconnect
      Src: /src/mosquitto/src/handle_auth.c:70,1
    - Dst: property__read_all
      Src: /src/mosquitto/src/handle_auth.c:74,1
    - Dst: send__disconnect
      Src: /src/mosquitto/src/handle_auth.c:76,1
    - Dst: mosquitto_property_read_string
      Src: /src/mosquitto/src/handle_auth.c:81,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/handle_auth.c:82,1
    - Dst: send__disconnect
      Src: /src/mosquitto/src/handle_auth.c:83,1
    - Dst: strcmp
      Src: /src/mosquitto/src/handle_auth.c:87,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_auth.c:89,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/handle_auth.c:90,1
    - Dst: send__disconnect
      Src: /src/mosquitto/src/handle_auth.c:91,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_auth.c:94,1
    - Dst: mosquitto_property_read_binary
      Src: /src/mosquitto/src/handle_auth.c:96,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/handle_auth.c:98,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_auth.c:101,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/src/handle_auth.c:106,1
    - Dst: mosquitto_security_auth_start
      Src: /src/mosquitto/src/handle_auth.c:107,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/src/handle_auth.c:110,1
    - Dst: mosquitto_security_auth_continue
      Src: /src/mosquitto/src/handle_auth.c:112,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_auth.c:114,1
    - Dst: connect__on_authorised
      Src: /src/mosquitto/src/handle_auth.c:117,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/src/handle_auth.c:119,1
    - Dst: send__auth
      Src: /src/mosquitto/src/handle_auth.c:120,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/src/handle_auth.c:121,1
    - Dst: send__auth
      Src: /src/mosquitto/src/handle_auth.c:125,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/src/handle_auth.c:126,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/src/handle_auth.c:129,1
    - Dst: will__clear
      Src: /src/mosquitto/src/handle_auth.c:132,1
    - Dst: send__connack
      Src: /src/mosquitto/src/handle_auth.c:136,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_auth.c:137,1
    - Dst: send__disconnect
      Src: /src/mosquitto/src/handle_auth.c:139,1
    - Dst: send__connack
      Src: /src/mosquitto/src/handle_auth.c:145,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_auth.c:146,1
    - Dst: send__disconnect
      Src: /src/mosquitto/src/handle_auth.c:148,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_auth.c:153,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 96
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 158
    functionName: handle__auth
    functionSourceFile: /src/mosquitto/src/handle_auth.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - log__printf
    - property__read_all
    - mosquitto_property_read_binary
    - mosquitto_security_auth_continue
    - send__connack
    - mosquitto__set_state
    - mosquitto_security_auth_start
    - send__auth
    - send__disconnect
    - packet__read_byte
    - strcmp
    - connect__on_authorised
    - will__clear
    - mosquitto_property_free_all
    - SAFE_FREE
    - mosquitto_property_read_string
    linkageType: ''
    returnType: int
    signature: int handle__auth(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i1
    - i2
    argTypes:
    - struct will_delay_list*
    - struct will_delay_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: will_delay__cmp
    functionSourceFile: /src/mosquitto/src/will_delay.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int will_delay__cmp(struct will_delay_list *i1, struct will_delay_list
      *i2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/will_delay.c:45,1
    - Dst: DL_INSERT_INORDER
      Src: /src/mosquitto/src/will_delay.c:54,1
    - Dst: loop__update_next_event
      Src: /src/mosquitto/src/will_delay.c:56,1
    - Dst: plugin_persist__handle_client_update
      Src: /src/mosquitto/src/will_delay.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 60
    functionName: will_delay__add
    functionSourceFile: /src/mosquitto/src/will_delay.c
    functionUses: 0
    functionsReached:
    - DL_INSERT_INORDER
    - loop__update_next_event
    - plugin_persist__handle_client_update
    - mosquitto_calloc
    linkageType: ''
    returnType: int
    signature: int will_delay__add(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DL_DELETE
      Src: /src/mosquitto/src/will_delay.c:69,1
    - Dst: context__send_will
      Src: /src/mosquitto/src/will_delay.c:72,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/will_delay.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: will_delay__send_all
    functionSourceFile: /src/mosquitto/src/will_delay.c
    functionUses: 1
    functionsReached:
    - context__send_will
    - DL_DELETE
    - mosquitto_FREE
    linkageType: ''
    returnType: void
    signature: void will_delay__send_all(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DL_DELETE
      Src: /src/mosquitto/src/will_delay.c:69,1
    - Dst: context__send_will
      Src: /src/mosquitto/src/will_delay.c:72,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/will_delay.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: DL_FOREACH_SAFE
    functionSourceFile: /src/mosquitto/src/will_delay.c
    functionUses: 1
    functionsReached:
    - context__send_will
    - DL_DELETE
    - mosquitto_FREE
    linkageType: ''
    returnType: void
    signature: void DL_FOREACH_SAFE(delay_list, item, tmp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: loop__update_next_event
      Src: /src/mosquitto/src/will_delay.c:84,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/src/will_delay.c:93,1
    - Dst: context__send_will
      Src: /src/mosquitto/src/will_delay.c:96,1
    - Dst: context__add_to_disused
      Src: /src/mosquitto/src/will_delay.c:98,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/will_delay.c:100,1
    - Dst: loop__update_next_event
      Src: /src/mosquitto/src/will_delay.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 106
    functionName: will_delay__check
    functionSourceFile: /src/mosquitto/src/will_delay.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - context__send_will
    - loop__update_next_event
    - DL_DELETE
    - context__add_to_disused
    linkageType: ''
    returnType: void
    signature: void will_delay__check(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DL_DELETE
      Src: /src/mosquitto/src/will_delay.c:93,1
    - Dst: context__send_will
      Src: /src/mosquitto/src/will_delay.c:96,1
    - Dst: context__add_to_disused
      Src: /src/mosquitto/src/will_delay.c:98,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/will_delay.c:100,1
    - Dst: loop__update_next_event
      Src: /src/mosquitto/src/will_delay.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 105
    functionName: DL_FOREACH_SAFE
    functionSourceFile: /src/mosquitto/src/will_delay.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - context__send_will
    - DL_DELETE
    - loop__update_next_event
    - context__add_to_disused
    linkageType: ''
    returnType: void
    signature: void DL_FOREACH_SAFE(delay_list, item, tmp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DL_DELETE
      Src: /src/mosquitto/src/will_delay.c:112,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/will_delay.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: will_delay__remove
    functionSourceFile: /src/mosquitto/src/will_delay.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - DL_DELETE
    linkageType: ''
    returnType: void
    signature: void will_delay__remove(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/proxy_v1.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: proxy_cleanup
    functionSourceFile: /src/mosquitto/src/proxy_v1.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    linkageType: ''
    returnType: void
    signature: void proxy_cleanup(struct mosquitto *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: http__context_init
      Src: /src/mosquitto/src/proxy_v1.c:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 38
    functionName: update_transport
    functionSourceFile: /src/mosquitto/src/proxy_v1.c
    functionUses: 0
    functionsReached:
    - http__context_init
    linkageType: ''
    returnType: int
    signature: int update_transport(struct mosquitto *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: proxy_cleanup
      Src: /src/mosquitto/src/proxy_v1.c:45,1
    - Dst: net__socket_get_address
      Src: /src/mosquitto/src/proxy_v1.c:47,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/proxy_v1.c:48,1
    - Dst: update_transport
      Src: /src/mosquitto/src/proxy_v1.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: get_address_for_unknown
    functionSourceFile: /src/mosquitto/src/proxy_v1.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - net__socket_get_address
    - proxy_cleanup
    - update_transport
    linkageType: ''
    returnType: int
    signature: int get_address_for_unknown(struct mosquitto *context)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/mosquitto/src/proxy_v1.c:64,1
    - Dst: get_address_for_unknown
      Src: /src/mosquitto/src/proxy_v1.c:65,1
    - Dst: memcmp
      Src: /src/mosquitto/src/proxy_v1.c:66,1
    - Dst: memcmp
      Src: /src/mosquitto/src/proxy_v1.c:68,1
    - Dst: log__printf
      Src: /src/mosquitto/src/proxy_v1.c:71,1
    - Dst: proxy_cleanup
      Src: /src/mosquitto/src/proxy_v1.c:72,1
    - Dst: strtok_r
      Src: /src/mosquitto/src/proxy_v1.c:78,1
    - Dst: strtok_r
      Src: /src/mosquitto/src/proxy_v1.c:79,1
    - Dst: strtok_r
      Src: /src/mosquitto/src/proxy_v1.c:80,1
    - Dst: strtok_r
      Src: /src/mosquitto/src/proxy_v1.c:81,1
    - Dst: strlen
      Src: /src/mosquitto/src/proxy_v1.c:84,1
    - Dst: log__printf
      Src: /src/mosquitto/src/proxy_v1.c:85,1
    - Dst: proxy_cleanup
      Src: /src/mosquitto/src/proxy_v1.c:86,1
    - Dst: atoi
      Src: /src/mosquitto/src/proxy_v1.c:91,1
    - Dst: atoi
      Src: /src/mosquitto/src/proxy_v1.c:92,1
    - Dst: log__printf
      Src: /src/mosquitto/src/proxy_v1.c:94,1
    - Dst: proxy_cleanup
      Src: /src/mosquitto/src/proxy_v1.c:95,1
    - Dst: inet_pton
      Src: /src/mosquitto/src/proxy_v1.c:101,1
    - Dst: inet_pton
      Src: /src/mosquitto/src/proxy_v1.c:102,1
    - Dst: log__printf
      Src: /src/mosquitto/src/proxy_v1.c:104,1
    - Dst: proxy_cleanup
      Src: /src/mosquitto/src/proxy_v1.c:105,1
    - Dst: inet_pton
      Src: /src/mosquitto/src/proxy_v1.c:109,1
    - Dst: inet_pton
      Src: /src/mosquitto/src/proxy_v1.c:110,1
    - Dst: log__printf
      Src: /src/mosquitto/src/proxy_v1.c:112,1
    - Dst: proxy_cleanup
      Src: /src/mosquitto/src/proxy_v1.c:113,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/proxy_v1.c:118,1
    - Dst: proxy_cleanup
      Src: /src/mosquitto/src/proxy_v1.c:120,1
    - Dst: proxy_cleanup
      Src: /src/mosquitto/src/proxy_v1.c:124,1
    - Dst: update_transport
      Src: /src/mosquitto/src/proxy_v1.c:125,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 54
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 126
    functionName: proxy_v1__decode
    functionSourceFile: /src/mosquitto/src/proxy_v1.c
    functionUses: 0
    functionsReached:
    - inet_pton
    - mosquitto_strdup
    - get_address_for_unknown
    - atoi
    - strlen
    - strtok_r
    - log__printf
    - memcmp
    - proxy_cleanup
    - update_transport
    linkageType: ''
    returnType: int
    signature: int proxy_v1__decode(struct mosquitto *context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/proxy_v1.c:132,1
    - Dst: net__read
      Src: /src/mosquitto/src/proxy_v1.c:140,1
    - Dst: proxy_cleanup
      Src: /src/mosquitto/src/proxy_v1.c:141,1
    - Dst: proxy_v1__decode
      Src: /src/mosquitto/src/proxy_v1.c:150,1
    - Dst: log__printf
      Src: /src/mosquitto/src/proxy_v1.c:155,1
    - Dst: proxy_cleanup
      Src: /src/mosquitto/src/proxy_v1.c:156,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 129
    functionDepth: 4
    functionLinenumber: 129
    functionLinenumberEnd: 161
    functionName: proxy_v1__read
    functionSourceFile: /src/mosquitto/src/proxy_v1.c
    functionUses: 0
    functionsReached:
    - net__read
    - mosquitto_calloc
    - proxy_v1__decode
    - log__printf
    - proxy_cleanup
    linkageType: ''
    returnType: int
    signature: int proxy_v1__read(struct mosquitto *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_psk_key.c:38,1
    - Dst: memset
      Src: /src/mosquitto/src/plugin_psk_key.c:39,1
    - Dst: struct mosquitto__callback*::cb
      Src: /src/mosquitto/src/plugin_psk_key.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 6
    argNames:
    - opts
    - context
    - hint
    - identity
    - key
    - max_key_len
    argTypes:
    - struct mosquitto__security_options*
    - struct mosquitto*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 55
    functionName: plugin__psk_key_get
    functionSourceFile: /src/mosquitto/src/plugin_psk_key.c
    functionUses: 0
    functionsReached:
    - struct mosquitto__callback*::cb
    - DL_FOREACH_SAFE
    - memset
    linkageType: ''
    returnType: int
    signature: int plugin__psk_key_get(struct mosquitto__security_options *opts, struct
      mosquitto *context, const char *hint, const char *identity, char *key, int max_key_len)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: plugin__psk_key_get
      Src: /src/mosquitto/src/plugin_psk_key.c:65,1
    - Dst: plugin__psk_key_get
      Src: /src/mosquitto/src/plugin_psk_key.c:83,1
    - Dst: mosquitto_psk_key_get_default
      Src: /src/mosquitto/src/plugin_psk_key.c:96,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 5
    argNames:
    - context
    - hint
    - identity
    - key
    - max_key_len
    argTypes:
    - struct mosquitto*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 112
    functionName: mosquitto_psk_key_get
    functionSourceFile: /src/mosquitto/src/plugin_psk_key.c
    functionUses: 0
    functionsReached:
    - mosquitto_psk_key_get_default
    - plugin__psk_key_get
    linkageType: ''
    returnType: int
    signature: int mosquitto_psk_key_get(struct mosquitto *context, const char *hint,
      const char *identity, char *key, int max_key_len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/plugin_message.c:37,1
    - Dst: struct mosquitto__callback*::cb
      Src: /src/mosquitto/src/plugin_message.c:47,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/plugin_message.c:54,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/plugin_message.c:62,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/plugin_message.c:71,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 5
    argNames:
    - callbacks
    - ev_type
    - to_free
    - context
    - stored
    argTypes:
    - struct mosquitto__callback*
    - enum mosquitto_plugin_event
    - struct should_free*
    - struct mosquitto*
    - struct mosquitto_base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 84
    functionName: plugin__handle_message_single
    functionSourceFile: /src/mosquitto/src/plugin_message.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - struct mosquitto__callback*::cb
    - mosquitto_property_free_all
    - memset
    linkageType: ''
    returnType: int
    signature: int plugin__handle_message_single(struct mosquitto__callback *callbacks,
      enum mosquitto_plugin_event ev_type, struct should_free *to_free, struct mosquitto
      *context, struct mosquitto_base_msg *stored)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cb
      Src: /src/mosquitto/src/plugin_message.c:47,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/plugin_message.c:54,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/plugin_message.c:62,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/plugin_message.c:71,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 76
    functionName: DL_FOREACH_SAFE
    functionSourceFile: /src/mosquitto/src/plugin_message.c
    functionUses: 2
    functionsReached:
    - mosquitto_FREE
    - mosquitto_property_free_all
    - cb
    linkageType: ''
    returnType: void
    signature: void DL_FOREACH_SAFE(callbacks, cb_base, cb_next)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: plugin__handle_message_single
      Src: /src/mosquitto/src/plugin_message.c:93,1
    - Dst: plugin__handle_message_single
      Src: /src/mosquitto/src/plugin_message.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - context
    - stored
    argTypes:
    - struct mosquitto*
    - struct mosquitto_base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 105
    functionName: plugin__handle_message_out
    functionSourceFile: /src/mosquitto/src/plugin_message.c
    functionUses: 0
    functionsReached:
    - plugin__handle_message_single
    linkageType: ''
    returnType: int
    signature: int plugin__handle_message_out(struct mosquitto *context, struct mosquitto_base_msg
      *stored)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: plugin__handle_message_single
      Src: /src/mosquitto/src/plugin_message.c:114,1
    - Dst: plugin__handle_message_single
      Src: /src/mosquitto/src/plugin_message.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - context
    - stored
    argTypes:
    - struct mosquitto*
    - struct mosquitto_base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 126
    functionName: plugin__handle_message_in
    functionSourceFile: /src/mosquitto/src/plugin_message.c
    functionUses: 0
    functionsReached:
    - plugin__handle_message_single
    linkageType: ''
    returnType: int
    signature: int plugin__handle_message_in(struct mosquitto *context, struct mosquitto_base_msg
      *stored)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/src/signals.c:47,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - signal
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 71
    functionName: handle_signal
    functionSourceFile: /src/mosquitto/src/signals.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void handle_signal(int signal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/mosquitto/src/signals.c:76,1
    - Dst: signal
      Src: /src/mosquitto/src/signals.c:77,1
    - Dst: signal
      Src: /src/mosquitto/src/signals.c:79,1
    - Dst: signal
      Src: /src/mosquitto/src/signals.c:82,1
    - Dst: signal
      Src: /src/mosquitto/src/signals.c:83,1
    - Dst: signal
      Src: /src/mosquitto/src/signals.c:84,1
    - Dst: signal
      Src: /src/mosquitto/src/signals.c:87,1
    - Dst: CreateThread
      Src: /src/mosquitto/src/signals.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 92
    functionName: signal__setup
    functionSourceFile: /src/mosquitto/src/signals.c
    functionUses: 1
    functionsReached:
    - signal
    - CreateThread
    linkageType: ''
    returnType: void
    signature: void signal__setup(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: persist__backup
      Src: /src/mosquitto/src/signals.c:99,1
    - Dst: log__close
      Src: /src/mosquitto/src/signals.c:104,1
    - Dst: log__init
      Src: /src/mosquitto/src/signals.c:105,1
    - Dst: log__printf
      Src: /src/mosquitto/src/signals.c:110,1
    - Dst: config__read
      Src: /src/mosquitto/src/signals.c:111,1
    - Dst: listeners__reload_all_certificates
      Src: /src/mosquitto/src/signals.c:112,1
    - Dst: plugin__handle_reload
      Src: /src/mosquitto/src/signals.c:113,1
    - Dst: mosquitto_security_cleanup
      Src: /src/mosquitto/src/signals.c:117,1
    - Dst: mosquitto_security_init
      Src: /src/mosquitto/src/signals.c:118,1
    - Dst: mosquitto_security_apply_default
      Src: /src/mosquitto/src/signals.c:122,1
    - Dst: log__close
      Src: /src/mosquitto/src/signals.c:126,1
    - Dst: log__init
      Src: /src/mosquitto/src/signals.c:127,1
    - Dst: keepalive__cleanup
      Src: /src/mosquitto/src/signals.c:128,1
    - Dst: keepalive__init
      Src: /src/mosquitto/src/signals.c:129,1
    - Dst: broker_control__reload
      Src: /src/mosquitto/src/signals.c:133,1
    - Dst: bridge__reload
      Src: /src/mosquitto/src/signals.c:135,1
    - Dst: sub__tree_print
      Src: /src/mosquitto/src/signals.c:140,1
    - Dst: sub__tree_print
      Src: /src/mosquitto/src/signals.c:141,1
    - Dst: xtreport
      Src: /src/mosquitto/src/signals.c:146,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 152
    functionName: signal__flag_check
    functionSourceFile: /src/mosquitto/src/signals.c
    functionUses: 0
    functionsReached:
    - plugin__handle_reload
    - sub__tree_print
    - keepalive__init
    - xtreport
    - broker_control__reload
    - mosquitto_security_init
    - persist__backup
    - log__init
    - mosquitto_security_apply_default
    - bridge__reload
    - listeners__reload_all_certificates
    - keepalive__cleanup
    - log__printf
    - config__read
    - log__close
    - mosquitto_security_cleanup
    linkageType: ''
    returnType: int
    signature: int signal__flag_check(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentProcessId
      Src: /src/mosquitto/src/signals.c:179,1
    - Dst: UNUSED
      Src: /src/mosquitto/src/signals.c:189,1
    - Dst: sprintf_s
      Src: /src/mosquitto/src/signals.c:192,1
    - Dst: CreateEvent
      Src: /src/mosquitto/src/signals.c:193,1
    - Dst: WaitForMultipleObjects
      Src: /src/mosquitto/src/signals.c:197,1
    - Dst: handle_signal
      Src: /src/mosquitto/src/signals.c:200,1
    - Dst: CloseHandle
      Src: /src/mosquitto/src/signals.c:224,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 228
    functionName: SigThreadProc
    functionSourceFile: /src/mosquitto/src/signals.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    - WaitForMultipleObjects
    - GetCurrentProcessId
    - sprintf_s
    - CreateEvent
    - UNUSED
    - handle_signal
    linkageType: ''
    returnType: DWORD
    signature: DWORD SigThreadProc(void *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: send__puback
      Src: /src/mosquitto/src/handle_publish.c:45,1
    - Dst: send__pubrec
      Src: /src/mosquitto/src/handle_publish.c:52,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/handle_publish.c:58,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - context
    - base_msg
    - reason_code
    argTypes:
    - struct mosquitto*
    - struct mosquitto__base_msg*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 64
    functionName: process_bad_message
    functionSourceFile: /src/mosquitto/src/handle_publish.c
    functionUses: 0
    functionsReached:
    - send__puback
    - db__msg_store_free
    - send__pubrec
    linkageType: ''
    returnType: int
    signature: int process_bad_message(struct mosquitto *context, struct mosquitto__base_msg
      *base_msg, uint8_t reason_code)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: plugin__handle_message_in
      Src: /src/mosquitto/src/handle_publish.c:75,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_publish.c:77,1
    - Dst: process_bad_message
      Src: /src/mosquitto/src/handle_publish.c:82,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_publish.c:84,1
    - Dst: process_bad_message
      Src: /src/mosquitto/src/handle_publish.c:87,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/handle_publish.c:89,1
    - Dst: db__message_store_find
      Src: /src/mosquitto/src/handle_publish.c:95,1
    - Dst: strcmp
      Src: /src/mosquitto/src/handle_publish.c:101,1
    - Dst: memcmp
      Src: /src/mosquitto/src/handle_publish.c:102,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_publish.c:104,1
    - Dst: db__message_remove_incoming
      Src: /src/mosquitto/src/handle_publish.c:105,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/handle_publish.c:112,1
    - Dst: db__ready_for_flight
      Src: /src/mosquitto/src/handle_publish.c:117,1
    - Dst: db__message_store
      Src: /src/mosquitto/src/handle_publish.c:121,1
    - Dst: process_bad_message
      Src: /src/mosquitto/src/handle_publish.c:127,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/handle_publish.c:133,1
    - Dst: sub__messages_queue
      Src: /src/mosquitto/src/handle_publish.c:142,1
    - Dst: util__decrement_receive_quota
      Src: /src/mosquitto/src/handle_publish.c:148,1
    - Dst: sub__messages_queue
      Src: /src/mosquitto/src/handle_publish.c:149,1
    - Dst: send__puback
      Src: /src/mosquitto/src/handle_publish.c:152,1
    - Dst: send__puback
      Src: /src/mosquitto/src/handle_publish.c:157,1
    - Dst: db__message_insert_incoming
      Src: /src/mosquitto/src/handle_publish.c:169,1
    - Dst: send__pubrec
      Src: /src/mosquitto/src/handle_publish.c:179,1
    - Dst: db__message_write_queued_in
      Src: /src/mosquitto/src/handle_publish.c:193,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 95
    argCount: 5
    argNames:
    - context
    - base_msg
    - mid
    - dup
    - message_expiry_interval
    argTypes:
    - struct mosquitto*
    - struct mosquitto__base_msg*
    - uint16_t
    - int
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 195
    functionName: handle__accepted_publish
    functionSourceFile: /src/mosquitto/src/handle_publish.c
    functionUses: 0
    functionsReached:
    - send__puback
    - db__message_remove_incoming
    - sub__messages_queue
    - util__decrement_receive_quota
    - db__message_store_find
    - db__message_insert_incoming
    - plugin__handle_message_in
    - db__msg_store_free
    - db__message_write_queued_in
    - strcmp
    - log__printf
    - memcmp
    - process_bad_message
    - db__message_store
    - send__pubrec
    - db__ready_for_flight
    linkageType: ''
    returnType: int
    signature: int handle__accepted_publish(struct mosquitto *context, struct mosquitto__base_msg
      *base_msg, uint16_t mid, int dup, uint32_t *message_expiry_interval)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/handle_publish.c:218,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_publish.c:226,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/handle_publish.c:228,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_publish.c:232,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/handle_publish.c:234,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_publish.c:238,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/handle_publish.c:240,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/handle_publish.c:246,1
    - Dst: packet__read_string
      Src: /src/mosquitto/src/handle_publish.c:250,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/handle_publish.c:251,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/handle_publish.c:256,1
    - Dst: packet__read_uint16
      Src: /src/mosquitto/src/handle_publish.c:261,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/handle_publish.c:262,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/handle_publish.c:266,1
    - Dst: property__read_all
      Src: /src/mosquitto/src/handle_publish.c:276,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/handle_publish.c:278,1
    - Dst: property__process_publish
      Src: /src/mosquitto/src/handle_publish.c:282,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/handle_publish.c:284,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/handle_publish.c:285,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/handle_publish.c:289,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/handle_publish.c:292,1
    - Dst: alias__add_r2l
      Src: /src/mosquitto/src/handle_publish.c:296,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/handle_publish.c:298,1
    - Dst: alias__find_by_alias
      Src: /src/mosquitto/src/handle_publish.c:302,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/handle_publish.c:304,1
    - Dst: bridge__remap_topic_in
      Src: /src/mosquitto/src/handle_publish.c:311,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/handle_publish.c:313,1
    - Dst: mosquitto_pub_topic_check
      Src: /src/mosquitto/src/handle_publish.c:318,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/handle_publish.c:320,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/src/handle_publish.c:325,1
    - Dst: strlen
      Src: /src/mosquitto/src/handle_publish.c:327,1
    - Dst: strlen
      Src: /src/mosquitto/src/handle_publish.c:327,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/handle_publish.c:328,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/handle_publish.c:330,1
    - Dst: snprintf
      Src: /src/mosquitto/src/handle_publish.c:333,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_publish.c:336,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_publish.c:342,1
    - Dst: process_bad_message
      Src: /src/mosquitto/src/handle_publish.c:343,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/handle_publish.c:345,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/handle_publish.c:347,1
    - Dst: packet__read_bytes
      Src: /src/mosquitto/src/handle_publish.c:353,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/handle_publish.c:354,1
    - Dst: mosquitto_acl_check
      Src: /src/mosquitto/src/handle_publish.c:360,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_publish.c:362,1
    - Dst: process_bad_message
      Src: /src/mosquitto/src/handle_publish.c:366,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/handle_publish.c:368,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_publish.c:372,1
    - Dst: strncmp
      Src: /src/mosquitto/src/handle_publish.c:374,1
    - Dst: control__process
      Src: /src/mosquitto/src/handle_publish.c:376,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/handle_publish.c:377,1
    - Dst: process_bad_message
      Src: /src/mosquitto/src/handle_publish.c:380,1
    - Dst: handle__accepted_publish
      Src: /src/mosquitto/src/handle_publish.c:384,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 139
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 198
    functionDepth: 4
    functionLinenumber: 198
    functionLinenumberEnd: 385
    functionName: handle__publish
    functionSourceFile: /src/mosquitto/src/handle_publish.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - property__read_all
    - packet__read_uint16
    - log__printf
    - mosquitto_property_free_all
    - alias__find_by_alias
    - bridge__remap_topic_in
    - control__process
    - metrics__int_inc
    - mosquitto_acl_check
    - mosquitto_pub_topic_check
    - handle__accepted_publish
    - strncmp
    - packet__read_string
    - mosquitto_calloc
    - mosquitto_malloc
    - strlen
    - packet__read_bytes
    - property__process_publish
    - snprintf
    - db__msg_store_free
    - process_bad_message
    - alias__add_r2l
    linkageType: ''
    returnType: int
    signature: int handle__publish(struct mosquitto *context)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: metrics__int_inc
      Src: /src/mosquitto/src/read_handle.c:43,1
    - Dst: handle__pingreq
      Src: /src/mosquitto/src/read_handle.c:44,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/src/read_handle.c:47,1
    - Dst: handle__pingresp
      Src: /src/mosquitto/src/read_handle.c:48,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/src/read_handle.c:51,1
    - Dst: handle__pubackcomp
      Src: /src/mosquitto/src/read_handle.c:52,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/src/read_handle.c:55,1
    - Dst: handle__pubackcomp
      Src: /src/mosquitto/src/read_handle.c:56,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/src/read_handle.c:59,1
    - Dst: handle__publish
      Src: /src/mosquitto/src/read_handle.c:60,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/src/read_handle.c:63,1
    - Dst: handle__pubrec
      Src: /src/mosquitto/src/read_handle.c:64,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/src/read_handle.c:67,1
    - Dst: handle__pubrel
      Src: /src/mosquitto/src/read_handle.c:68,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/src/read_handle.c:71,1
    - Dst: handle__connect
      Src: /src/mosquitto/src/read_handle.c:72,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/src/read_handle.c:74,1
    - Dst: handle__disconnect
      Src: /src/mosquitto/src/read_handle.c:75,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/src/read_handle.c:78,1
    - Dst: handle__subscribe
      Src: /src/mosquitto/src/read_handle.c:79,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/src/read_handle.c:82,1
    - Dst: handle__unsubscribe
      Src: /src/mosquitto/src/read_handle.c:83,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/src/read_handle.c:87,1
    - Dst: handle__connack
      Src: /src/mosquitto/src/read_handle.c:88,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/src/read_handle.c:91,1
    - Dst: handle__suback
      Src: /src/mosquitto/src/read_handle.c:92,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/src/read_handle.c:95,1
    - Dst: handle__unsuback
      Src: /src/mosquitto/src/read_handle.c:96,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/src/read_handle.c:100,1
    - Dst: handle__auth
      Src: /src/mosquitto/src/read_handle.c:101,1
    - Dst: send__disconnect
      Src: /src/mosquitto/src/read_handle.c:109,1
    - Dst: send__disconnect
      Src: /src/mosquitto/src/read_handle.c:111,1
    - Dst: send__disconnect
      Src: /src/mosquitto/src/read_handle.c:113,1
    - Dst: send__disconnect
      Src: /src/mosquitto/src/read_handle.c:115,1
    - Dst: send__disconnect
      Src: /src/mosquitto/src/read_handle.c:117,1
    - Dst: send__disconnect
      Src: /src/mosquitto/src/read_handle.c:119,1
    - Dst: send__disconnect
      Src: /src/mosquitto/src/read_handle.c:121,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 91
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 125
    functionName: handle__packet
    functionSourceFile: /src/mosquitto/src/read_handle.c
    functionUses: 1
    functionsReached:
    - handle__pubackcomp
    - handle__pubrel
    - handle__unsuback
    - handle__unsubscribe
    - handle__pingresp
    - metrics__int_inc
    - handle__publish
    - handle__connack
    - handle__suback
    - handle__pingreq
    - handle__connect
    - handle__pubrec
    - handle__auth
    - send__disconnect
    - handle__disconnect
    - handle__subscribe
    linkageType: ''
    returnType: int
    signature: int handle__packet(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatMessage
      Src: /src/mosquitto/src/plugin_init.c:38,1
    - Dst: GetLastError
      Src: /src/mosquitto/src/plugin_init.c:39,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_init.c:40,1
    - Dst: LocalFree
      Src: /src/mosquitto/src/plugin_init.c:41,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_init.c:43,1
    - Dst: dlerror
      Src: /src/mosquitto/src/plugin_init.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: LIB_ERROR
    functionSourceFile: /src/mosquitto/src/plugin_init.c
    functionUses: 1
    functionsReached:
    - FormatMessage
    - LocalFree
    - dlerror
    - GetLastError
    - log__printf
    linkageType: ''
    returnType: void
    signature: void LIB_ERROR(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/plugin_init.c:62,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_init.c:64,1
    - Dst: LIB_LOAD
      Src: /src/mosquitto/src/plugin_init.c:66,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_init.c:68,1
    - Dst: LIB_ERROR
      Src: /src/mosquitto/src/plugin_init.c:70,1
    - Dst: LIB_SYM
      Src: /src/mosquitto/src/plugin_init.c:75,1
    - Dst: plugin_version
      Src: /src/mosquitto/src/plugin_init.c:76,1
    - Dst: LIB_SYM
      Src: /src/mosquitto/src/plugin_init.c:77,1
    - Dst: plugin_auth_version
      Src: /src/mosquitto/src/plugin_init.c:78,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_init.c:80,1
    - Dst: LIB_ERROR
      Src: /src/mosquitto/src/plugin_init.c:82,1
    - Dst: LIB_CLOSE
      Src: /src/mosquitto/src/plugin_init.c:83,1
    - Dst: plugin__load_v5
      Src: /src/mosquitto/src/plugin_init.c:89,1
    - Dst: plugin__load_v4
      Src: /src/mosquitto/src/plugin_init.c:94,1
    - Dst: plugin__load_v3
      Src: /src/mosquitto/src/plugin_init.c:99,1
    - Dst: plugin__load_v2
      Src: /src/mosquitto/src/plugin_init.c:104,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_init.c:109,1
    - Dst: LIB_ERROR
      Src: /src/mosquitto/src/plugin_init.c:112,1
    - Dst: LIB_CLOSE
      Src: /src/mosquitto/src/plugin_init.c:114,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - mosquitto_plugin_id_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 118
    functionName: plugin__load_single
    functionSourceFile: /src/mosquitto/src/plugin_init.c
    functionUses: 0
    functionsReached:
    - plugin_auth_version
    - plugin__load_v5
    - plugin_version
    - plugin__load_v2
    - LIB_SYM
    - LIB_CLOSE
    - LIB_ERROR
    - plugin__load_v4
    - LIB_LOAD
    - memset
    - log__printf
    - plugin__load_v3
    linkageType: ''
    returnType: int
    signature: int plugin__load_single(mosquitto_plugin_id_t *plugin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: plugin__load_single
      Src: /src/mosquitto/src/plugin_init.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 132
    functionName: plugin__load_all
    functionSourceFile: /src/mosquitto/src/plugin_init.c
    functionUses: 1
    functionsReached:
    - plugin__load_single
    linkageType: ''
    returnType: int
    signature: int plugin__load_all(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_plugin_id_t*::lib::security_init_v4
      Src: /src/mosquitto/src/plugin_init.c:142,1
    - Dst: mosquitto_plugin_id_t*::lib::security_init_v3
      Src: /src/mosquitto/src/plugin_init.c:149,1
    - Dst: mosquitto_plugin_id_t*::lib::security_init_v2
      Src: /src/mosquitto/src/plugin_init.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - plugin
    - reload
    argTypes:
    - mosquitto_plugin_id_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 166
    functionName: plugin__security_init_single
    functionSourceFile: /src/mosquitto/src/plugin_init.c
    functionUses: 0
    functionsReached:
    - mosquitto_plugin_id_t*::lib::security_init_v4
    - mosquitto_plugin_id_t*::lib::security_init_v2
    - mosquitto_plugin_id_t*::lib::security_init_v3
    linkageType: ''
    returnType: int
    signature: int plugin__security_init_single(mosquitto_plugin_id_t *plugin, bool
      reload)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: plugin__security_init_single
      Src: /src/mosquitto/src/plugin_init.c:174,1
    - Dst: mosquitto_security_init_default
      Src: /src/mosquitto/src/plugin_init.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - reload
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 181
    functionName: mosquitto_security_init
    functionSourceFile: /src/mosquitto/src/plugin_init.c
    functionUses: 2
    functionsReached:
    - mosquitto_security_init_default
    - plugin__security_init_single
    linkageType: ''
    returnType: int
    signature: int mosquitto_security_init(bool reload)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/plugin_unsubscribe.c:32,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_unsubscribe.c:37,1
    - Dst: struct mosquitto__callback*::cb
      Src: /src/mosquitto/src/plugin_unsubscribe.c:38,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/src/plugin_unsubscribe.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - opts
    - context
    - sub
    argTypes:
    - struct mosquitto__security_options*
    - struct mosquitto*
    - struct mosquitto_subscription*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 50
    functionName: plugin__handle_unsubscribe_single
    functionSourceFile: /src/mosquitto/src/plugin_unsubscribe.c
    functionUses: 0
    functionsReached:
    - struct mosquitto__callback*::cb
    - mosquitto_free
    - DL_FOREACH_SAFE
    - memset
    linkageType: ''
    returnType: int
    signature: int plugin__handle_unsubscribe_single(struct mosquitto__security_options
      *opts, struct mosquitto *context, struct mosquitto_subscription *sub)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: plugin__handle_unsubscribe_single
      Src: /src/mosquitto/src/plugin_unsubscribe.c:58,1
    - Dst: plugin__handle_unsubscribe_single
      Src: /src/mosquitto/src/plugin_unsubscribe.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - context
    - sub
    argTypes:
    - struct mosquitto*
    - struct mosquitto_subscription*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 70
    functionName: plugin__handle_unsubscribe
    functionSourceFile: /src/mosquitto/src/plugin_unsubscribe.c
    functionUses: 0
    functionsReached:
    - plugin__handle_unsubscribe_single
    linkageType: ''
    returnType: int
    signature: int plugin__handle_unsubscribe(struct mosquitto *context, struct mosquitto_subscription
      *sub)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/plugin_disconnect.c:34,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_disconnect.c:37,1
    - Dst: struct mosquitto__callback*::cb
      Src: /src/mosquitto/src/plugin_disconnect.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - opts
    - context
    - reason
    argTypes:
    - struct mosquitto__security_options*
    - struct mosquitto*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 40
    functionName: plugin__handle_disconnect_single
    functionSourceFile: /src/mosquitto/src/plugin_disconnect.c
    functionUses: 0
    functionsReached:
    - struct mosquitto__callback*::cb
    - DL_FOREACH_SAFE
    - memset
    linkageType: ''
    returnType: void
    signature: void plugin__handle_disconnect_single(struct mosquitto__security_options
      *opts, struct mosquitto *context, int reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: plugin__handle_disconnect_single
      Src: /src/mosquitto/src/plugin_disconnect.c:46,1
    - Dst: plugin__handle_disconnect_single
      Src: /src/mosquitto/src/plugin_disconnect.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - context
    - reason
    argTypes:
    - struct mosquitto*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: plugin__handle_disconnect
    functionSourceFile: /src/mosquitto/src/plugin_disconnect.c
    functionUses: 0
    functionsReached:
    - plugin__handle_disconnect_single
    linkageType: ''
    returnType: void
    signature: void plugin__handle_disconnect(struct mosquitto *context, int reason)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/plugin_tick.c:33,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_tick.c:36,1
    - Dst: mosquitto_time_ns
      Src: /src/mosquitto/src/plugin_tick.c:37,1
    - Dst: mosquitto_time_cmp
      Src: /src/mosquitto/src/plugin_tick.c:39,1
    - Dst: struct mosquitto__callback*::cb
      Src: /src/mosquitto/src/plugin_tick.c:44,1
    - Dst: loop__update_next_event
      Src: /src/mosquitto/src/plugin_tick.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - opts
    argTypes:
    - struct mosquitto__security_options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 55
    functionName: plugin__handle_tick_single
    functionSourceFile: /src/mosquitto/src/plugin_tick.c
    functionUses: 0
    functionsReached:
    - mosquitto_time_ns
    - loop__update_next_event
    - DL_FOREACH_SAFE
    - struct mosquitto__callback*::cb
    - mosquitto_time_cmp
    - memset
    linkageType: ''
    returnType: void
    signature: void plugin__handle_tick_single(struct mosquitto__security_options
      *opts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: plugin__handle_tick_single
      Src: /src/mosquitto/src/plugin_tick.c:63,1
    - Dst: plugin__handle_tick_single
      Src: /src/mosquitto/src/plugin_tick.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: plugin__handle_tick
    functionSourceFile: /src/mosquitto/src/plugin_tick.c
    functionUses: 0
    functionsReached:
    - plugin__handle_tick_single
    linkageType: ''
    returnType: void
    signature: void plugin__handle_tick(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/psk_file.c:36,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/psk_file.c:37,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/psk_file.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - psk
    argTypes:
    - struct mosquitto__psk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: psk__free_item
    functionSourceFile: /src/mosquitto/src/psk_file.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    linkageType: ''
    returnType: void
    signature: void psk__free_item(struct mosquitto__psk *psk)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: psk__file_parse
      Src: /src/mosquitto/src/psk_file.c:52,1
    - Dst: log__printf
      Src: /src/mosquitto/src/psk_file.c:54,1
    - Dst: psk__file_parse
      Src: /src/mosquitto/src/psk_file.c:62,1
    - Dst: log__printf
      Src: /src/mosquitto/src/psk_file.c:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 71
    functionName: psk_file__init
    functionSourceFile: /src/mosquitto/src/psk_file.c
    functionUses: 0
    functionsReached:
    - log__printf
    - psk__file_parse
    linkageType: ''
    returnType: int
    signature: int psk_file__init(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: psk__cleanup
      Src: /src/mosquitto/src/psk_file.c:78,1
    - Dst: psk__cleanup
      Src: /src/mosquitto/src/psk_file.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 93
    functionName: psk_file__cleanup
    functionSourceFile: /src/mosquitto/src/psk_file.c
    functionUses: 0
    functionsReached:
    - psk__cleanup
    linkageType: ''
    returnType: int
    signature: int psk_file__cleanup(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/psk_file.c:105,1
    - Dst: log__printf
      Src: /src/mosquitto/src/psk_file.c:107,1
    - Dst: mosquitto_fopen
      Src: /src/mosquitto/src/psk_file.c:111,1
    - Dst: log__printf
      Src: /src/mosquitto/src/psk_file.c:113,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/psk_file.c:114,1
    - Dst: feof
      Src: /src/mosquitto/src/psk_file.c:118,1
    - Dst: mosquitto_fgets
      Src: /src/mosquitto/src/psk_file.c:119,1
    - Dst: strchr
      Src: /src/mosquitto/src/psk_file.c:123,1
    - Dst: strtok_r
      Src: /src/mosquitto/src/psk_file.c:127,1
    - Dst: mosquitto_trimblanks
      Src: /src/mosquitto/src/psk_file.c:129,1
    - Dst: strlen
      Src: /src/mosquitto/src/psk_file.c:130,1
    - Dst: log__printf
      Src: /src/mosquitto/src/psk_file.c:131,1
    - Dst: strlen
      Src: /src/mosquitto/src/psk_file.c:134,1
    - Dst: log__printf
      Src: /src/mosquitto/src/psk_file.c:135,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/psk_file.c:139,1
    - Dst: strlen
      Src: /src/mosquitto/src/psk_file.c:139,1
    - Dst: log__printf
      Src: /src/mosquitto/src/psk_file.c:141,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/psk_file.c:145,1
    - Dst: fclose
      Src: /src/mosquitto/src/psk_file.c:147,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/psk_file.c:148,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/psk_file.c:152,1
    - Dst: psk__free_item
      Src: /src/mosquitto/src/psk_file.c:154,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/psk_file.c:155,1
    - Dst: fclose
      Src: /src/mosquitto/src/psk_file.c:156,1
    - Dst: strtok_r
      Src: /src/mosquitto/src/psk_file.c:159,1
    - Dst: mosquitto_trimblanks
      Src: /src/mosquitto/src/psk_file.c:161,1
    - Dst: strlen
      Src: /src/mosquitto/src/psk_file.c:163,1
    - Dst: log__printf
      Src: /src/mosquitto/src/psk_file.c:164,1
    - Dst: psk__free_item
      Src: /src/mosquitto/src/psk_file.c:165,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/psk_file.c:169,1
    - Dst: log__printf
      Src: /src/mosquitto/src/psk_file.c:171,1
    - Dst: psk__free_item
      Src: /src/mosquitto/src/psk_file.c:172,1
    - Dst: HASH_ADD_KEYPTR
      Src: /src/mosquitto/src/psk_file.c:176,1
    - Dst: strlen
      Src: /src/mosquitto/src/psk_file.c:176,1
    - Dst: log__printf
      Src: /src/mosquitto/src/psk_file.c:178,1
    - Dst: psk__free_item
      Src: /src/mosquitto/src/psk_file.c:179,1
    - Dst: fclose
      Src: /src/mosquitto/src/psk_file.c:184,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/psk_file.c:185,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 74
    argCount: 2
    argNames:
    - file
    - root
    argTypes:
    - char*
    - struct mosquitto__psk**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 188
    functionName: pwfile__parse
    functionSourceFile: /src/mosquitto/src/psk_file.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - mosquitto_strdup
    - mosquitto_fgets
    - mosquitto_calloc
    - mosquitto_malloc
    - feof
    - mosquitto_fopen
    - strchr
    - fclose
    - strlen
    - strtok_r
    - psk__free_item
    - HASH_ADD_KEYPTR
    - HASH_FIND
    - log__printf
    - mosquitto_trimblanks
    linkageType: ''
    returnType: int
    signature: int pwfile__parse(const char *file, struct mosquitto__psk **root)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pwfile__parse
      Src: /src/mosquitto/src/psk_file.c:205,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/psk_file.c:210,1
    - Dst: log__printf
      Src: /src/mosquitto/src/psk_file.c:213,1
    - Dst: strspn
      Src: /src/mosquitto/src/psk_file.c:216,1
    - Dst: strlen
      Src: /src/mosquitto/src/psk_file.c:216,1
    - Dst: log__printf
      Src: /src/mosquitto/src/psk_file.c:217,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - psk_id
    - psk_file
    argTypes:
    - struct mosquitto__psk**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 222
    functionName: psk__file_parse
    functionSourceFile: /src/mosquitto/src/psk_file.c
    functionUses: 1
    functionsReached:
    - strlen
    - strspn
    - HASH_ITER
    - log__printf
    - pwfile__parse
    linkageType: ''
    returnType: int
    signature: int psk__file_parse(struct mosquitto__psk **psk_id, const char *psk_file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/psk_file.c:233,1
    - Dst: HASH_DEL
      Src: /src/mosquitto/src/psk_file.c:234,1
    - Dst: psk__free_item
      Src: /src/mosquitto/src/psk_file.c:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - root
    argTypes:
    - struct mosquitto__psk**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 241
    functionName: psk__cleanup
    functionSourceFile: /src/mosquitto/src/psk_file.c
    functionUses: 1
    functionsReached:
    - psk__free_item
    - HASH_DEL
    - HASH_ITER
    linkageType: ''
    returnType: int
    signature: int psk__cleanup(struct mosquitto__psk **root)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/psk_file.c:265,1
    - Dst: strlen
      Src: /src/mosquitto/src/psk_file.c:265,1
    - Dst: strncpy
      Src: /src/mosquitto/src/psk_file.c:267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - context
    - hint
    - identity
    - key
    - max_key_len
    argTypes:
    - struct mosquitto*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 272
    functionName: mosquitto_psk_key_get_default
    functionSourceFile: /src/mosquitto/src/psk_file.c
    functionUses: 1
    functionsReached:
    - strlen
    - strncpy
    - HASH_FIND
    linkageType: ''
    returnType: int
    signature: int mosquitto_psk_key_get_default(struct mosquitto *context, const
      char *hint, const char *identity, char *key, int max_key_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: toupper
      Src: /src/mosquitto/src/conf_includedir.c:62,1
    - Dst: toupper
      Src: /src/mosquitto/src/conf_includedir.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 78
    functionName: scmp_p
    functionSourceFile: /src/mosquitto/src/conf_includedir.c
    functionUses: 0
    functionsReached:
    - toupper
    linkageType: ''
    returnType: int
    signature: int scmp_p(const void *p1, const void *p2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/mosquitto/src/conf_includedir.c:94,1
    - Dst: FindFirstFile
      Src: /src/mosquitto/src/conf_includedir.c:95,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf_includedir.c:97,1
    - Dst: strlen
      Src: /src/mosquitto/src/conf_includedir.c:102,1
    - Dst: strlen
      Src: /src/mosquitto/src/conf_includedir.c:102,1
    - Dst: mosquitto_realloc
      Src: /src/mosquitto/src/conf_includedir.c:105,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf_includedir.c:108,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf_includedir.c:110,1
    - Dst: FindClose
      Src: /src/mosquitto/src/conf_includedir.c:111,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/conf_includedir.c:116,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf_includedir.c:119,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf_includedir.c:121,1
    - Dst: FindClose
      Src: /src/mosquitto/src/conf_includedir.c:122,1
    - Dst: snprintf
      Src: /src/mosquitto/src/conf_includedir.c:125,1
    - Dst: FindNextFile
      Src: /src/mosquitto/src/conf_includedir.c:127,1
    - Dst: FindClose
      Src: /src/mosquitto/src/conf_includedir.c:129,1
    - Dst: qsort
      Src: /src/mosquitto/src/conf_includedir.c:132,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 3
    argNames:
    - include_dir
    - files
    - file_count
    argTypes:
    - char*
    - char***
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 138
    functionName: config__get_dir_files
    functionSourceFile: /src/mosquitto/src/conf_includedir.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - FindNextFile
    - FindClose
    - snprintf
    - mosquitto_malloc
    - qsort
    - strlen
    - mosquitto_realloc
    - log__printf
    - FindFirstFile
    linkageType: ''
    returnType: int
    signature: int config__get_dir_files(const char *include_dir, char ***files, int
      *file_count)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/mosquitto/src/conf_includedir.c:155,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf_includedir.c:157,1
    - Dst: readdir
      Src: /src/mosquitto/src/conf_includedir.c:160,1
    - Dst: strlen
      Src: /src/mosquitto/src/conf_includedir.c:161,1
    - Dst: strcmp
      Src: /src/mosquitto/src/conf_includedir.c:162,1
    - Dst: strlen
      Src: /src/mosquitto/src/conf_includedir.c:162,1
    - Dst: strlen
      Src: /src/mosquitto/src/conf_includedir.c:163,1
    - Dst: strlen
      Src: /src/mosquitto/src/conf_includedir.c:163,1
    - Dst: mosquitto_realloc
      Src: /src/mosquitto/src/conf_includedir.c:166,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/conf_includedir.c:172,1
    - Dst: snprintf
      Src: /src/mosquitto/src/conf_includedir.c:176,1
    - Dst: closedir
      Src: /src/mosquitto/src/conf_includedir.c:181,1
    - Dst: qsort
      Src: /src/mosquitto/src/conf_includedir.c:184,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf_includedir.c:192,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf_includedir.c:194,1
    - Dst: closedir
      Src: /src/mosquitto/src/conf_includedir.c:195,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 3
    argNames:
    - include_dir
    - files
    - file_count
    argTypes:
    - char*
    - char***
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 197
    functionName: config__get_dir_files
    functionSourceFile: /src/mosquitto/src/conf_includedir.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - log__printf
    - mosquitto_malloc
    - snprintf
    - qsort
    - strlen
    - mosquitto_realloc
    - readdir
    - strcmp
    - opendir
    - closedir
    linkageType: ''
    returnType: int
    signature: int config__get_dir_files(const char *include_dir, char ***files, int
      *file_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/plugin_persist.c:40,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_persist.c:42,1
    - Dst: struct mosquitto__callback*::cb
      Src: /src/mosquitto/src/plugin_persist.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: plugin_persist__handle_restore
    functionSourceFile: /src/mosquitto/src/plugin_persist.c
    functionUses: 1
    functionsReached:
    - struct mosquitto__callback*::cb
    - DL_FOREACH_SAFE
    - memset
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_restore(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/plugin_persist.c:59,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_persist.c:76,1
    - Dst: struct mosquitto__callback*::cb
      Src: /src/mosquitto/src/plugin_persist.c:77,1
    - Dst: plugin_persist__handle_will_add
      Src: /src/mosquitto/src/plugin_persist.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 85
    functionName: plugin_persist__handle_client_add
    functionSourceFile: /src/mosquitto/src/plugin_persist.c
    functionUses: 0
    functionsReached:
    - struct mosquitto__callback*::cb
    - DL_FOREACH_SAFE
    - memset
    - plugin_persist__handle_will_add
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_client_add(struct mosquitto *context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/src/plugin_persist.c:95,1
    - Dst: memset
      Src: /src/mosquitto/src/plugin_persist.c:102,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_persist.c:119,1
    - Dst: struct mosquitto__callback*::cb
      Src: /src/mosquitto/src/plugin_persist.c:120,1
    - Dst: plugin_persist__handle_will_add
      Src: /src/mosquitto/src/plugin_persist.c:124,1
    - Dst: plugin_persist__handle_will_delete
      Src: /src/mosquitto/src/plugin_persist.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 128
    functionName: plugin_persist__handle_client_update
    functionSourceFile: /src/mosquitto/src/plugin_persist.c
    functionUses: 1
    functionsReached:
    - DL_FOREACH_SAFE
    - struct mosquitto__callback*::cb
    - memset
    - plugin_persist__handle_will_add
    - plugin_persist__handle_will_delete
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_client_update(struct mosquitto *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: plugin_persist__handle_will_delete
      Src: /src/mosquitto/src/plugin_persist.c:143,1
    - Dst: memset
      Src: /src/mosquitto/src/plugin_persist.c:151,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_persist.c:154,1
    - Dst: struct mosquitto__callback*::cb
      Src: /src/mosquitto/src/plugin_persist.c:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 158
    functionName: plugin_persist__handle_client_delete
    functionSourceFile: /src/mosquitto/src/plugin_persist.c
    functionUses: 0
    functionsReached:
    - DL_FOREACH_SAFE
    - struct mosquitto__callback*::cb
    - plugin_persist__handle_will_delete
    - memset
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_client_delete(struct mosquitto *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/plugin_persist.c:172,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_persist.c:178,1
    - Dst: struct mosquitto__callback*::cb
      Src: /src/mosquitto/src/plugin_persist.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - context
    - sub
    argTypes:
    - struct mosquitto*
    - struct mosquitto_subscription*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 181
    functionName: plugin_persist__handle_subscription_add
    functionSourceFile: /src/mosquitto/src/plugin_persist.c
    functionUses: 0
    functionsReached:
    - struct mosquitto__callback*::cb
    - DL_FOREACH_SAFE
    - memset
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_subscription_add(struct mosquitto *context,
      const struct mosquitto_subscription *sub)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/plugin_persist.c:198,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_persist.c:202,1
    - Dst: struct mosquitto__callback*::cb
      Src: /src/mosquitto/src/plugin_persist.c:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - context
    - sub
    argTypes:
    - struct mosquitto*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 205
    functionName: plugin_persist__handle_subscription_delete
    functionSourceFile: /src/mosquitto/src/plugin_persist.c
    functionUses: 0
    functionsReached:
    - struct mosquitto__callback*::cb
    - DL_FOREACH_SAFE
    - memset
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_subscription_delete(struct mosquitto *context,
      char *sub)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/plugin_persist.c:222,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_persist.c:234,1
    - Dst: struct mosquitto__callback*::cb
      Src: /src/mosquitto/src/plugin_persist.c:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - context
    - client_msg
    argTypes:
    - struct mosquitto*
    - struct mosquitto__client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 237
    functionName: plugin_persist__handle_client_msg_add
    functionSourceFile: /src/mosquitto/src/plugin_persist.c
    functionUses: 0
    functionsReached:
    - struct mosquitto__callback*::cb
    - DL_FOREACH_SAFE
    - memset
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_client_msg_add(struct mosquitto *context,
      const struct mosquitto__client_msg *client_msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/plugin_persist.c:254,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_persist.c:264,1
    - Dst: struct mosquitto__callback*::cb
      Src: /src/mosquitto/src/plugin_persist.c:265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - context
    - client_msg
    argTypes:
    - struct mosquitto*
    - struct mosquitto__client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 267
    functionName: plugin_persist__handle_client_msg_delete
    functionSourceFile: /src/mosquitto/src/plugin_persist.c
    functionUses: 0
    functionsReached:
    - struct mosquitto__callback*::cb
    - DL_FOREACH_SAFE
    - memset
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_client_msg_delete(struct mosquitto *context,
      const struct mosquitto__client_msg *client_msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/plugin_persist.c:284,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_persist.c:295,1
    - Dst: struct mosquitto__callback*::cb
      Src: /src/mosquitto/src/plugin_persist.c:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - context
    - client_msg
    argTypes:
    - struct mosquitto*
    - struct mosquitto__client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 298
    functionName: plugin_persist__handle_client_msg_update
    functionSourceFile: /src/mosquitto/src/plugin_persist.c
    functionUses: 0
    functionsReached:
    - struct mosquitto__callback*::cb
    - DL_FOREACH_SAFE
    - memset
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_client_msg_update(struct mosquitto *context,
      const struct mosquitto__client_msg *client_msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/plugin_persist.c:312,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_persist.c:331,1
    - Dst: struct mosquitto__callback*::cb
      Src: /src/mosquitto/src/plugin_persist.c:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - base_msg
    argTypes:
    - struct mosquitto__base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 335
    functionName: plugin_persist__handle_base_msg_add
    functionSourceFile: /src/mosquitto/src/plugin_persist.c
    functionUses: 1
    functionsReached:
    - struct mosquitto__callback*::cb
    - DL_FOREACH_SAFE
    - memset
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_base_msg_add(struct mosquitto__base_msg
      *base_msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/plugin_persist.c:349,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_persist.c:353,1
    - Dst: struct mosquitto__callback*::cb
      Src: /src/mosquitto/src/plugin_persist.c:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - base_msg
    argTypes:
    - struct mosquitto__base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 357
    functionName: plugin_persist__handle_base_msg_delete
    functionSourceFile: /src/mosquitto/src/plugin_persist.c
    functionUses: 0
    functionsReached:
    - struct mosquitto__callback*::cb
    - DL_FOREACH_SAFE
    - memset
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_base_msg_delete(struct mosquitto__base_msg
      *base_msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/plugin_persist.c:371,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_persist.c:376,1
    - Dst: struct mosquitto__callback*::cb
      Src: /src/mosquitto/src/plugin_persist.c:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - base_msg
    argTypes:
    - struct mosquitto__base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 379
    functionName: plugin_persist__handle_retain_msg_set
    functionSourceFile: /src/mosquitto/src/plugin_persist.c
    functionUses: 1
    functionsReached:
    - struct mosquitto__callback*::cb
    - DL_FOREACH_SAFE
    - memset
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_retain_msg_set(struct mosquitto__base_msg
      *base_msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/plugin_persist.c:393,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_persist.c:397,1
    - Dst: struct mosquitto__callback*::cb
      Src: /src/mosquitto/src/plugin_persist.c:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - base_msg
    argTypes:
    - struct mosquitto__base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 400
    functionName: plugin_persist__handle_retain_msg_delete
    functionSourceFile: /src/mosquitto/src/plugin_persist.c
    functionUses: 2
    functionsReached:
    - struct mosquitto__callback*::cb
    - DL_FOREACH_SAFE
    - memset
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_retain_msg_delete(struct mosquitto__base_msg
      *base_msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/plugin_persist.c:416,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_persist.c:425,1
    - Dst: struct mosquitto__callback*::cb
      Src: /src/mosquitto/src/plugin_persist.c:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 428
    functionName: plugin_persist__handle_will_add
    functionSourceFile: /src/mosquitto/src/plugin_persist.c
    functionUses: 2
    functionsReached:
    - struct mosquitto__callback*::cb
    - DL_FOREACH_SAFE
    - memset
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_will_add(struct mosquitto *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/plugin_persist.c:437,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_persist.c:445,1
    - Dst: struct mosquitto__callback*::cb
      Src: /src/mosquitto/src/plugin_persist.c:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 449
    functionName: plugin_persist__handle_will_delete
    functionSourceFile: /src/mosquitto/src/plugin_persist.c
    functionUses: 2
    functionsReached:
    - struct mosquitto__callback*::cb
    - DL_FOREACH_SAFE
    - memset
    linkageType: ''
    returnType: void
    signature: void plugin_persist__handle_will_delete(struct mosquitto *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/src/plugin_extended_auth.c:38,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_extended_auth.c:40,1
    - Dst: memset
      Src: /src/mosquitto/src/plugin_extended_auth.c:41,1
    - Dst: struct mosquitto__callback*::cb
      Src: /src/mosquitto/src/plugin_extended_auth.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 7
    argNames:
    - opts
    - context
    - reauth
    - data_in
    - data_in_len
    - data_out
    - data_out_len
    argTypes:
    - struct mosquitto__security_options*
    - struct mosquitto*
    - bool
    - void*
    - uint16_t
    - void**
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 60
    functionName: plugin__ext_auth_start
    functionSourceFile: /src/mosquitto/src/plugin_extended_auth.c
    functionUses: 0
    functionsReached:
    - struct mosquitto__callback*::cb
    - UNUSED
    - DL_FOREACH_SAFE
    - memset
    linkageType: ''
    returnType: int
    signature: int plugin__ext_auth_start(struct mosquitto__security_options *opts,
      struct mosquitto *context, bool reauth, const void *data_in, uint16_t data_in_len,
      void **data_out, uint16_t *data_out_len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: plugin__ext_auth_start
      Src: /src/mosquitto/src/plugin_extended_auth.c:76,1
    - Dst: plugin__ext_auth_start
      Src: /src/mosquitto/src/plugin_extended_auth.c:92,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 6
    argNames:
    - context
    - reauth
    - data_in
    - data_in_len
    - data_out
    - data_out_len
    argTypes:
    - struct mosquitto*
    - bool
    - void*
    - uint16_t
    - void**
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 104
    functionName: mosquitto_security_auth_start
    functionSourceFile: /src/mosquitto/src/plugin_extended_auth.c
    functionUses: 1
    functionsReached:
    - plugin__ext_auth_start
    linkageType: ''
    returnType: int
    signature: int mosquitto_security_auth_start(struct mosquitto *context, bool reauth,
      const void *data_in, uint16_t data_in_len, void **data_out, uint16_t *data_out_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_extended_auth.c:113,1
    - Dst: memset
      Src: /src/mosquitto/src/plugin_extended_auth.c:114,1
    - Dst: struct mosquitto__callback*::cb
      Src: /src/mosquitto/src/plugin_extended_auth.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 6
    argNames:
    - opts
    - context
    - data_in
    - data_in_len
    - data_out
    - data_out_len
    argTypes:
    - struct mosquitto__security_options*
    - struct mosquitto*
    - void*
    - uint16_t
    - void**
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 132
    functionName: plugin__ext_auth_continue
    functionSourceFile: /src/mosquitto/src/plugin_extended_auth.c
    functionUses: 0
    functionsReached:
    - struct mosquitto__callback*::cb
    - DL_FOREACH_SAFE
    - memset
    linkageType: ''
    returnType: int
    signature: int plugin__ext_auth_continue(struct mosquitto__security_options *opts,
      struct mosquitto *context, const void *data_in, uint16_t data_in_len, void **data_out,
      uint16_t *data_out_len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: plugin__ext_auth_continue
      Src: /src/mosquitto/src/plugin_extended_auth.c:148,1
    - Dst: plugin__ext_auth_continue
      Src: /src/mosquitto/src/plugin_extended_auth.c:164,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 5
    argNames:
    - context
    - data_in
    - data_in_len
    - data_out
    - data_out_len
    argTypes:
    - struct mosquitto*
    - void*
    - uint16_t
    - void**
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 176
    functionName: mosquitto_security_auth_continue
    functionSourceFile: /src/mosquitto/src/plugin_extended_auth.c
    functionUses: 1
    functionsReached:
    - plugin__ext_auth_continue
    linkageType: ''
    returnType: int
    signature: int mosquitto_security_auth_continue(struct mosquitto *context, const
      void *data_in, uint16_t data_in_len, void **data_out, uint16_t *data_out_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/mux_epoll.c:48,1
    - Dst: epoll_create
      Src: /src/mosquitto/src/mux_epoll.c:51,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mux_epoll.c:52,1
    - Dst: strerror
      Src: /src/mosquitto/src/mux_epoll.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: mux_epoll__init
    functionSourceFile: /src/mosquitto/src/mux_epoll.c
    functionUses: 0
    functionsReached:
    - log__printf
    - epoll_create
    - strerror
    - memset
    linkageType: ''
    returnType: int
    signature: int mux_epoll__init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/mux_epoll.c:65,1
    - Dst: epoll_ctl
      Src: /src/mosquitto/src/mux_epoll.c:68,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mux_epoll.c:69,1
    - Dst: strerror
      Src: /src/mosquitto/src/mux_epoll.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - listensock
    - listensock_count
    argTypes:
    - struct mosquitto__listener_sock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: mux_epoll__add_listeners
    functionSourceFile: /src/mosquitto/src/mux_epoll.c
    functionUses: 0
    functionsReached:
    - epoll_ctl
    - strerror
    - log__printf
    - memset
    linkageType: ''
    returnType: int
    signature: int mux_epoll__add_listeners(struct mosquitto__listener_sock *listensock,
      int listensock_count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epoll_ctl
      Src: /src/mosquitto/src/mux_epoll.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - listensock
    - listensock_count
    argTypes:
    - struct mosquitto__listener_sock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: mux_epoll__delete_listeners
    functionSourceFile: /src/mosquitto/src/mux_epoll.c
    functionUses: 0
    functionsReached:
    - epoll_ctl
    linkageType: ''
    returnType: int
    signature: int mux_epoll__delete_listeners(struct mosquitto__listener_sock *listensock,
      int listensock_count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/mux_epoll.c:95,1
    - Dst: epoll_ctl
      Src: /src/mosquitto/src/mux_epoll.c:98,1
    - Dst: epoll_ctl
      Src: /src/mosquitto/src/mux_epoll.c:99,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mux_epoll.c:100,1
    - Dst: strerror
      Src: /src/mosquitto/src/mux_epoll.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 106
    functionName: mux_epoll__add_out
    functionSourceFile: /src/mosquitto/src/mux_epoll.c
    functionUses: 0
    functionsReached:
    - epoll_ctl
    - strerror
    - log__printf
    - memset
    linkageType: ''
    returnType: int
    signature: int mux_epoll__add_out(struct mosquitto *context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/mux_epoll.c:114,1
    - Dst: epoll_ctl
      Src: /src/mosquitto/src/mux_epoll.c:117,1
    - Dst: epoll_ctl
      Src: /src/mosquitto/src/mux_epoll.c:118,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mux_epoll.c:119,1
    - Dst: strerror
      Src: /src/mosquitto/src/mux_epoll.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 125
    functionName: mux_epoll__remove_out
    functionSourceFile: /src/mosquitto/src/mux_epoll.c
    functionUses: 0
    functionsReached:
    - epoll_ctl
    - strerror
    - log__printf
    - memset
    linkageType: ''
    returnType: int
    signature: int mux_epoll__remove_out(struct mosquitto *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/mux_epoll.c:132,1
    - Dst: epoll_ctl
      Src: /src/mosquitto/src/mux_epoll.c:135,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mux_epoll.c:137,1
    - Dst: strerror
      Src: /src/mosquitto/src/mux_epoll.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 142
    functionName: mux_epoll__new
    functionSourceFile: /src/mosquitto/src/mux_epoll.c
    functionUses: 0
    functionsReached:
    - epoll_ctl
    - strerror
    - log__printf
    - memset
    linkageType: ''
    returnType: int
    signature: int mux_epoll__new(struct mosquitto *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: epoll_ctl
      Src: /src/mosquitto/src/mux_epoll.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: mux_epoll__delete
    functionSourceFile: /src/mosquitto/src/mux_epoll.c
    functionUses: 0
    functionsReached:
    - epoll_ctl
    linkageType: ''
    returnType: int
    signature: int mux_epoll__delete(struct mosquitto *context)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/mux_epoll.c:163,1
    - Dst: epoll_wait
      Src: /src/mosquitto/src/mux_epoll.c:165,1
    - Dst: epoll_wait
      Src: /src/mosquitto/src/mux_epoll.c:167,1
    - Dst: mosquitto_time
      Src: /src/mosquitto/src/mux_epoll.c:170,1
    - Dst: time
      Src: /src/mosquitto/src/mux_epoll.c:171,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mux_epoll.c:176,1
    - Dst: strerror
      Src: /src/mosquitto/src/mux_epoll.c:176,1
    - Dst: loop_handle_reads_writes
      Src: /src/mosquitto/src/mux_epoll.c:185,1
    - Dst: net__socket_accept
      Src: /src/mosquitto/src/mux_epoll.c:190,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 202
    functionName: mux_epoll__handle
    functionSourceFile: /src/mosquitto/src/mux_epoll.c
    functionUses: 0
    functionsReached:
    - epoll_wait
    - mosquitto_time
    - loop_handle_reads_writes
    - memset
    - strerror
    - net__socket_accept
    - log__printf
    - time
    linkageType: ''
    returnType: int
    signature: int mux_epoll__handle(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/mosquitto/src/mux_epoll.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: mux_epoll__cleanup
    functionSourceFile: /src/mosquitto/src/mux_epoll.c
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int mux_epoll__cleanup(void)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: lws_service_fd
      Src: /src/mosquitto/src/mux_epoll.c:229,1
    - Dst: lws_get_context
      Src: /src/mosquitto/src/mux_epoll.c:229,1
    - Dst: getsockopt
      Src: /src/mosquitto/src/mux_epoll.c:243,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/src/mux_epoll.c:245,1
    - Dst: bridge__connect_step3
      Src: /src/mosquitto/src/mux_epoll.c:248,1
    - Dst: do_disconnect
      Src: /src/mosquitto/src/mux_epoll.c:253,1
    - Dst: packet__write
      Src: /src/mosquitto/src/mux_epoll.c:257,1
    - Dst: do_disconnect
      Src: /src/mosquitto/src/mux_epoll.c:259,1
    - Dst: packet__read
      Src: /src/mosquitto/src/mux_epoll.c:274,1
    - Dst: http__read
      Src: /src/mosquitto/src/mux_epoll.c:278,1
    - Dst: proxy_v2__read
      Src: /src/mosquitto/src/mux_epoll.c:284,1
    - Dst: proxy_v1__read
      Src: /src/mosquitto/src/mux_epoll.c:287,1
    - Dst: do_disconnect
      Src: /src/mosquitto/src/mux_epoll.c:295,1
    - Dst: SSL_DATA_PENDING
      Src: /src/mosquitto/src/mux_epoll.c:298,1
    - Dst: do_disconnect
      Src: /src/mosquitto/src/mux_epoll.c:301,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 63
    argCount: 2
    argNames:
    - context
    - events
    argTypes:
    - struct mosquitto*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 213
    functionDepth: 5
    functionLinenumber: 213
    functionLinenumberEnd: 305
    functionName: loop_handle_reads_writes
    functionSourceFile: /src/mosquitto/src/mux_epoll.c
    functionUses: 1
    functionsReached:
    - proxy_v2__read
    - lws_service_fd
    - proxy_v1__read
    - do_disconnect
    - packet__read
    - bridge__connect_step3
    - getsockopt
    - packet__write
    - mosquitto__set_state
    - SSL_DATA_PENDING
    - lws_get_context
    - http__read
    linkageType: ''
    returnType: void
    signature: void loop_handle_reads_writes(struct mosquitto *context, uint32_t events)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: password_file__parse
      Src: /src/mosquitto/src/password_file.c:37,1
    - Dst: config__plugin_add_secopt
      Src: /src/mosquitto/src/password_file.c:42,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/src/password_file.c:45,1
    - Dst: password_file__parse
      Src: /src/mosquitto/src/password_file.c:51,1
    - Dst: config__plugin_add_secopt
      Src: /src/mosquitto/src/password_file.c:56,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/src/password_file.c:59,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 65
    functionName: broker_password_file__init
    functionSourceFile: /src/mosquitto/src/password_file.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - password_file__parse
    - config__plugin_add_secopt
    linkageType: ''
    returnType: int
    signature: int broker_password_file__init(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/src/password_file.c:73,1
    - Dst: password_file__cleanup
      Src: /src/mosquitto/src/password_file.c:76,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/src/password_file.c:81,1
    - Dst: password_file__cleanup
      Src: /src/mosquitto/src/password_file.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 87
    functionName: broker_password_file__cleanup
    functionSourceFile: /src/mosquitto/src/password_file.c
    functionUses: 0
    functionsReached:
    - password_file__cleanup
    - mosquitto_callback_unregister
    linkageType: ''
    returnType: void
    signature: void broker_password_file__cleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/src/plugin_v4.c:41,1
    - Dst: mosquitto_plugin_id_t*::lib::unpwd_check_v4
      Src: /src/mosquitto/src/plugin_v4.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: plugin_v4_basic_auth
    functionSourceFile: /src/mosquitto/src/plugin_v4.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - mosquitto_plugin_id_t*::lib::unpwd_check_v4
    linkageType: ''
    returnType: int
    signature: int plugin_v4_basic_auth(int event, void *event_data, void *userdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/src/plugin_v4.c:62,1
    - Dst: memset
      Src: /src/mosquitto/src/plugin_v4.c:68,1
    - Dst: acl__pre_check
      Src: /src/mosquitto/src/plugin_v4.c:75,1
    - Dst: mosquitto_plugin_id_t*::lib::acl_check_v4
      Src: /src/mosquitto/src/plugin_v4.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 85
    functionName: plugin_v4_acl_check
    functionSourceFile: /src/mosquitto/src/plugin_v4.c
    functionUses: 0
    functionsReached:
    - acl__pre_check
    - UNUSED
    - memset
    - mosquitto_plugin_id_t*::lib::acl_check_v4
    linkageType: ''
    returnType: int
    signature: int plugin_v4_acl_check(int event, void *event_data, void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/src/plugin_v4.c:93,1
    - Dst: mosquitto_plugin_id_t*::lib::auth_start_v4
      Src: /src/mosquitto/src/plugin_v4.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 106
    functionName: plugin_v4_auth_start
    functionSourceFile: /src/mosquitto/src/plugin_v4.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - mosquitto_plugin_id_t*::lib::auth_start_v4
    linkageType: ''
    returnType: int
    signature: int plugin_v4_auth_start(int event, void *event_data, void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/src/plugin_v4.c:114,1
    - Dst: mosquitto_plugin_id_t*::lib::auth_continue_v4
      Src: /src/mosquitto/src/plugin_v4.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 126
    functionName: plugin_v4_auth_continue
    functionSourceFile: /src/mosquitto/src/plugin_v4.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - mosquitto_plugin_id_t*::lib::auth_continue_v4
    linkageType: ''
    returnType: int
    signature: int plugin_v4_auth_continue(int event, void *event_data, void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/src/plugin_v4.c:134,1
    - Dst: mosquitto_plugin_id_t*::lib::psk_key_get_v4
      Src: /src/mosquitto/src/plugin_v4.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 147
    functionName: plugin_v4_psk_key_get
    functionSourceFile: /src/mosquitto/src/plugin_v4.c
    functionUses: 0
    functionsReached:
    - mosquitto_plugin_id_t*::lib::psk_key_get_v4
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int plugin_v4_psk_key_get(int event, void *event_data, void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/src/plugin_v4.c:155,1
    - Dst: UNUSED
      Src: /src/mosquitto/src/plugin_v4.c:156,1
    - Dst: mosquitto_plugin_id_t*::lib::security_cleanup_v4
      Src: /src/mosquitto/src/plugin_v4.c:158,1
    - Dst: mosquitto_plugin_id_t*::lib::security_init_v4
      Src: /src/mosquitto/src/plugin_v4.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 173
    functionName: plugin_v4_reload
    functionSourceFile: /src/mosquitto/src/plugin_v4.c
    functionUses: 0
    functionsReached:
    - mosquitto_plugin_id_t*::lib::security_init_v4
    - UNUSED
    - mosquitto_plugin_id_t*::lib::security_cleanup_v4
    linkageType: ''
    returnType: int
    signature: int plugin_v4_reload(int event, void *event_data, void *userdata)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: LIB_SYM
      Src: /src/mosquitto/src/plugin_v4.c:180,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v4.c:181,1
    - Dst: LIB_ERROR
      Src: /src/mosquitto/src/plugin_v4.c:183,1
    - Dst: LIB_SYM
      Src: /src/mosquitto/src/plugin_v4.c:186,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v4.c:187,1
    - Dst: LIB_ERROR
      Src: /src/mosquitto/src/plugin_v4.c:189,1
    - Dst: LIB_SYM
      Src: /src/mosquitto/src/plugin_v4.c:193,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v4.c:194,1
    - Dst: LIB_ERROR
      Src: /src/mosquitto/src/plugin_v4.c:196,1
    - Dst: LIB_SYM
      Src: /src/mosquitto/src/plugin_v4.c:200,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v4.c:201,1
    - Dst: LIB_ERROR
      Src: /src/mosquitto/src/plugin_v4.c:203,1
    - Dst: LIB_SYM
      Src: /src/mosquitto/src/plugin_v4.c:207,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v4.c:208,1
    - Dst: LIB_ERROR
      Src: /src/mosquitto/src/plugin_v4.c:210,1
    - Dst: LIB_SYM
      Src: /src/mosquitto/src/plugin_v4.c:214,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v4.c:216,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v4.c:219,1
    - Dst: LIB_SYM
      Src: /src/mosquitto/src/plugin_v4.c:223,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v4.c:225,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v4.c:228,1
    - Dst: LIB_SYM
      Src: /src/mosquitto/src/plugin_v4.c:232,1
    - Dst: LIB_SYM
      Src: /src/mosquitto/src/plugin_v4.c:233,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v4.c:237,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v4.c:240,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v4.c:245,1
    - Dst: mosquitto_plugin_id_t*::lib::plugin_init_v4
      Src: /src/mosquitto/src/plugin_v4.c:254,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v4.c:256,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/src/plugin_v4.c:262,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/src/plugin_v4.c:265,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/src/plugin_v4.c:268,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/src/plugin_v4.c:271,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/src/plugin_v4.c:274,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/src/plugin_v4.c:277,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 77
    argCount: 2
    argNames:
    - plugin
    - lib
    argTypes:
    - mosquitto_plugin_id_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 281
    functionName: plugin__load_v4
    functionSourceFile: /src/mosquitto/src/plugin_v4.c
    functionUses: 1
    functionsReached:
    - mosquitto_callback_register
    - mosquitto_plugin_id_t*::lib::plugin_init_v4
    - log__printf
    - LIB_ERROR
    - LIB_SYM
    linkageType: ''
    returnType: int
    signature: int plugin__load_v4(mosquitto_plugin_id_t *plugin, void *lib)
  - BBCount: 31
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 64
    argCount: 1
    argNames:
    - event
    argTypes:
    - enum mosquitto_plugin_event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 91
    functionName: get_event_name
    functionSourceFile: /src/mosquitto/src/plugin_callbacks.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *get_event_name(enum mosquitto_plugin_event event)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cb_base
    - identifier
    - cb_func
    argTypes:
    - struct mosquitto__callback*
    - mosquitto_plugin_id_t*
    - MOSQ_FUNC_generic_callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: check_callback_exists
    functionSourceFile: /src/mosquitto/src/plugin_callbacks.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool check_callback_exists(struct mosquitto__callback *cb_base, mosquitto_plugin_id_t
      *identifier, MOSQ_FUNC_generic_callback cb_func)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: DL_FOREACH_SAFE
    functionSourceFile: /src/mosquitto/src/plugin_callbacks.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DL_FOREACH_SAFE(cb_base, tail, tmp)
  - BBCount: 31
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 171
    functionName: plugin__get_callback_base
    functionSourceFile: /src/mosquitto/src/plugin_callbacks.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct mosquitto__callback
    signature: struct mosquitto__callback **plugin__get_callback_base(struct mosquitto__security_options
      *security_options, enum mosquitto_plugin_event event)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: plugin__get_callback_base
      Src: /src/mosquitto/src/plugin_callbacks.c:183,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_callbacks.c:188,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/src/plugin_callbacks.c:190,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/plugin_callbacks.c:191,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/src/plugin_callbacks.c:197,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/plugin_callbacks.c:198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - plugin
    - own
    argTypes:
    - mosquitto_plugin_id_t*
    - struct plugin_own_callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 201
    functionName: remove_callback
    functionSourceFile: /src/mosquitto/src/plugin_callbacks.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - DL_DELETE
    - DL_FOREACH_SAFE
    - plugin__get_callback_base
    linkageType: ''
    returnType: int
    signature: int remove_callback(mosquitto_plugin_id_t *plugin, struct plugin_own_callback
      *own)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: control__register_callback
      Src: /src/mosquitto/src/plugin_callbacks.c:220,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/plugin_callbacks.c:223,1
    - Dst: DL_APPEND
      Src: /src/mosquitto/src/plugin_callbacks.c:229,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_callbacks.c:232,1
    - Dst: get_event_name
      Src: /src/mosquitto/src/plugin_callbacks.c:233,1
    - Dst: plugin__get_callback_base
      Src: /src/mosquitto/src/plugin_callbacks.c:240,1
    - Dst: check_callback_exists
      Src: /src/mosquitto/src/plugin_callbacks.c:245,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/plugin_callbacks.c:249,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/src/plugin_callbacks.c:251,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/plugin_callbacks.c:252,1
    - Dst: DL_APPEND
      Src: /src/mosquitto/src/plugin_callbacks.c:256,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_callbacks.c:263,1
    - Dst: get_event_name
      Src: /src/mosquitto/src/plugin_callbacks.c:264,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_callbacks.c:266,1
    - Dst: get_event_name
      Src: /src/mosquitto/src/plugin_callbacks.c:267,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 5
    argNames:
    - identifier
    - event
    - cb_func
    - event_data
    - userdata
    argTypes:
    - mosquitto_plugin_id_t*
    - int
    - MOSQ_FUNC_generic_callback
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 271
    functionName: mosquitto_callback_register
    functionSourceFile: /src/mosquitto/src/plugin_callbacks.c
    functionUses: 19
    functionsReached:
    - mosquitto_FREE
    - DL_APPEND
    - check_callback_exists
    - mosquitto_calloc
    - control__register_callback
    - get_event_name
    - plugin__get_callback_base
    - DL_DELETE
    - log__printf
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: "BROKER_EXPORT mosquitto_callback_register(\n\t\tmosquitto_plugin_id_t
      *identifier,\n\t\tint event,\n\t\tMOSQ_FUNC_generic_callback cb_func,\n\t\tconst
      void *event_data,\n\t\tvoid *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: control__unregister_all_callbacks
      Src: /src/mosquitto/src/plugin_callbacks.c:282,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_callbacks.c:284,1
    - Dst: remove_callback
      Src: /src/mosquitto/src/plugin_callbacks.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - mosquitto_plugin_id_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 288
    functionName: plugin__callback_unregister_all
    functionSourceFile: /src/mosquitto/src/plugin_callbacks.c
    functionUses: 0
    functionsReached:
    - remove_callback
    - control__unregister_all_callbacks
    - DL_FOREACH_SAFE
    linkageType: ''
    returnType: int
    signature: int plugin__callback_unregister_all(mosquitto_plugin_id_t *plugin)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: control__unregister_callback
      Src: /src/mosquitto/src/plugin_callbacks.c:304,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_callbacks.c:307,1
    - Dst: remove_callback
      Src: /src/mosquitto/src/plugin_callbacks.c:309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - identifier
    - event
    - cb_func
    - event_data
    argTypes:
    - mosquitto_plugin_id_t*
    - int
    - MOSQ_FUNC_generic_callback
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 314
    functionName: mosquitto_callback_unregister
    functionSourceFile: /src/mosquitto/src/plugin_callbacks.c
    functionUses: 16
    functionsReached:
    - control__unregister_callback
    - DL_FOREACH_SAFE
    - remove_callback
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: "BROKER_EXPORT mosquitto_callback_unregister(\n\t\tmosquitto_plugin_id_t
      *identifier,\n\t\tint event,\n\t\tMOSQ_FUNC_generic_callback cb_func,\n\t\tconst
      void *event_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LIB_SYM
      Src: /src/mosquitto/src/plugin_v5.c:30,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v5.c:31,1
    - Dst: LIB_ERROR
      Src: /src/mosquitto/src/plugin_v5.c:33,1
    - Dst: LIB_CLOSE
      Src: /src/mosquitto/src/plugin_v5.c:34,1
    - Dst: LIB_SYM
      Src: /src/mosquitto/src/plugin_v5.c:38,1
    - Dst: mosquitto_plugin_id_t*::lib::plugin_init_v5
      Src: /src/mosquitto/src/plugin_v5.c:45,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v5.c:47,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v5.c:53,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v5.c:56,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - plugin
    - lib
    argTypes:
    - mosquitto_plugin_id_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 61
    functionName: plugin__load_v5
    functionSourceFile: /src/mosquitto/src/plugin_v5.c
    functionUses: 1
    functionsReached:
    - log__printf
    - LIB_CLOSE
    - LIB_ERROR
    - LIB_SYM
    - mosquitto_plugin_id_t*::lib::plugin_init_v5
    linkageType: ''
    returnType: int
    signature: int plugin__load_v5(mosquitto_plugin_id_t *plugin, void *lib)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_plugin_id_t*::lib::plugin_cleanup_v5
      Src: /src/mosquitto/src/plugin_cleanup.c:40,1
    - Dst: mosquitto_plugin_id_t*::lib::plugin_cleanup_v4
      Src: /src/mosquitto/src/plugin_cleanup.c:47,1
    - Dst: mosquitto_plugin_id_t*::lib::plugin_cleanup_v3
      Src: /src/mosquitto/src/plugin_cleanup.c:54,1
    - Dst: mosquitto_plugin_id_t*::lib::plugin_cleanup_v2
      Src: /src/mosquitto/src/plugin_cleanup.c:61,1
    - Dst: plugin__callback_unregister_all
      Src: /src/mosquitto/src/plugin_cleanup.c:68,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/plugin_cleanup.c:69,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/plugin_cleanup.c:70,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_cleanup.c:71,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/src/plugin_cleanup.c:72,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/plugin_cleanup.c:73,1
    - Dst: memset
      Src: /src/mosquitto/src/plugin_cleanup.c:79,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - mosquitto_plugin_id_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 80
    functionName: plugin__unload_single
    functionSourceFile: /src/mosquitto/src/plugin_cleanup.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - mosquitto_plugin_id_t*::lib::plugin_cleanup_v4
    - mosquitto_plugin_id_t*::lib::plugin_cleanup_v2
    - mosquitto_plugin_id_t*::lib::plugin_cleanup_v5
    - DL_DELETE
    - DL_FOREACH_SAFE
    - mosquitto_plugin_id_t*::lib::plugin_cleanup_v3
    - memset
    - plugin__callback_unregister_all
    linkageType: ''
    returnType: void
    signature: void plugin__unload_single(mosquitto_plugin_id_t *plugin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: plugin__unload_single
      Src: /src/mosquitto/src/plugin_cleanup.c:86,1
    - Dst: mosquitto_security_cleanup
      Src: /src/mosquitto/src/plugin_cleanup.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 4
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: plugin__unload_all
    functionSourceFile: /src/mosquitto/src/plugin_cleanup.c
    functionUses: 1
    functionsReached:
    - plugin__unload_single
    - mosquitto_security_cleanup
    linkageType: ''
    returnType: int
    signature: int plugin__unload_all(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_plugin_id_t*::lib::security_cleanup_v4
      Src: /src/mosquitto/src/plugin_cleanup.c:102,1
    - Dst: mosquitto_plugin_id_t*::lib::security_cleanup_v3
      Src: /src/mosquitto/src/plugin_cleanup.c:109,1
    - Dst: mosquitto_plugin_id_t*::lib::security_cleanup_v2
      Src: /src/mosquitto/src/plugin_cleanup.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - plugin
    - reload
    argTypes:
    - mosquitto_plugin_id_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 126
    functionName: plugin__security_cleanup_single
    functionSourceFile: /src/mosquitto/src/plugin_cleanup.c
    functionUses: 0
    functionsReached:
    - mosquitto_plugin_id_t*::lib::security_cleanup_v3
    - mosquitto_plugin_id_t*::lib::security_cleanup_v4
    - mosquitto_plugin_id_t*::lib::security_cleanup_v2
    linkageType: ''
    returnType: int
    signature: int plugin__security_cleanup_single(mosquitto_plugin_id_t *plugin,
      bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: plugin__security_cleanup_single
      Src: /src/mosquitto/src/plugin_cleanup.c:132,1
    - Dst: mosquitto_security_cleanup_default
      Src: /src/mosquitto/src/plugin_cleanup.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - reload
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 136
    functionName: mosquitto_security_cleanup
    functionSourceFile: /src/mosquitto/src/plugin_cleanup.c
    functionUses: 3
    functionsReached:
    - plugin__security_cleanup_single
    - mosquitto_security_cleanup_default
    linkageType: ''
    returnType: int
    signature: int mosquitto_security_cleanup(bool reload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: calc_index
    functionSourceFile: /src/mosquitto/src/keepalive.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int calc_index(struct mosquitto *context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/keepalive.c:86,1
    - Dst: log__printf
      Src: /src/mosquitto/src/keepalive.c:88,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/keepalive.c:94,1
    - Dst: net__is_connected
      Src: /src/mosquitto/src/keepalive.c:95,1
    - Dst: keepalive__add
      Src: /src/mosquitto/src/keepalive.c:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 102
    functionName: keepalive__init
    functionSourceFile: /src/mosquitto/src/keepalive.c
    functionUses: 6
    functionsReached:
    - net__is_connected
    - mosquitto_calloc
    - keepalive__add
    - HASH_ITER
    - log__printf
    linkageType: ''
    returnType: int
    signature: int keepalive__init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DL_DELETE2
      Src: /src/mosquitto/src/keepalive.c:111,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/src/keepalive.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 118
    functionName: keepalive__cleanup
    functionSourceFile: /src/mosquitto/src/keepalive.c
    functionUses: 6
    functionsReached:
    - mosquitto_free
    - DL_DELETE2
    linkageType: ''
    returnType: void
    signature: void keepalive__cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DL_DELETE2
      Src: /src/mosquitto/src/keepalive.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: DL_FOREACH_SAFE2
    functionSourceFile: /src/mosquitto/src/keepalive.c
    functionUses: 0
    functionsReached:
    - DL_DELETE2
    linkageType: ''
    returnType: void
    signature: void DL_FOREACH_SAFE2(keepalive_list[idx], context, ctxt_tmp, keepalive_next)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: net__is_connected
      Src: /src/mosquitto/src/keepalive.c:124,1
    - Dst: DL_APPEND2
      Src: /src/mosquitto/src/keepalive.c:133,1
    - Dst: calc_index
      Src: /src/mosquitto/src/keepalive.c:133,1
    - Dst: UNUSED
      Src: /src/mosquitto/src/keepalive.c:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 139
    functionName: keepalive__add
    functionSourceFile: /src/mosquitto/src/keepalive.c
    functionUses: 5
    functionsReached:
    - UNUSED
    - calc_index
    - net__is_connected
    - DL_APPEND2
    linkageType: ''
    returnType: int
    signature: int keepalive__add(struct mosquitto *context)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: loop__update_next_event
      Src: /src/mosquitto/src/keepalive.c:160,1
    - Dst: net__is_connected
      Src: /src/mosquitto/src/keepalive.c:170,1
    - Dst: do_disconnect
      Src: /src/mosquitto/src/keepalive.c:172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 179
    functionName: keepalive__check
    functionSourceFile: /src/mosquitto/src/keepalive.c
    functionUses: 3
    functionsReached:
    - loop__update_next_event
    - do_disconnect
    - net__is_connected
    linkageType: ''
    returnType: void
    signature: void keepalive__check(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: net__is_connected
      Src: /src/mosquitto/src/keepalive.c:170,1
    - Dst: do_disconnect
      Src: /src/mosquitto/src/keepalive.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: DL_FOREACH_SAFE2
    functionSourceFile: /src/mosquitto/src/keepalive.c
    functionUses: 0
    functionsReached:
    - net__is_connected
    - do_disconnect
    linkageType: ''
    returnType: void
    signature: void DL_FOREACH_SAFE2(keepalive_list[idx], context, ctxt_tmp, keepalive_next)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: loop__update_next_event
      Src: /src/mosquitto/src/keepalive.c:193,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/keepalive.c:198,1
    - Dst: net__is_connected
      Src: /src/mosquitto/src/keepalive.c:199,1
    - Dst: do_disconnect
      Src: /src/mosquitto/src/keepalive.c:207,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 212
    functionName: keepalive__check
    functionSourceFile: /src/mosquitto/src/keepalive.c
    functionUses: 3
    functionsReached:
    - loop__update_next_event
    - do_disconnect
    - net__is_connected
    - HASH_ITER
    linkageType: ''
    returnType: void
    signature: void keepalive__check(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calc_index
      Src: /src/mosquitto/src/keepalive.c:225,1
    - Dst: DL_DELETE2
      Src: /src/mosquitto/src/keepalive.c:227,1
    - Dst: UNUSED
      Src: /src/mosquitto/src/keepalive.c:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 235
    functionName: keepalive__remove
    functionSourceFile: /src/mosquitto/src/keepalive.c
    functionUses: 1
    functionsReached:
    - calc_index
    - UNUSED
    - DL_DELETE2
    linkageType: ''
    returnType: int
    signature: int keepalive__remove(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keepalive__remove
      Src: /src/mosquitto/src/keepalive.c:241,1
    - Dst: keepalive__add
      Src: /src/mosquitto/src/keepalive.c:244,1
    - Dst: UNUSED
      Src: /src/mosquitto/src/keepalive.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 249
    functionName: keepalive__update
    functionSourceFile: /src/mosquitto/src/keepalive.c
    functionUses: 2
    functionsReached:
    - keepalive__remove
    - keepalive__add
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int keepalive__update(struct mosquitto *context)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/src/bridge.c:72,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/bridge.c:74,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/bridge.c:79,1
    - Dst: strlen
      Src: /src/mosquitto/src/bridge.c:79,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge.c:82,1
    - Dst: context__init
      Src: /src/mosquitto/src/bridge.c:85,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge.c:87,1
    - Dst: context__add_to_by_id
      Src: /src/mosquitto/src/bridge.c:91,1
    - Dst: plugin_persist__handle_client_add
      Src: /src/mosquitto/src/bridge.c:131,1
    - Dst: session_expiry__remove
      Src: /src/mosquitto/src/bridge.c:135,1
    - Dst: mosquitto_realloc
      Src: /src/mosquitto/src/bridge.c:139,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 62
    argCount: 1
    argNames:
    - bridge
    argTypes:
    - struct mosquitto__bridge*
    assertStmts:
    - condition: (bridge)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/mosquitto/src/bridge.c
    constantsTouched: []
    func_position:
      end: 149
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 149
    functionName: bridge__new
    functionSourceFile: /src/mosquitto/src/bridge.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - mosquitto_FREE
    - context__init
    - assert
    - context__add_to_by_id
    - strlen
    - mosquitto_realloc
    - HASH_FIND
    - plugin_persist__handle_client_add
    - session_expiry__remove
    linkageType: ''
    returnType: struct mosquitto
    signature: struct mosquitto *bridge__new(struct mosquitto__bridge *bridge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send__disconnect
      Src: /src/mosquitto/src/bridge.c:154,1
    - Dst: context__cleanup
      Src: /src/mosquitto/src/bridge.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: bridge__destroy
    functionSourceFile: /src/mosquitto/src/bridge.c
    functionUses: 0
    functionsReached:
    - context__cleanup
    - send__disconnect
    linkageType: ''
    returnType: void
    signature: void bridge__destroy(struct mosquitto *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bridge__new
      Src: /src/mosquitto/src/bridge.c:165,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge.c:167,1
    - Dst: assert
      Src: /src/mosquitto/src/bridge.c:170,1
    - Dst: loop__update_next_event
      Src: /src/mosquitto/src/bridge.c:174,1
    - Dst: bridge__connect_step1
      Src: /src/mosquitto/src/bridge.c:175,1
    - Dst: bridge__connect
      Src: /src/mosquitto/src/bridge.c:177,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge.c:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (context)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/mosquitto/src/bridge.c
    constantsTouched: []
    func_position:
      end: 187
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 187
    functionName: bridge__start_all
    functionSourceFile: /src/mosquitto/src/bridge.c
    functionUses: 1
    functionsReached:
    - bridge__connect
    - assert
    - loop__update_next_event
    - bridge__connect_step1
    - log__printf
    - bridge__new
    linkageType: ''
    returnType: void
    signature: void bridge__start_all(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/mosquitto/src/bridge.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 236
    functionName: bridge__set_tcp_user_timeout
    functionSourceFile: /src/mosquitto/src/bridge.c
    functionUses: 0
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int bridge__set_tcp_user_timeout(struct mosquitto *context)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/src/bridge.c:255,1
    - Dst: bridge__packet_cleanup
      Src: /src/mosquitto/src/bridge.c:265,1
    - Dst: db__message_reconnect_reset
      Src: /src/mosquitto/src/bridge.c:266,1
    - Dst: db__messages_delete
      Src: /src/mosquitto/src/bridge.c:268,1
    - Dst: sub__clean_session
      Src: /src/mosquitto/src/bridge.c:274,1
    - Dst: LL_FOREACH
      Src: /src/mosquitto/src/bridge.c:276,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge.c:278,1
    - Dst: sub__add
      Src: /src/mosquitto/src/bridge.c:288,1
    - Dst: retain__queue
      Src: /src/mosquitto/src/bridge.c:291,1
    - Dst: db__messages_easy_queue
      Src: /src/mosquitto/src/bridge.c:304,1
    - Dst: will__set
      Src: /src/mosquitto/src/bridge.c:308,1
    - Dst: strlen
      Src: /src/mosquitto/src/bridge.c:313,1
    - Dst: strlen
      Src: /src/mosquitto/src/bridge.c:313,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/bridge.c:314,1
    - Dst: snprintf
      Src: /src/mosquitto/src/bridge.c:319,1
    - Dst: db__messages_easy_queue
      Src: /src/mosquitto/src/bridge.c:323,1
    - Dst: will__set
      Src: /src/mosquitto/src/bridge.c:328,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge.c:329,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge.c:336,1
    - Dst: net__try_connect_step1
      Src: /src/mosquitto/src/bridge.c:337,1
    - Dst: mux__delete
      Src: /src/mosquitto/src/bridge.c:340,1
    - Dst: net__socket_close
      Src: /src/mosquitto/src/bridge.c:341,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge.c:344,1
    - Dst: strerror
      Src: /src/mosquitto/src/bridge.c:344,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge.c:346,1
    - Dst: gai_strerror
      Src: /src/mosquitto/src/bridge.c:346,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 89
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 353
    functionName: bridge__connect_step1
    functionSourceFile: /src/mosquitto/src/bridge.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - bridge__packet_cleanup
    - mux__delete
    - net__try_connect_step1
    - log__printf
    - net__socket_close
    - sub__add
    - strerror
    - will__set
    - db__messages_delete
    - mosquitto_malloc
    - gai_strerror
    - strlen
    - db__messages_easy_queue
    - db__message_reconnect_reset
    - retain__queue
    - sub__clean_session
    - LL_FOREACH
    - snprintf
    - mosquitto__set_state
    linkageType: ''
    returnType: int
    signature: int bridge__connect_step1(struct mosquitto *context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge.c:364,1
    - Dst: net__try_connect_step2
      Src: /src/mosquitto/src/bridge.c:365,1
    - Dst: mux__delete
      Src: /src/mosquitto/src/bridge.c:368,1
    - Dst: net__socket_close
      Src: /src/mosquitto/src/bridge.c:369,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge.c:372,1
    - Dst: strerror
      Src: /src/mosquitto/src/bridge.c:372,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge.c:374,1
    - Dst: gai_strerror
      Src: /src/mosquitto/src/bridge.c:374,1
    - Dst: HASH_ADD
      Src: /src/mosquitto/src/bridge.c:380,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/src/bridge.c:383,1
    - Dst: mux__add_out
      Src: /src/mosquitto/src/bridge.c:384,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 387
    functionName: bridge__connect_step2
    functionSourceFile: /src/mosquitto/src/bridge.c
    functionUses: 0
    functionsReached:
    - net__socket_close
    - mux__add_out
    - mux__delete
    - HASH_ADD
    - gai_strerror
    - mosquitto__set_state
    - strerror
    - log__printf
    - net__try_connect_step2
    linkageType: ''
    returnType: int
    signature: int bridge__connect_step2(struct mosquitto *context)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: net__socket_connect_step3
      Src: /src/mosquitto/src/bridge.c:398,1
    - Dst: mux__delete
      Src: /src/mosquitto/src/bridge.c:401,1
    - Dst: net__socket_close
      Src: /src/mosquitto/src/bridge.c:402,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge.c:405,1
    - Dst: strerror
      Src: /src/mosquitto/src/bridge.c:405,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge.c:407,1
    - Dst: gai_strerror
      Src: /src/mosquitto/src/bridge.c:407,1
    - Dst: loop__update_next_event
      Src: /src/mosquitto/src/bridge.c:415,1
    - Dst: bridge__set_tcp_keepalive
      Src: /src/mosquitto/src/bridge.c:418,1
    - Dst: bridge__set_tcp_user_timeout
      Src: /src/mosquitto/src/bridge.c:422,1
    - Dst: send__connect
      Src: /src/mosquitto/src/bridge.c:452,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge.c:461,1
    - Dst: strerror
      Src: /src/mosquitto/src/bridge.c:461,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge.c:463,1
    - Dst: gai_strerror
      Src: /src/mosquitto/src/bridge.c:463,1
    - Dst: mux__delete
      Src: /src/mosquitto/src/bridge.c:465,1
    - Dst: net__socket_close
      Src: /src/mosquitto/src/bridge.c:466,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 70
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 469
    functionName: bridge__connect_step3
    functionSourceFile: /src/mosquitto/src/bridge.c
    functionUses: 1
    functionsReached:
    - net__socket_close
    - mux__delete
    - net__socket_connect_step3
    - gai_strerror
    - send__connect
    - loop__update_next_event
    - strerror
    - bridge__set_tcp_keepalive
    - log__printf
    - bridge__set_tcp_user_timeout
    linkageType: ''
    returnType: int
    signature: int bridge__connect_step3(struct mosquitto *context)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/src/bridge.c:491,1
    - Dst: bridge__packet_cleanup
      Src: /src/mosquitto/src/bridge.c:503,1
    - Dst: db__message_reconnect_reset
      Src: /src/mosquitto/src/bridge.c:504,1
    - Dst: db__messages_delete
      Src: /src/mosquitto/src/bridge.c:506,1
    - Dst: sub__clean_session
      Src: /src/mosquitto/src/bridge.c:512,1
    - Dst: LL_FOREACH
      Src: /src/mosquitto/src/bridge.c:514,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge.c:516,1
    - Dst: sub__add
      Src: /src/mosquitto/src/bridge.c:526,1
    - Dst: db__messages_easy_queue
      Src: /src/mosquitto/src/bridge.c:541,1
    - Dst: will__set
      Src: /src/mosquitto/src/bridge.c:546,1
    - Dst: strlen
      Src: /src/mosquitto/src/bridge.c:551,1
    - Dst: strlen
      Src: /src/mosquitto/src/bridge.c:551,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/bridge.c:552,1
    - Dst: snprintf
      Src: /src/mosquitto/src/bridge.c:557,1
    - Dst: db__messages_easy_queue
      Src: /src/mosquitto/src/bridge.c:561,1
    - Dst: will__set
      Src: /src/mosquitto/src/bridge.c:566,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge.c:568,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge.c:571,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge.c:575,1
    - Dst: net__socket_connect
      Src: /src/mosquitto/src/bridge.c:576,1
    - Dst: mux__delete
      Src: /src/mosquitto/src/bridge.c:584,1
    - Dst: net__socket_close
      Src: /src/mosquitto/src/bridge.c:585,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge.c:588,1
    - Dst: strerror
      Src: /src/mosquitto/src/bridge.c:588,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge.c:590,1
    - Dst: gai_strerror
      Src: /src/mosquitto/src/bridge.c:590,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/src/bridge.c:595,1
    - Dst: mux__add_out
      Src: /src/mosquitto/src/bridge.c:596,1
    - Dst: HASH_ADD
      Src: /src/mosquitto/src/bridge.c:599,1
    - Dst: bridge__set_tcp_keepalive
      Src: /src/mosquitto/src/bridge.c:601,1
    - Dst: bridge__set_tcp_user_timeout
      Src: /src/mosquitto/src/bridge.c:605,1
    - Dst: send__connect
      Src: /src/mosquitto/src/bridge.c:635,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge.c:644,1
    - Dst: strerror
      Src: /src/mosquitto/src/bridge.c:644,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge.c:646,1
    - Dst: gai_strerror
      Src: /src/mosquitto/src/bridge.c:646,1
    - Dst: mux__delete
      Src: /src/mosquitto/src/bridge.c:648,1
    - Dst: net__socket_close
      Src: /src/mosquitto/src/bridge.c:649,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 143
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 652
    functionName: bridge__connect
    functionSourceFile: /src/mosquitto/src/bridge.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - bridge__packet_cleanup
    - mux__delete
    - net__socket_connect
    - send__connect
    - log__printf
    - net__socket_close
    - sub__add
    - strerror
    - will__set
    - mux__add_out
    - HASH_ADD
    - db__messages_delete
    - mosquitto_malloc
    - gai_strerror
    - strlen
    - bridge__set_tcp_keepalive
    - bridge__set_tcp_user_timeout
    - db__messages_easy_queue
    - db__message_reconnect_reset
    - sub__clean_session
    - LL_FOREACH
    - snprintf
    - mosquitto__set_state
    linkageType: ''
    returnType: int
    signature: int bridge__connect(struct mosquitto *context)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: send__real_publish
      Src: /src/mosquitto/src/bridge.c:677,1
    - Dst: mosquitto__mid_generate
      Src: /src/mosquitto/src/bridge.c:677,1
    - Dst: db__messages_easy_queue
      Src: /src/mosquitto/src/bridge.c:683,1
    - Dst: strlen
      Src: /src/mosquitto/src/bridge.c:685,1
    - Dst: strlen
      Src: /src/mosquitto/src/bridge.c:685,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/bridge.c:686,1
    - Dst: snprintf
      Src: /src/mosquitto/src/bridge.c:691,1
    - Dst: send__real_publish
      Src: /src/mosquitto/src/bridge.c:694,1
    - Dst: mosquitto__mid_generate
      Src: /src/mosquitto/src/bridge.c:694,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge.c:697,1
    - Dst: db__messages_easy_queue
      Src: /src/mosquitto/src/bridge.c:701,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge.c:702,1
    - Dst: LL_FOREACH
      Src: /src/mosquitto/src/bridge.c:706,1
    - Dst: send__subscribe
      Src: /src/mosquitto/src/bridge.c:719,1
    - Dst: send__unsubscribe
      Src: /src/mosquitto/src/bridge.c:724,1
    - Dst: memset
      Src: /src/mosquitto/src/bridge.c:734,1
    - Dst: LL_FOREACH
      Src: /src/mosquitto/src/bridge.c:735,1
    - Dst: retain__queue
      Src: /src/mosquitto/src/bridge.c:743,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 70
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 750
    functionName: bridge__on_connect
    functionSourceFile: /src/mosquitto/src/bridge.c
    functionUses: 0
    functionsReached:
    - db__messages_easy_queue
    - mosquitto_FREE
    - send__subscribe
    - retain__queue
    - LL_FOREACH
    - mosquitto_malloc
    - snprintf
    - mosquitto__mid_generate
    - strlen
    - send__real_publish
    - send__unsubscribe
    - memset
    linkageType: ''
    returnType: int
    signature: int bridge__on_connect(struct mosquitto *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/bridge.c:757,1
    - Dst: mux__new
      Src: /src/mosquitto/src/bridge.c:759,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge.c:760,1
    - Dst: strerror
      Src: /src/mosquitto/src/bridge.c:760,1
    - Dst: mux__add_out
      Src: /src/mosquitto/src/bridge.c:763,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 767
    functionName: bridge__register_local_connections
    functionSourceFile: /src/mosquitto/src/bridge.c
    functionUses: 0
    functionsReached:
    - mux__add_out
    - mux__new
    - strerror
    - HASH_ITER
    - log__printf
    linkageType: ''
    returnType: int
    signature: int bridge__register_local_connections(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/src/bridge.c:778,1
    - Dst: bridge__destroy
      Src: /src/mosquitto/src/bridge.c:784,1
    - Dst: strcmp
      Src: /src/mosquitto/src/bridge.c:790,1
    - Dst: bridge__new
      Src: /src/mosquitto/src/bridge.c:797,1
    - Dst: strcmp
      Src: /src/mosquitto/src/bridge.c:805,1
    - Dst: assert
      Src: /src/mosquitto/src/bridge.c:810,1
    - Dst: bridge__destroy
      Src: /src/mosquitto/src/bridge.c:812,1
    - Dst: bridge__new
      Src: /src/mosquitto/src/bridge.c:813,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (j<db.bridge_count)
      pos:
        line_end: 809
        line_start: 809
        source_file: /src/mosquitto/src/bridge.c
    constantsTouched: []
    func_position:
      end: 817
      start: 770
    functionDepth: 3
    functionLinenumber: 770
    functionLinenumberEnd: 817
    functionName: bridge__reload
    functionSourceFile: /src/mosquitto/src/bridge.c
    functionUses: 1
    functionsReached:
    - bridge__destroy
    - bridge__new
    - strcmp
    - assert
    linkageType: ''
    returnType: void
    signature: void bridge__reload(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: context__cleanup
      Src: /src/mosquitto/src/bridge.c:826,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge.c:829,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 830
    functionName: bridge__db_cleanup
    functionSourceFile: /src/mosquitto/src/bridge.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - context__cleanup
    linkageType: ''
    returnType: void
    signature: void bridge__db_cleanup(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/src/bridge.c:837,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge.c:848,1
    - Dst: mosquitto_realloc
      Src: /src/mosquitto/src/bridge.c:850,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge.c:853,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge.c:854,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge.c:855,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge.c:856,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge.c:857,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge.c:858,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge.c:861,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge.c:866,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge.c:871,1
    - Dst: SSL_CTX_free
      Src: /src/mosquitto/src/bridge.c:876,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge.c:882,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge.c:885,1
    - Dst: config__bridge_cleanup
      Src: /src/mosquitto/src/bridge.c:887,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts:
    - condition: (db.bridge_count > 0)
      pos:
        line_end: 836
        line_start: 836
        source_file: /src/mosquitto/src/bridge.c
    constantsTouched: []
    func_position:
      end: 889
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 889
    functionName: bridge__cleanup
    functionSourceFile: /src/mosquitto/src/bridge.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - SSL_CTX_free
    - assert
    - mosquitto_realloc
    - config__bridge_cleanup
    linkageType: ''
    returnType: void
    signature: void bridge__cleanup(struct mosquitto *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge.c:902,1
    - Dst: metrics__int_dec
      Src: /src/mosquitto/src/bridge.c:906,1
    - Dst: metrics__int_dec
      Src: /src/mosquitto/src/bridge.c:907,1
    - Dst: packet__cleanup
      Src: /src/mosquitto/src/bridge.c:911,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 912
    functionName: bridge__packet_cleanup
    functionSourceFile: /src/mosquitto/src/bridge.c
    functionUses: 2
    functionsReached:
    - mosquitto_FREE
    - packet__cleanup
    - metrics__int_dec
    linkageType: ''
    returnType: void
    signature: void bridge__packet_cleanup(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_getrandom
      Src: /src/mosquitto/src/bridge.c:918,1
    - Dst: abs
      Src: /src/mosquitto/src/bridge.c:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - low
    - high
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 920
    functionName: rand_between
    functionSourceFile: /src/mosquitto/src/bridge.c
    functionUses: 0
    functionsReached:
    - abs
    - mosquitto_getrandom
    linkageType: ''
    returnType: int
    signature: int rand_between(int low, int high)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rand_between
      Src: /src/mosquitto/src/bridge.c:930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bridge
    argTypes:
    - struct mosquitto__bridge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 923
    functionDepth: 1
    functionLinenumber: 923
    functionLinenumberEnd: 934
    functionName: bridge__backoff_step
    functionSourceFile: /src/mosquitto/src/bridge.c
    functionUses: 0
    functionsReached:
    - rand_between
    linkageType: ''
    returnType: void
    signature: void bridge__backoff_step(struct mosquitto__bridge *bridge)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bridge
    argTypes:
    - struct mosquitto__bridge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 940
    functionName: bridge__backoff_reset
    functionSourceFile: /src/mosquitto/src/bridge.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bridge__backoff_reset(struct mosquitto__bridge *bridge)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge.c:954,1
    - Dst: bridge__backoff_reset
      Src: /src/mosquitto/src/bridge.c:955,1
    - Dst: bridge__backoff_step
      Src: /src/mosquitto/src/bridge.c:957,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge.c:962,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - bridge
    argTypes:
    - struct mosquitto__bridge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 943
    functionDepth: 2
    functionLinenumber: 943
    functionLinenumberEnd: 963
    functionName: bridge__update_backoff
    functionSourceFile: /src/mosquitto/src/bridge.c
    functionUses: 0
    functionsReached:
    - log__printf
    - bridge__backoff_reset
    - bridge__backoff_step
    linkageType: ''
    returnType: void
    signature: void bridge__update_backoff(struct mosquitto__bridge *bridge)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/mosquitto/src/bridge.c:973,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/src/bridge.c:975,1
    - Dst: bridge__connect_step3
      Src: /src/mosquitto/src/bridge.c:978,1
    - Dst: do_disconnect
      Src: /src/mosquitto/src/bridge.c:982,1
    - Dst: do_disconnect
      Src: /src/mosquitto/src/bridge.c:986,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 966
    functionDepth: 2
    functionLinenumber: 966
    functionLinenumberEnd: 990
    functionName: bridge_check_pending
    functionSourceFile: /src/mosquitto/src/bridge.c
    functionUses: 0
    functionsReached:
    - getsockopt
    - bridge__connect_step3
    - do_disconnect
    - mosquitto__set_state
    linkageType: ''
    returnType: void
    signature: void bridge_check_pending(struct mosquitto *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/src/bridge.c:998,1
    - Dst: bridge__destroy
      Src: /src/mosquitto/src/bridge.c:999,1
    - Dst: bridge__new
      Src: /src/mosquitto/src/bridge.c:1000,1
    - Dst: loop__update_next_event
      Src: /src/mosquitto/src/bridge.c:1002,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 993
    functionDepth: 3
    functionLinenumber: 993
    functionLinenumberEnd: 1008
    functionName: reload_if_needed
    functionSourceFile: /src/mosquitto/src/bridge.c
    functionUses: 0
    functionsReached:
    - bridge__destroy
    - bridge__new
    - loop__update_next_event
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool reload_if_needed(struct mosquitto *context)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: net__is_connected
      Src: /src/mosquitto/src/bridge.c:1031,1
    - Dst: mosquitto__check_keepalive
      Src: /src/mosquitto/src/bridge.c:1032,1
    - Dst: bridge_check_pending
      Src: /src/mosquitto/src/bridge.c:1033,1
    - Dst: net__try_connect
      Src: /src/mosquitto/src/bridge.c:1043,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/src/bridge.c:1049,1
    - Dst: mux__delete
      Src: /src/mosquitto/src/bridge.c:1052,1
    - Dst: net__socket_close
      Src: /src/mosquitto/src/bridge.c:1053,1
    - Dst: getsockopt
      Src: /src/mosquitto/src/bridge.c:1058,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/src/bridge.c:1060,1
    - Dst: mux__delete
      Src: /src/mosquitto/src/bridge.c:1063,1
    - Dst: net__socket_close
      Src: /src/mosquitto/src/bridge.c:1064,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/src/bridge.c:1067,1
    - Dst: loop__update_next_event
      Src: /src/mosquitto/src/bridge.c:1070,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/src/bridge.c:1073,1
    - Dst: loop__update_next_event
      Src: /src/mosquitto/src/bridge.c:1076,1
    - Dst: reload_if_needed
      Src: /src/mosquitto/src/bridge.c:1081,1
    - Dst: bridge__update_backoff
      Src: /src/mosquitto/src/bridge.c:1087,1
    - Dst: loop__update_next_event
      Src: /src/mosquitto/src/bridge.c:1093,1
    - Dst: gai_error
      Src: /src/mosquitto/src/bridge.c:1101,1
    - Dst: bridge__connect_step2
      Src: /src/mosquitto/src/bridge.c:1105,1
    - Dst: mux__new
      Src: /src/mosquitto/src/bridge.c:1107,1
    - Dst: mux__add_out
      Src: /src/mosquitto/src/bridge.c:1109,1
    - Dst: mux__new
      Src: /src/mosquitto/src/bridge.c:1112,1
    - Dst: mux__add_out
      Src: /src/mosquitto/src/bridge.c:1113,1
    - Dst: freeaddrinfo
      Src: /src/mosquitto/src/bridge.c:1125,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge.c:1127,1
    - Dst: bridge__connect_step1
      Src: /src/mosquitto/src/bridge.c:1131,1
    - Dst: loop__update_next_event
      Src: /src/mosquitto/src/bridge.c:1140,1
    - Dst: bridge__connect
      Src: /src/mosquitto/src/bridge.c:1145,1
    - Dst: loop__update_next_event
      Src: /src/mosquitto/src/bridge.c:1150,1
    - Dst: mux__new
      Src: /src/mosquitto/src/bridge.c:1152,1
    - Dst: mux__add_out
      Src: /src/mosquitto/src/bridge.c:1154,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 125
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1011
    functionDepth: 4
    functionLinenumber: 1011
    functionLinenumberEnd: 1168
    functionName: bridge_check
    functionSourceFile: /src/mosquitto/src/bridge.c
    functionUses: 0
    functionsReached:
    - net__try_connect
    - mosquitto_FREE
    - bridge__connect
    - bridge__update_backoff
    - mux__delete
    - getsockopt
    - bridge_check_pending
    - loop__update_next_event
    - net__socket_close
    - COMPAT_CLOSE
    - bridge__connect_step2
    - freeaddrinfo
    - mux__add_out
    - bridge__connect_step1
    - gai_error
    - net__is_connected
    - mux__new
    - mosquitto__check_keepalive
    - reload_if_needed
    linkageType: ''
    returnType: void
    signature: void bridge_check(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/plugin_reload.c:33,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_reload.c:36,1
    - Dst: struct mosquitto__callback*::cb
      Src: /src/mosquitto/src/plugin_reload.c:37,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_reload.c:39,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/src/plugin_reload.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - opts
    argTypes:
    - struct mosquitto__security_options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 47
    functionName: plugin__handle_reload_single
    functionSourceFile: /src/mosquitto/src/plugin_reload.c
    functionUses: 0
    functionsReached:
    - mosquitto_strerror
    - DL_FOREACH_SAFE
    - struct mosquitto__callback*::cb
    - memset
    - log__printf
    linkageType: ''
    returnType: int
    signature: int plugin__handle_reload_single(struct mosquitto__security_options
      *opts)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: plugin__handle_reload_single
      Src: /src/mosquitto/src/plugin_reload.c:56,1
    - Dst: plugin__handle_reload_single
      Src: /src/mosquitto/src/plugin_reload.c:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 73
    functionName: plugin__handle_reload
    functionSourceFile: /src/mosquitto/src/plugin_reload.c
    functionUses: 1
    functionsReached:
    - plugin__handle_reload_single
    linkageType: ''
    returnType: int
    signature: int plugin__handle_reload(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/persist_read.c:59,1
    - Dst: strlen
      Src: /src/mosquitto/src/persist_read.c:59,1
    - Dst: context__init
      Src: /src/mosquitto/src/persist_read.c:61,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/persist_read.c:65,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read.c:67,1
    - Dst: context__add_to_by_id
      Src: /src/mosquitto/src/persist_read.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - clientid
    - last_mid
    argTypes:
    - char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 79
    functionName: persist__find_or_add_context
    functionSourceFile: /src/mosquitto/src/persist_read.c
    functionUses: 0
    functionsReached:
    - context__init
    - mosquitto_FREE
    - mosquitto_strdup
    - context__add_to_by_id
    - strlen
    - HASH_FIND
    linkageType: ''
    returnType: struct mosquitto
    signature: struct mosquitto *persist__find_or_add_context(const char *clientid,
      uint16_t last_mid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/persist_read.c:87,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_read.c:89,1
    - Dst: fread
      Src: /src/mosquitto/src/persist_read.c:92,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - db_fptr
    - str
    - len
    argTypes:
    - FILE*
    - char**
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 101
    functionName: persist__read_string_len
    functionSourceFile: /src/mosquitto/src/persist_read.c
    functionUses: 0
    functionsReached:
    - log__printf
    - fread
    - mosquitto_malloc
    - mosquitto_FREE
    linkageType: ''
    returnType: int
    signature: int persist__read_string_len(FILE *db_fptr, char **str, uint16_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/mosquitto/src/persist_read.c:109,1
    - Dst: ntohs
      Src: /src/mosquitto/src/persist_read.c:113,1
    - Dst: persist__read_string_len
      Src: /src/mosquitto/src/persist_read.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - db_fptr
    - str
    argTypes:
    - FILE*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: persist__read_string
    functionSourceFile: /src/mosquitto/src/persist_read.c
    functionUses: 0
    functionsReached:
    - persist__read_string_len
    - fread
    - ntohs
    linkageType: ''
    returnType: int
    signature: int persist__read_string(FILE *db_fptr, char **str)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/persist_read.c:125,1
    - Dst: persist__find_or_add_context
      Src: /src/mosquitto/src/persist_read.c:131,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_read.c:133,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/persist_read.c:137,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_read.c:139,1
    - Dst: db__msg_store_ref_inc
      Src: /src/mosquitto/src/persist_read.c:155,1
    - Dst: DL_APPEND
      Src: /src/mosquitto/src/persist_read.c:164,1
    - Dst: db__msg_add_to_queued_stats
      Src: /src/mosquitto/src/persist_read.c:165,1
    - Dst: DL_APPEND
      Src: /src/mosquitto/src/persist_read.c:167,1
    - Dst: db__msg_add_to_inflight_stats
      Src: /src/mosquitto/src/persist_read.c:171,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct P_client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 175
    functionName: persist__client_msg_restore
    functionSourceFile: /src/mosquitto/src/persist_read.c
    functionUses: 0
    functionsReached:
    - DL_APPEND
    - mosquitto_calloc
    - db__msg_store_ref_inc
    - persist__find_or_add_context
    - db__msg_add_to_queued_stats
    - db__msg_add_to_inflight_stats
    - HASH_FIND
    - log__printf
    linkageType: ''
    returnType: int
    signature: int persist__client_msg_restore(struct P_client_msg *chunk)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/persist_read.c:184,1
    - Dst: persist__chunk_client_read_v56
      Src: /src/mosquitto/src/persist_read.c:187,1
    - Dst: persist__chunk_client_read_v234
      Src: /src/mosquitto/src/persist_read.c:189,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_read.c:195,1
    - Dst: persist__find_or_add_context
      Src: /src/mosquitto/src/persist_read.c:199,1
    - Dst: session_expiry__add_from_persistence
      Src: /src/mosquitto/src/persist_read.c:217,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read.c:222,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read.c:223,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 1
    argNames:
    - db_fptr
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 228
    functionName: persist__client_chunk_restore
    functionSourceFile: /src/mosquitto/src/persist_read.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - persist__find_or_add_context
    - persist__chunk_client_read_v234
    - persist__chunk_client_read_v56
    - memset
    - session_expiry__add_from_persistence
    - log__printf
    linkageType: ''
    returnType: int
    signature: int persist__client_chunk_restore(FILE *db_fptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/persist_read.c:236,1
    - Dst: persist__chunk_client_msg_read_v56
      Src: /src/mosquitto/src/persist_read.c:239,1
    - Dst: persist__chunk_client_msg_read_v234
      Src: /src/mosquitto/src/persist_read.c:241,1
    - Dst: persist__client_msg_restore
      Src: /src/mosquitto/src/persist_read.c:247,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read.c:248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - db_fptr
    - length
    argTypes:
    - FILE*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 254
    functionName: persist__client_msg_chunk_restore
    functionSourceFile: /src/mosquitto/src/persist_read.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - persist__chunk_client_msg_read_v56
    - persist__chunk_client_msg_read_v234
    - memset
    - persist__client_msg_restore
    linkageType: ''
    returnType: int
    signature: int persist__client_msg_chunk_restore(FILE *db_fptr, uint32_t length)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/persist_read.c:266,1
    - Dst: persist__chunk_base_msg_read_v56
      Src: /src/mosquitto/src/persist_read.c:269,1
    - Dst: persist__chunk_base_msg_read_v234
      Src: /src/mosquitto/src/persist_read.c:271,1
    - Dst: time
      Src: /src/mosquitto/src/persist_read.c:287,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/persist_read.c:298,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_read.c:300,1
    - Dst: db__message_store
      Src: /src/mosquitto/src/persist_read.c:315,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read.c:318,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read.c:319,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read.c:328,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read.c:329,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read.c:330,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read.c:331,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    argCount: 2
    argNames:
    - db_fptr
    - length
    argTypes:
    - FILE*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 333
    functionName: persist__base_msg_chunk_restore
    functionSourceFile: /src/mosquitto/src/persist_read.c
    functionUses: 0
    functionsReached:
    - persist__chunk_base_msg_read_v56
    - mosquitto_FREE
    - mosquitto_calloc
    - persist__chunk_base_msg_read_v234
    - memset
    - log__printf
    - db__message_store
    - time
    linkageType: ''
    returnType: int
    signature: int persist__base_msg_chunk_restore(FILE *db_fptr, uint32_t length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/persist_read.c:344,1
    - Dst: persist__chunk_retain_read_v56
      Src: /src/mosquitto/src/persist_read.c:347,1
    - Dst: persist__chunk_retain_read_v234
      Src: /src/mosquitto/src/persist_read.c:349,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/persist_read.c:355,1
    - Dst: sub__topic_tokenise
      Src: /src/mosquitto/src/persist_read.c:357,1
    - Dst: retain__store
      Src: /src/mosquitto/src/persist_read.c:360,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read.c:361,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read.c:362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - db_fptr
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 368
    functionName: persist__retain_chunk_restore
    functionSourceFile: /src/mosquitto/src/persist_read.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - sub__topic_tokenise
    - persist__chunk_retain_read_v234
    - retain__store
    - memset
    - HASH_FIND
    - persist__chunk_retain_read_v56
    linkageType: ''
    returnType: int
    signature: int persist__retain_chunk_restore(FILE *db_fptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/persist_read.c:377,1
    - Dst: persist__chunk_sub_read_v56
      Src: /src/mosquitto/src/persist_read.c:380,1
    - Dst: persist__chunk_sub_read_v234
      Src: /src/mosquitto/src/persist_read.c:382,1
    - Dst: persist__restore_sub
      Src: /src/mosquitto/src/persist_read.c:392,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read.c:394,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read.c:395,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - db_fptr
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 401
    functionName: persist__sub_chunk_restore
    functionSourceFile: /src/mosquitto/src/persist_read.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - persist__chunk_sub_read_v234
    - persist__chunk_sub_read_v56
    - memset
    - persist__restore_sub
    linkageType: ''
    returnType: int
    signature: int persist__sub_chunk_restore(FILE *db_fptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: persist__chunk_header_read_v56
      Src: /src/mosquitto/src/persist_read.c:407,1
    - Dst: persist__chunk_header_read_v234
      Src: /src/mosquitto/src/persist_read.c:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - db_fptr
    - chunk
    - length
    argTypes:
    - FILE*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 411
    functionName: persist__chunk_header_read
    functionSourceFile: /src/mosquitto/src/persist_read.c
    functionUses: 0
    functionsReached:
    - persist__chunk_header_read_v56
    - persist__chunk_header_read_v234
    linkageType: ''
    returnType: int
    signature: int persist__chunk_header_read(FILE *db_fptr, uint32_t *chunk, uint32_t
      *length)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/src/persist_read.c:426,1
    - Dst: mosquitto_fopen
      Src: /src/mosquitto/src/persist_read.c:439,1
    - Dst: fread
      Src: /src/mosquitto/src/persist_read.c:443,1
    - Dst: fclose
      Src: /src/mosquitto/src/persist_read.c:445,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_read.c:446,1
    - Dst: memcmp
      Src: /src/mosquitto/src/persist_read.c:451,1
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read.c:453,1
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read.c:454,1
    - Dst: ntohl
      Src: /src/mosquitto/src/persist_read.c:455,1
    - Dst: fclose
      Src: /src/mosquitto/src/persist_read.c:468,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_read.c:469,1
    - Dst: persist__chunk_header_read
      Src: /src/mosquitto/src/persist_read.c:474,1
    - Dst: persist__chunk_cfg_read_v56
      Src: /src/mosquitto/src/persist_read.c:478,1
    - Dst: fclose
      Src: /src/mosquitto/src/persist_read.c:479,1
    - Dst: persist__chunk_cfg_read_v234
      Src: /src/mosquitto/src/persist_read.c:483,1
    - Dst: fclose
      Src: /src/mosquitto/src/persist_read.c:484,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_read.c:489,1
    - Dst: fclose
      Src: /src/mosquitto/src/persist_read.c:491,1
    - Dst: persist__base_msg_chunk_restore
      Src: /src/mosquitto/src/persist_read.c:498,1
    - Dst: fclose
      Src: /src/mosquitto/src/persist_read.c:499,1
    - Dst: persist__client_msg_chunk_restore
      Src: /src/mosquitto/src/persist_read.c:505,1
    - Dst: fclose
      Src: /src/mosquitto/src/persist_read.c:506,1
    - Dst: persist__retain_chunk_restore
      Src: /src/mosquitto/src/persist_read.c:512,1
    - Dst: fclose
      Src: /src/mosquitto/src/persist_read.c:513,1
    - Dst: persist__sub_chunk_restore
      Src: /src/mosquitto/src/persist_read.c:519,1
    - Dst: fclose
      Src: /src/mosquitto/src/persist_read.c:520,1
    - Dst: persist__client_chunk_restore
      Src: /src/mosquitto/src/persist_read.c:526,1
    - Dst: fclose
      Src: /src/mosquitto/src/persist_read.c:527,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_read.c:533,1
    - Dst: fseek
      Src: /src/mosquitto/src/persist_read.c:534,1
    - Dst: fclose
      Src: /src/mosquitto/src/persist_read.c:535,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_read.c:542,1
    - Dst: fclose
      Src: /src/mosquitto/src/persist_read.c:546,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_read.c:548,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_read.c:549,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_read.c:550,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_read.c:551,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_read.c:552,1
    - Dst: strerror
      Src: /src/mosquitto/src/persist_read.c:556,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_read.c:557,1
    - Dst: fclose
      Src: /src/mosquitto/src/persist_read.c:559,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 122
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (db.config)
      pos:
        line_end: 425
        line_start: 425
        source_file: /src/mosquitto/src/persist_read.c
    constantsTouched: []
    func_position:
      end: 562
      start: 414
    functionDepth: 4
    functionLinenumber: 414
    functionLinenumberEnd: 562
    functionName: persist__restore
    functionSourceFile: /src/mosquitto/src/persist_read.c
    functionUses: 34
    functionsReached:
    - fseek
    - ntohl
    - persist__client_chunk_restore
    - fclose
    - mosquitto_fopen
    - assert
    - persist__chunk_cfg_read_v234
    - persist__base_msg_chunk_restore
    - persist__chunk_cfg_read_v56
    - persist__sub_chunk_restore
    - read_e
    - persist__retain_chunk_restore
    - persist__chunk_header_read
    - strerror
    - log__printf
    - memcmp
    - fread
    - persist__client_msg_chunk_restore
    linkageType: ''
    returnType: int
    signature: int persist__restore(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_read.c:570,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_read.c:574,1
    - Dst: persist__find_or_add_context
      Src: /src/mosquitto/src/persist_read.c:578,1
    - Dst: sub__add
      Src: /src/mosquitto/src/persist_read.c:582,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - sub
    argTypes:
    - struct mosquitto_subscription*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 565
    functionDepth: 2
    functionLinenumber: 565
    functionLinenumberEnd: 583
    functionName: persist__restore_sub
    functionSourceFile: /src/mosquitto/src/persist_read.c
    functionUses: 1
    functionsReached:
    - log__printf
    - persist__find_or_add_context
    - sub__add
    linkageType: ''
    returnType: int
    signature: int persist__restore_sub(const struct mosquitto_subscription *sub)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: net__socket_get_address
      Src: /src/mosquitto/src/context.c:45,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/context.c:49,1
    - Dst: HASH_ADD
      Src: /src/mosquitto/src/context.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - context
    - sock
    - get_address
    argTypes:
    - struct mosquitto*
    - mosq_sock_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 59
    functionName: context__init_sock
    functionSourceFile: /src/mosquitto/src/context.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - net__socket_get_address
    - HASH_ADD
    linkageType: ''
    returnType: int
    signature: int context__init_sock(struct mosquitto *context, mosq_sock_t sock,
      bool get_address)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/context.c:65,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/context.c:71,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/context.c:73,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/src/context.c:82,1
    - Dst: memset
      Src: /src/mosquitto/src/context.c:97,1
    - Dst: packet__cleanup
      Src: /src/mosquitto/src/context.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 126
    functionName: context__init
    functionSourceFile: /src/mosquitto/src/context.c
    functionUses: 4
    functionsReached:
    - mosquitto_FREE
    - mosquitto_calloc
    - packet__cleanup
    - mosquitto__set_state
    - memset
    linkageType: ''
    returnType: struct mosquitto
    signature: struct mosquitto *context__init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_free
      Src: /src/mosquitto/src/context.c:140,1
    - Dst: metrics__int_dec
      Src: /src/mosquitto/src/context.c:142,1
    - Dst: metrics__int_dec
      Src: /src/mosquitto/src/context.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 146
    functionName: context__cleanup_out_packets
    functionSourceFile: /src/mosquitto/src/context.c
    functionUses: 0
    functionsReached:
    - mosquitto_free
    - metrics__int_dec
    linkageType: ''
    returnType: void
    signature: void context__cleanup_out_packets(struct mosquitto *context)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bridge__cleanup
      Src: /src/mosquitto/src/context.c:167,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/context.c:170,1
    - Dst: alias__free_all
      Src: /src/mosquitto/src/context.c:173,1
    - Dst: keepalive__remove
      Src: /src/mosquitto/src/context.c:174,1
    - Dst: context__cleanup_out_packets
      Src: /src/mosquitto/src/context.c:175,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/context.c:177,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/context.c:178,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/context.c:179,1
    - Dst: net__socket_close
      Src: /src/mosquitto/src/context.c:181,1
    - Dst: sub__clean_session
      Src: /src/mosquitto/src/context.c:183,1
    - Dst: db__messages_delete
      Src: /src/mosquitto/src/context.c:185,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/context.c:187,1
    - Dst: context__send_will
      Src: /src/mosquitto/src/context.c:189,1
    - Dst: context__remove_from_by_id
      Src: /src/mosquitto/src/context.c:192,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/context.c:193,1
    - Dst: packet__cleanup
      Src: /src/mosquitto/src/context.c:195,1
    - Dst: context__cleanup_out_packets
      Src: /src/mosquitto/src/context.c:196,1
    - Dst: gai_cancel
      Src: /src/mosquitto/src/context.c:199,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/context.c:201,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/context.c:202,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/context.c:207,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/context.c:209,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/context.c:211,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - context
    - force_free
    argTypes:
    - struct mosquitto*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 213
    functionName: context__cleanup
    functionSourceFile: /src/mosquitto/src/context.c
    functionUses: 3
    functionsReached:
    - mosquitto_FREE
    - alias__free_all
    - net__socket_close
    - gai_cancel
    - db__messages_delete
    - sub__clean_session
    - packet__cleanup
    - context__send_will
    - context__cleanup_out_packets
    - keepalive__remove
    - bridge__cleanup
    - context__remove_from_by_id
    linkageType: ''
    returnType: void
    signature: void context__cleanup(struct mosquitto *context, bool force_free)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: will_delay__add
      Src: /src/mosquitto/src/context.c:220,1
    - Dst: mosquitto_acl_check
      Src: /src/mosquitto/src/context.c:224,1
    - Dst: db__messages_easy_queue
      Src: /src/mosquitto/src/context.c:233,1
    - Dst: will__clear
      Src: /src/mosquitto/src/context.c:243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ctxt
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 244
    functionName: context__send_will
    functionSourceFile: /src/mosquitto/src/context.c
    functionUses: 6
    functionsReached:
    - db__messages_easy_queue
    - will_delay__add
    - will__clear
    - mosquitto_acl_check
    linkageType: ''
    returnType: void
    signature: void context__send_will(struct mosquitto *ctxt)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto__get_state
      Src: /src/mosquitto/src/context.c:249,1
    - Dst: send
      Src: /src/mosquitto/src/context.c:257,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/context.c:263,1
    - Dst: strlen
      Src: /src/mosquitto/src/context.c:263,1
    - Dst: net__socket_close
      Src: /src/mosquitto/src/context.c:265,1
    - Dst: context__add_to_disused
      Src: /src/mosquitto/src/context.c:266,1
    - Dst: plugin__handle_disconnect
      Src: /src/mosquitto/src/context.c:272,1
    - Dst: plugin__handle_client_offline
      Src: /src/mosquitto/src/context.c:274,1
    - Dst: context__send_will
      Src: /src/mosquitto/src/context.c:277,1
    - Dst: net__socket_close
      Src: /src/mosquitto/src/context.c:278,1
    - Dst: plugin_persist__handle_client_delete
      Src: /src/mosquitto/src/context.c:285,1
    - Dst: context__add_to_disused
      Src: /src/mosquitto/src/context.c:289,1
    - Dst: session_expiry__add
      Src: /src/mosquitto/src/context.c:292,1
    - Dst: keepalive__remove
      Src: /src/mosquitto/src/context.c:295,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/src/context.c:296,1
    - Dst: alias__free_all
      Src: /src/mosquitto/src/context.c:297,1
    - Dst: context__cleanup_out_packets
      Src: /src/mosquitto/src/context.c:298,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - context
    - reason
    argTypes:
    - struct mosquitto*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 299
    functionName: context__disconnect
    functionSourceFile: /src/mosquitto/src/context.c
    functionUses: 0
    functionsReached:
    - alias__free_all
    - send
    - plugin_persist__handle_client_delete
    - net__socket_close
    - mosquitto__get_state
    - context__send_will
    - mosquitto__set_state
    - strlen
    - plugin__handle_disconnect
    - keepalive__remove
    - context__cleanup_out_packets
    - HASH_FIND
    - context__add_to_disused
    - plugin__handle_client_offline
    - session_expiry__add
    linkageType: ''
    returnType: void
    signature: void context__disconnect(struct mosquitto *context, int reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/src/context.c:308,1
    - Dst: context__remove_from_by_id
      Src: /src/mosquitto/src/context.c:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 314
    functionName: context__add_to_disused
    functionSourceFile: /src/mosquitto/src/context.c
    functionUses: 3
    functionsReached:
    - mosquitto__set_state
    - context__remove_from_by_id
    linkageType: ''
    returnType: void
    signature: void context__add_to_disused(struct mosquitto *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: context__cleanup
      Src: /src/mosquitto/src/context.c:343,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 317
    functionDepth: 3
    functionLinenumber: 317
    functionLinenumberEnd: 347
    functionName: context__free_disused
    functionSourceFile: /src/mosquitto/src/context.c
    functionUses: 1
    functionsReached:
    - context__cleanup
    linkageType: ''
    returnType: void
    signature: void context__free_disused(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_VALUE
      Src: /src/mosquitto/src/context.c:354,1
    - Dst: strlen
      Src: /src/mosquitto/src/context.c:354,1
    - Dst: HASH_ADD_KEYPTR_BYHASHVALUE
      Src: /src/mosquitto/src/context.c:355,1
    - Dst: strlen
      Src: /src/mosquitto/src/context.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 357
    functionName: context__add_to_by_id
    functionSourceFile: /src/mosquitto/src/context.c
    functionUses: 4
    functionsReached:
    - strlen
    - HASH_ADD_KEYPTR_BYHASHVALUE
    - HASH_VALUE
    linkageType: ''
    returnType: void
    signature: void context__add_to_by_id(struct mosquitto *context)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/context.c:369,1
    - Dst: strlen
      Src: /src/mosquitto/src/context.c:369,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/src/context.c:371,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/context.c:378,1
    - Dst: strlen
      Src: /src/mosquitto/src/context.c:378,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/src/context.c:380,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 382
    functionName: context__remove_from_by_id
    functionSourceFile: /src/mosquitto/src/context.c
    functionUses: 3
    functionsReached:
    - strlen
    - HASH_FIND
    - HASH_DELETE
    linkageType: ''
    returnType: void
    signature: void context__remove_from_by_id(struct mosquitto *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/src/xtreport.c:54,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - fptr
    - context
    - fn_index
    argTypes:
    - FILE*
    - struct mosquitto*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 65
    functionName: client_cost
    functionSourceFile: /src/mosquitto/src/xtreport.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strlen
    linkageType: ''
    returnType: void
    signature: void client_cost(FILE *fptr, struct mosquitto *context, int fn_index)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:88,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:94,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:98,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:101,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:102,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 3
    argNames:
    - fptr
    - context
    - fn_index_max
    argTypes:
    - FILE*
    - struct mosquitto*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 106
    functionName: report_subscriptions
    functionSourceFile: /src/mosquitto/src/xtreport.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void report_subscriptions(FILE *fptr, struct mosquitto *context, int
      *fn_index_max)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/mosquitto/src/xtreport.c:118,1
    - Dst: snprintf
      Src: /src/mosquitto/src/xtreport.c:119,1
    - Dst: fopen
      Src: /src/mosquitto/src/xtreport.c:121,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:126,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:127,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:128,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:129,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:130,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:132,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:133,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:134,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:135,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:136,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:137,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:138,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:139,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:140,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:141,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:142,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:143,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:144,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:146,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:147,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/xtreport.c:150,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:152,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:154,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:156,1
    - Dst: client_cost
      Src: /src/mosquitto/src/xtreport.c:157,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/xtreport.c:163,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:164,1
    - Dst: client_cost
      Src: /src/mosquitto/src/xtreport.c:165,1
    - Dst: report_subscriptions
      Src: /src/mosquitto/src/xtreport.c:168,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:171,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:172,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/xtreport.c:176,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:178,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:179,1
    - Dst: fprintf
      Src: /src/mosquitto/src/xtreport.c:180,1
    - Dst: fclose
      Src: /src/mosquitto/src/xtreport.c:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 186
    functionName: xtreport
    functionSourceFile: /src/mosquitto/src/xtreport.c
    functionUses: 1
    functionsReached:
    - report_subscriptions
    - fprintf
    - snprintf
    - fclose
    - client_cost
    - HASH_ITER
    - fopen
    - getpid
    linkageType: ''
    returnType: void
    signature: void xtreport(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_identifier
      Src: /src/mosquitto/src/property_broker.c:39,1
    - Dst: mosquitto_property_int32_value
      Src: /src/mosquitto/src/property_broker.c:41,1
    - Dst: mosquitto_property_int16_value
      Src: /src/mosquitto/src/property_broker.c:45,1
    - Dst: mosquitto_property_int32_value
      Src: /src/mosquitto/src/property_broker.c:53,1
    - Dst: mosquitto_property_int16_value
      Src: /src/mosquitto/src/property_broker.c:60,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/src/property_broker.c:69,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - context
    - props
    argTypes:
    - struct mosquitto*
    - mosquitto_property**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 73
    functionName: property__process_connect
    functionSourceFile: /src/mosquitto/src/property_broker.c
    functionUses: 0
    functionsReached:
    - mosquitto_property_int32_value
    - mosquitto_property_next
    - mosquitto_property_identifier
    - mosquitto_property_int16_value
    linkageType: ''
    returnType: int
    signature: int property__process_connect(struct mosquitto *context, mosquitto_property
      **props)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_identifier
      Src: /src/mosquitto/src/property_broker.c:87,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/src/property_broker.c:106,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/src/property_broker.c:107,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/src/property_broker.c:109,1
    - Dst: mosquitto_property_int32_value
      Src: /src/mosquitto/src/property_broker.c:117,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/src/property_broker.c:119,1
    - Dst: mosquitto_property_int32_value
      Src: /src/mosquitto/src/property_broker.c:124,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/src/property_broker.c:126,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 3
    argNames:
    - context
    - msg
    - props
    argTypes:
    - struct mosquitto*
    - struct mosquitto_message_all*
    - mosquitto_property**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 138
    functionName: property__process_will
    functionSourceFile: /src/mosquitto/src/property_broker.c
    functionUses: 0
    functionsReached:
    - mosquitto_property_int32_value
    - mosquitto_property_next
    - mosquitto_property_identifier
    linkageType: ''
    returnType: int
    signature: int property__process_will(struct mosquitto *context, struct mosquitto_message_all
      *msg, mosquitto_property **props)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_identifier
      Src: /src/mosquitto/src/property_broker.c:151,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/src/property_broker.c:165,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/src/property_broker.c:166,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/src/property_broker.c:168,1
    - Dst: mosquitto_property_int16_value
      Src: /src/mosquitto/src/property_broker.c:175,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/src/property_broker.c:177,1
    - Dst: mosquitto_property_int32_value
      Src: /src/mosquitto/src/property_broker.c:181,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/src/property_broker.c:183,1
    - Dst: mosquitto_property_varint_value
      Src: /src/mosquitto/src/property_broker.c:187,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/src/property_broker.c:191,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/src/property_broker.c:195,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 5
    argNames:
    - base_msg
    - props
    - topic_alias
    - message_expiry_interval
    - is_bridge
    argTypes:
    - struct mosquitto__base_msg*
    - mosquitto_property**
    - int*
    - uint32_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 201
    functionName: property__process_publish
    functionSourceFile: /src/mosquitto/src/property_broker.c
    functionUses: 1
    functionsReached:
    - mosquitto_property_identifier
    - mosquitto_property_int32_value
    - mosquitto_property_next
    - mosquitto_property_int16_value
    - mosquitto_property_varint_value
    linkageType: ''
    returnType: int
    signature: int property__process_publish(struct mosquitto__base_msg *base_msg,
      mosquitto_property **props, int *topic_alias, uint32_t *message_expiry_interval,
      bool is_bridge)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_identifier
      Src: /src/mosquitto/src/property_broker.c:213,1
    - Dst: mosquitto_property_int32_value
      Src: /src/mosquitto/src/property_broker.c:214,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/src/property_broker.c:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - context
    - props
    argTypes:
    - struct mosquitto*
    - mosquitto_property**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 223
    functionName: property__process_disconnect
    functionSourceFile: /src/mosquitto/src/property_broker.c
    functionUses: 0
    functionsReached:
    - mosquitto_property_int32_value
    - mosquitto_property_next
    - mosquitto_property_identifier
    linkageType: ''
    returnType: int
    signature: int property__process_disconnect(struct mosquitto *context, mosquitto_property
      **props)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/src/plugin_v2.c:41,1
    - Dst: mosquitto_plugin_id_t*::lib::unpwd_check_v2
      Src: /src/mosquitto/src/plugin_v2.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: plugin_v2_basic_auth
    functionSourceFile: /src/mosquitto/src/plugin_v2.c
    functionUses: 0
    functionsReached:
    - mosquitto_plugin_id_t*::lib::unpwd_check_v2
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int plugin_v2_basic_auth(int event, void *event_data, void *userdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/src/plugin_v2.c:60,1
    - Dst: acl__pre_check
      Src: /src/mosquitto/src/plugin_v2.c:66,1
    - Dst: mosquitto_plugin_id_t*::lib::acl_check_v2
      Src: /src/mosquitto/src/plugin_v2.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 77
    functionName: plugin_v2_acl_check
    functionSourceFile: /src/mosquitto/src/plugin_v2.c
    functionUses: 0
    functionsReached:
    - acl__pre_check
    - UNUSED
    - mosquitto_plugin_id_t*::lib::acl_check_v2
    linkageType: ''
    returnType: int
    signature: int plugin_v2_acl_check(int event, void *event_data, void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/src/plugin_v2.c:85,1
    - Dst: mosquitto_plugin_id_t*::lib::psk_key_get_v2
      Src: /src/mosquitto/src/plugin_v2.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 97
    functionName: plugin_v2_psk_key_get
    functionSourceFile: /src/mosquitto/src/plugin_v2.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - mosquitto_plugin_id_t*::lib::psk_key_get_v2
    linkageType: ''
    returnType: int
    signature: int plugin_v2_psk_key_get(int event, void *event_data, void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/src/plugin_v2.c:105,1
    - Dst: UNUSED
      Src: /src/mosquitto/src/plugin_v2.c:106,1
    - Dst: mosquitto_plugin_id_t*::lib::security_cleanup_v2
      Src: /src/mosquitto/src/plugin_v2.c:108,1
    - Dst: mosquitto_plugin_id_t*::lib::security_init_v2
      Src: /src/mosquitto/src/plugin_v2.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 123
    functionName: plugin_v2_reload
    functionSourceFile: /src/mosquitto/src/plugin_v2.c
    functionUses: 0
    functionsReached:
    - mosquitto_plugin_id_t*::lib::security_init_v2
    - UNUSED
    - mosquitto_plugin_id_t*::lib::security_cleanup_v2
    linkageType: ''
    returnType: int
    signature: int plugin_v2_reload(int event, void *event_data, void *userdata)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: LIB_SYM
      Src: /src/mosquitto/src/plugin_v2.c:130,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v2.c:131,1
    - Dst: LIB_ERROR
      Src: /src/mosquitto/src/plugin_v2.c:133,1
    - Dst: LIB_SYM
      Src: /src/mosquitto/src/plugin_v2.c:136,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v2.c:137,1
    - Dst: LIB_ERROR
      Src: /src/mosquitto/src/plugin_v2.c:139,1
    - Dst: LIB_SYM
      Src: /src/mosquitto/src/plugin_v2.c:143,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v2.c:144,1
    - Dst: LIB_ERROR
      Src: /src/mosquitto/src/plugin_v2.c:146,1
    - Dst: LIB_SYM
      Src: /src/mosquitto/src/plugin_v2.c:150,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v2.c:151,1
    - Dst: LIB_ERROR
      Src: /src/mosquitto/src/plugin_v2.c:153,1
    - Dst: LIB_SYM
      Src: /src/mosquitto/src/plugin_v2.c:157,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v2.c:158,1
    - Dst: LIB_ERROR
      Src: /src/mosquitto/src/plugin_v2.c:160,1
    - Dst: LIB_SYM
      Src: /src/mosquitto/src/plugin_v2.c:164,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v2.c:165,1
    - Dst: LIB_ERROR
      Src: /src/mosquitto/src/plugin_v2.c:167,1
    - Dst: LIB_SYM
      Src: /src/mosquitto/src/plugin_v2.c:171,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v2.c:172,1
    - Dst: LIB_ERROR
      Src: /src/mosquitto/src/plugin_v2.c:174,1
    - Dst: mosquitto_plugin_id_t*::lib::plugin_init_v2
      Src: /src/mosquitto/src/plugin_v2.c:183,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_v2.c:188,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/src/plugin_v2.c:194,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/src/plugin_v2.c:197,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/src/plugin_v2.c:200,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/src/plugin_v2.c:203,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 57
    argCount: 2
    argNames:
    - plugin
    - lib
    argTypes:
    - mosquitto_plugin_id_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 207
    functionName: plugin__load_v2
    functionSourceFile: /src/mosquitto/src/plugin_v2.c
    functionUses: 1
    functionsReached:
    - mosquitto_callback_register
    - log__printf
    - LIB_ERROR
    - mosquitto_plugin_id_t*::lib::plugin_init_v2
    - LIB_SYM
    linkageType: ''
    returnType: int
    signature: int plugin__load_v2(mosquitto_plugin_id_t *plugin, void *lib)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: log__printf
      Src: /src/mosquitto/src/send_auth.c:43,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/src/send_auth.c:47,1
    - Dst: mosquitto_property_add_binary
      Src: /src/mosquitto/src/send_auth.c:53,1
    - Dst: mosquitto_property_get_remaining_length
      Src: /src/mosquitto/src/send_auth.c:59,1
    - Dst: packet__check_oversize
      Src: /src/mosquitto/src/send_auth.c:61,1
    - Dst: packet__alloc
      Src: /src/mosquitto/src/send_auth.c:66,1
    - Dst: packet__write_byte
      Src: /src/mosquitto/src/send_auth.c:71,1
    - Dst: property__write_all
      Src: /src/mosquitto/src/send_auth.c:72,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/send_auth.c:73,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/src/send_auth.c:75,1
    - Dst: packet__queue
      Src: /src/mosquitto/src/send_auth.c:76,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/send_auth.c:78,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 4
    argNames:
    - context
    - reason_code
    - auth_data
    - auth_data_len
    argTypes:
    - struct mosquitto*
    - uint8_t
    - void*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 80
    functionName: send__auth
    functionSourceFile: /src/mosquitto/src/send_auth.c
    functionUses: 1
    functionsReached:
    - packet__write_byte
    - packet__queue
    - mosquitto_property_get_remaining_length
    - property__write_all
    - metrics__int_inc
    - packet__check_oversize
    - packet__alloc
    - log__printf
    - mosquitto_property_add_string
    - mosquitto_property_free_all
    - mosquitto_property_add_binary
    linkageType: ''
    returnType: int
    signature: int send__auth(struct mosquitto *context, uint8_t reason_code, const
      void *auth_data, uint16_t auth_data_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: REQUIRE_LISTENER
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQUIRE_LISTENER(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: REQUIRE_LISTENER_OR_DEFAULT_LISTENER
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQUIRE_LISTENER_OR_DEFAULT_LISTENER(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: REQUIRE_LISTENER_IF_PER_LISTENER
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQUIRE_LISTENER_IF_PER_LISTENER(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: REQUIRE_NON_DEFAULT_LISTENER
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQUIRE_NON_DEFAULT_LISTENER(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: REQUIRE_BRIDGE
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQUIRE_BRIDGE(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: REQUIRE_PLUGIN
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQUIRE_PLUGIN(A)
  - 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: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: OPTION_DEPRECATED
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTION_DEPRECATED(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: OPTION_UNAVAILABLE
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTION_UNAVAILABLE(A)
  - 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: 128
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: REQUIRE_NON_EMPTY_OPTION
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQUIRE_NON_EMPTY_OPTION(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: 134
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: PER_LISTENER_ALTERNATIVE
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PER_LISTENER_ALTERNATIVE(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: REQUIRE_BRIDGE_NO_TLS_PSK
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQUIRE_BRIDGE_NO_TLS_PSK(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: REQUIRE_BRIDGE_NO_X509
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQUIRE_BRIDGE_NO_X509(A)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_realloc
      Src: /src/mosquitto/src/conf.c:185,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:187,1
    - Dst: memset
      Src: /src/mosquitto/src/conf.c:192,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/conf.c:193,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:195,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct mosquitto__config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 204
    functionName: config__add_listener
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 0
    functionsReached:
    - log__printf
    - memset
    - mosquitto_realloc
    - mosquitto_calloc
    linkageType: ''
    returnType: int
    signature: int config__add_listener(struct mosquitto__config *config)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:212,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:213,1
    - Dst: config__add_listener
      Src: /src/mosquitto/src/conf.c:214,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:215,1
    - Dst: listener__set_defaults
      Src: /src/mosquitto/src/conf.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - config
    - option_name
    argTypes:
    - struct mosquitto__config*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 224
    functionName: config__create_default_listener
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 0
    functionsReached:
    - log__printf
    - listener__set_defaults
    - config__add_listener
    linkageType: ''
    returnType: int
    signature: int config__create_default_listener(struct mosquitto__config *config,
      const char *option_name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: config__create_default_listener
      Src: /src/mosquitto/src/conf.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - config
    - cur_listener
    - security_options
    - option_name
    argTypes:
    - struct mosquitto__config*
    - struct mosquitto__listener**
    - struct mosquitto__security_options**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 240
    functionName: conf__set_cur_security_options
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 0
    functionsReached:
    - config__create_default_listener
    linkageType: ''
    returnType: void
    signature: void conf__set_cur_security_options(struct mosquitto__config *config,
      struct mosquitto__listener **cur_listener, struct mosquitto__security_options
      **security_options, const char *option_name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/conf.c:249,1
    - Dst: getaddrinfo
      Src: /src/mosquitto/src/conf.c:253,1
    - Dst: freeaddrinfo
      Src: /src/mosquitto/src/conf.c:255,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:261,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:263,1
    - Dst: strerror
      Src: /src/mosquitto/src/conf.c:263,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:266,1
    - Dst: gai_strerror
      Src: /src/mosquitto/src/conf.c:266,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:270,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - host
    - text
    - log
    - msg
    argTypes:
    - char*
    - char*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 276
    functionName: conf__attempt_resolve
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 0
    functionsReached:
    - getaddrinfo
    - gai_strerror
    - freeaddrinfo
    - memset
    - strerror
    - log__printf
    linkageType: ''
    returnType: int
    signature: int conf__attempt_resolve(const char *host, const char *text, unsigned
      int log, const char *msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: listener__set_defaults
      Src: /src/mosquitto/src/conf.c:283,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:289,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:290,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:291,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:301,1
    - Dst: fclose
      Src: /src/mosquitto/src/conf.c:307,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:310,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:333,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:344,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:345,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 65
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct mosquitto__config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 359
    functionName: config__init_reload
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - listener__set_defaults
    - fclose
    linkageType: ''
    returnType: void
    signature: void config__init_reload(struct mosquitto__config *config)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:364,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:365,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:369,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:370,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:372,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:375,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - mosquitto_plugin_id_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 377
    functionName: config__cleanup_plugin_config
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    linkageType: ''
    returnType: void
    signature: void config__cleanup_plugin_config(mosquitto_plugin_id_t *plugin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config__cleanup_plugin_config
      Src: /src/mosquitto/src/conf.c:383,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 386
    functionName: config__cleanup_plugins
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - config__cleanup_plugin_config
    linkageType: ''
    returnType: void
    signature: void config__cleanup_plugins(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/conf.c:391,1
    - Dst: config__init_reload
      Src: /src/mosquitto/src/conf.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct mosquitto__config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 395
    functionName: config__init
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 1
    functionsReached:
    - config__init_reload
    - memset
    linkageType: ''
    returnType: void
    signature: void config__init(struct mosquitto__config *config)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:400,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:401,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:402,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:403,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:404,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:405,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:406,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:407,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:408,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:409,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:410,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:411,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:414,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:415,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:416,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:417,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:419,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:420,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:421,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:422,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:423,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:424,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:427,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:428,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:429,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:430,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:431,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:432,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:433,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:434,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:435,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:436,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:437,1
    - Dst: SSL_CTX_free
      Src: /src/mosquitto/src/conf.c:442,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:447,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:451,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:453,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:456,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:459,1
    - Dst: config__bridge_cleanup
      Src: /src/mosquitto/src/conf.c:464,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:466,1
    - Dst: config__cleanup_plugins
      Src: /src/mosquitto/src/conf.c:469,1
    - Dst: fclose
      Src: /src/mosquitto/src/conf.c:472,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:476,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 67
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct mosquitto__config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 479
    functionName: config__cleanup
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - SSL_CTX_free
    - fclose
    - config__cleanup_plugins
    - config__bridge_cleanup
    linkageType: ''
    returnType: void
    signature: void config__cleanup(struct mosquitto__config *config)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:490,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:493,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:495,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:497,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:498,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:499,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:500,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:501,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:502,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:503,1
    - Dst: LL_FOREACH_SAFE
      Src: /src/mosquitto/src/conf.c:507,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:508,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:509,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:510,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:511,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:512,1
    - Dst: LL_DELETE
      Src: /src/mosquitto/src/conf.c:513,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:514,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:516,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:518,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:520,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:521,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:522,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:523,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:524,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:525,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:526,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:527,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:529,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:530,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:533,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 1
    argNames:
    - bridge
    argTypes:
    - struct mosquitto__bridge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 534
    functionName: config__bridge_cleanup
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 2
    functionsReached:
    - mosquitto_FREE
    - LL_FOREACH_SAFE
    - LL_DELETE
    linkageType: ''
    returnType: void
    signature: void config__bridge_cleanup(struct mosquitto__bridge *bridge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/src/conf.c:540,1
    - Dst: printf
      Src: /src/mosquitto/src/conf.c:541,1
    - Dst: printf
      Src: /src/mosquitto/src/conf.c:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 543
    functionName: print_version
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/src/conf.c:548,1
    - Dst: printf
      Src: /src/mosquitto/src/conf.c:549,1
    - Dst: printf
      Src: /src/mosquitto/src/conf.c:550,1
    - Dst: printf
      Src: /src/mosquitto/src/conf.c:551,1
    - Dst: printf
      Src: /src/mosquitto/src/conf.c:552,1
    - Dst: printf
      Src: /src/mosquitto/src/conf.c:553,1
    - Dst: printf
      Src: /src/mosquitto/src/conf.c:554,1
    - Dst: printf
      Src: /src/mosquitto/src/conf.c:555,1
    - Dst: printf
      Src: /src/mosquitto/src/conf.c:556,1
    - Dst: printf
      Src: /src/mosquitto/src/conf.c:557,1
    - Dst: printf
      Src: /src/mosquitto/src/conf.c:558,1
    - Dst: printf
      Src: /src/mosquitto/src/conf.c:559,1
    - Dst: printf
      Src: /src/mosquitto/src/conf.c:560,1
    - Dst: printf
      Src: /src/mosquitto/src/conf.c:561,1
    - Dst: printf
      Src: /src/mosquitto/src/conf.c:562,1
    - Dst: printf
      Src: /src/mosquitto/src/conf.c:563,1
    - Dst: printf
      Src: /src/mosquitto/src/conf.c:564,1
    - Dst: printf
      Src: /src/mosquitto/src/conf.c:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 566
    functionName: print_usage
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_usage(void)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/src/conf.c:575,1
    - Dst: strcmp
      Src: /src/mosquitto/src/conf.c:575,1
    - Dst: config__read
      Src: /src/mosquitto/src/conf.c:579,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:583,1
    - Dst: strcmp
      Src: /src/mosquitto/src/conf.c:587,1
    - Dst: strcmp
      Src: /src/mosquitto/src/conf.c:587,1
    - Dst: strcmp
      Src: /src/mosquitto/src/conf.c:589,1
    - Dst: strcmp
      Src: /src/mosquitto/src/conf.c:589,1
    - Dst: print_usage
      Src: /src/mosquitto/src/conf.c:590,1
    - Dst: strcmp
      Src: /src/mosquitto/src/conf.c:592,1
    - Dst: print_version
      Src: /src/mosquitto/src/conf.c:593,1
    - Dst: strcmp
      Src: /src/mosquitto/src/conf.c:595,1
    - Dst: strcmp
      Src: /src/mosquitto/src/conf.c:595,1
    - Dst: atoi
      Src: /src/mosquitto/src/conf.c:597,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:599,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:603,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:610,1
    - Dst: strcmp
      Src: /src/mosquitto/src/conf.c:614,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/conf.c:617,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:619,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:623,1
    - Dst: fprintf
      Src: /src/mosquitto/src/conf.c:628,1
    - Dst: strcmp
      Src: /src/mosquitto/src/conf.c:631,1
    - Dst: strcmp
      Src: /src/mosquitto/src/conf.c:631,1
    - Dst: strcmp
      Src: /src/mosquitto/src/conf.c:633,1
    - Dst: strcmp
      Src: /src/mosquitto/src/conf.c:633,1
    - Dst: strcmp
      Src: /src/mosquitto/src/conf.c:635,1
    - Dst: fprintf
      Src: /src/mosquitto/src/conf.c:638,1
    - Dst: print_usage
      Src: /src/mosquitto/src/conf.c:639,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/conf.c:646,1
    - Dst: getenv
      Src: /src/mosquitto/src/conf.c:657,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:658,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/conf.c:659,1
    - Dst: getenv
      Src: /src/mosquitto/src/conf.c:659,1
    - Dst: config__check
      Src: /src/mosquitto/src/conf.c:664,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 94
    argCount: 3
    argNames:
    - config
    - argc
    - argv
    argTypes:
    - struct mosquitto__config*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 665
    functionName: config__parse_args
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 1
    functionsReached:
    - mosquitto_strdup
    - mosquitto_FREE
    - config__check
    - fprintf
    - print_usage
    - atoi
    - strcmp
    - log__printf
    - print_version
    - config__read
    - getenv
    linkageType: ''
    returnType: int
    signature: int config__parse_args(struct mosquitto__config *config, int argc,
      char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:670,1
    - Dst: acl_file__cleanup
      Src: /src/mosquitto/src/conf.c:673,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:682,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:686,1
    - Dst: password_file__cleanup
      Src: /src/mosquitto/src/conf.c:689,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:692,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:695,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:705,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:714,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:717,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:724,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:727,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:730,1
    - Dst: config__bridge_cleanup
      Src: /src/mosquitto/src/conf.c:747,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 57
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - struct mosquitto__config*
    - struct mosquitto__config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 668
    functionDepth: 2
    functionLinenumber: 668
    functionLinenumberEnd: 754
    functionName: config__copy
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - acl_file__cleanup
    - password_file__cleanup
    - config__bridge_cleanup
    linkageType: ''
    returnType: void
    signature: void config__copy(struct mosquitto__config *src, struct mosquitto__config
      *dest)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/conf.c:769,1
    - Dst: config__init_reload
      Src: /src/mosquitto/src/conf.c:783,1
    - Dst: config__read_file
      Src: /src/mosquitto/src/conf.c:787,1
    - Dst: config__read_file
      Src: /src/mosquitto/src/conf.c:789,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:793,1
    - Dst: config__copy
      Src: /src/mosquitto/src/conf.c:799,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/conf.c:820,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:825,1
    - Dst: strlen
      Src: /src/mosquitto/src/conf.c:826,1
    - Dst: strlen
      Src: /src/mosquitto/src/conf.c:827,1
    - Dst: strlen
      Src: /src/mosquitto/src/conf.c:827,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/conf.c:828,1
    - Dst: snprintf
      Src: /src/mosquitto/src/conf.c:833,1
    - Dst: snprintf
      Src: /src/mosquitto/src/conf.c:835,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/conf.c:838,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/conf.c:849,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:855,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:859,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:863,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:868,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:872,1
    - Dst: config__check_bridges
      Src: /src/mosquitto/src/conf.c:890,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 104
    argCount: 2
    argNames:
    - config
    - reload
    argTypes:
    - struct mosquitto__config*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 757
    functionDepth: 3
    functionLinenumber: 757
    functionLinenumberEnd: 894
    functionName: config__read
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 2
    functionsReached:
    - mosquitto_strdup
    - config__init_reload
    - mosquitto_FREE
    - config__check_bridges
    - mosquitto_malloc
    - snprintf
    - config__read_file
    - strlen
    - memset
    - config__copy
    - log__printf
    linkageType: ''
    returnType: int
    signature: int config__read(struct mosquitto__config *config, bool reload)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/src/conf.c:901,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 907
    functionName: config__plugin_find
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: mosquitto_plugin_id_t
    signature: mosquitto_plugin_id_t *config__plugin_find(const char *name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: config__plugin_find
      Src: /src/mosquitto/src/conf.c:915,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:916,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/conf.c:920,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/conf.c:926,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/conf.c:928,1
    - Dst: mosquitto_realloc
      Src: /src/mosquitto/src/conf.c:937,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:948,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:950,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:951,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:953,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - name
    - path
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 955
    functionName: config__plugin_load
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - mosquitto_FREE
    - mosquitto_calloc
    - mosquitto_realloc
    - log__printf
    - config__plugin_find
    linkageType: ''
    returnType: mosquitto_plugin_id_t
    signature: mosquitto_plugin_id_t *config__plugin_load(const char *name, const
      char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_realloc
      Src: /src/mosquitto/src/conf.c:963,1
    - Dst: mosquitto_realloc
      Src: /src/mosquitto/src/conf.c:964,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:967,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:968,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:969,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - plugin
    - security_options
    argTypes:
    - mosquitto_plugin_id_t*
    - struct mosquitto__security_options*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 958
    functionDepth: 1
    functionLinenumber: 958
    functionLinenumberEnd: 982
    functionName: config__plugin_add_secopt
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - log__printf
    - mosquitto_realloc
    linkageType: ''
    returnType: int
    signature: int config__plugin_add_secopt(mosquitto_plugin_id_t *plugin, struct
      mosquitto__security_options *security_options)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/mosquitto/src/conf.c:2939,1
    - Dst: closedir
      Src: /src/mosquitto/src/conf.c:2941,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:2942,1
    - Dst: mosquitto_fopen
      Src: /src/mosquitto/src/conf.c:2947,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:2949,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/conf.c:2954,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:2956,1
    - Dst: fclose
      Src: /src/mosquitto/src/conf.c:2957,1
    - Dst: config__read_file_core
      Src: /src/mosquitto/src/conf.c:2961,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/conf.c:2962,1
    - Dst: fclose
      Src: /src/mosquitto/src/conf.c:2963,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 6
    argNames:
    - config
    - reload
    - file
    - cr
    - level
    - lineno
    argTypes:
    - struct mosquitto__config*
    - bool
    - char*
    - struct config_recurse*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2966
      start: 2928
    functionDepth: 1
    functionLinenumber: 2928
    functionLinenumberEnd: 2966
    functionName: config__read_file
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - log__printf
    - mosquitto_malloc
    - mosquitto_fopen
    - fclose
    - closedir
    - opendir
    - config__read_file_core
    linkageType: ''
    returnType: int
    signature: int config__read_file(struct mosquitto__config *config, bool reload,
      const char *file, struct config_recurse *cr, int level, int *lineno)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:2976,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:2981,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct mosquitto__config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2988
      start: 2969
    functionDepth: 0
    functionLinenumber: 2969
    functionLinenumberEnd: 2988
    functionName: config__check_proxy
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 0
    functionsReached:
    - log__printf
    linkageType: ''
    returnType: int
    signature: int config__check_proxy(struct mosquitto__config *config)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/src/conf.c:3002,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/conf.c:3008,1
    - Dst: config__check_proxy
      Src: /src/mosquitto/src/conf.c:3016,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct mosquitto__config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3017
      start: 2991
    functionDepth: 1
    functionLinenumber: 2991
    functionLinenumberEnd: 3017
    functionName: config__check
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 1
    functionsReached:
    - mosquitto_strdup
    - strlen
    - config__check_proxy
    linkageType: ''
    returnType: int
    signature: int config__check(struct mosquitto__config *config)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gethostname
      Src: /src/mosquitto/src/conf.c:3034,1
    - Dst: strlen
      Src: /src/mosquitto/src/conf.c:3035,1
    - Dst: strlen
      Src: /src/mosquitto/src/conf.c:3035,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/conf.c:3036,1
    - Dst: snprintf
      Src: /src/mosquitto/src/conf.c:3040,1
    - Dst: strlen
      Src: /src/mosquitto/src/conf.c:3047,1
    - Dst: strlen
      Src: /src/mosquitto/src/conf.c:3047,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/conf.c:3048,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:3050,1
    - Dst: snprintf
      Src: /src/mosquitto/src/conf.c:3053,1
    - Dst: strcmp
      Src: /src/mosquitto/src/conf.c:3061,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:3062,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:3080,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:3084,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:3088,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct mosquitto__config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3094
      start: 3022
    functionDepth: 0
    functionLinenumber: 3022
    functionLinenumberEnd: 3094
    functionName: config__check_bridges
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 1
    functionsReached:
    - snprintf
    - mosquitto_malloc
    - strlen
    - gethostname
    - strcmp
    - log__printf
    linkageType: ''
    returnType: int
    signature: int config__check_bridges(struct mosquitto__config *config)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/mosquitto/src/conf.c:3100,1
    - Dst: strcmp
      Src: /src/mosquitto/src/conf.c:3102,1
    - Dst: strcmp
      Src: /src/mosquitto/src/conf.c:3102,1
    - Dst: strcmp
      Src: /src/mosquitto/src/conf.c:3104,1
    - Dst: strcmp
      Src: /src/mosquitto/src/conf.c:3104,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:3107,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:3111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - token
    - name
    - value
    - saveptr
    argTypes:
    - char**
    - char*
    - bool*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3116
      start: 3098
    functionDepth: 0
    functionLinenumber: 3098
    functionLinenumberEnd: 3116
    functionName: conf__parse_bool
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 0
    functionsReached:
    - log__printf
    - strtok_r
    - strcmp
    linkageType: ''
    returnType: int
    signature: int conf__parse_bool(char **token, const char *name, bool *value, char
      **saveptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/mosquitto/src/conf.c:3121,1
    - Dst: strtol
      Src: /src/mosquitto/src/conf.c:3124,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:3126,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:3130,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:3135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - token
    - name
    - value
    - saveptr
    argTypes:
    - char**
    - char*
    - int*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3140
      start: 3119
    functionDepth: 0
    functionLinenumber: 3119
    functionLinenumberEnd: 3140
    functionName: conf__parse_int
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 0
    functionsReached:
    - log__printf
    - strtok_r
    - strtol
    linkageType: ''
    returnType: int
    signature: int conf__parse_int(char **token, const char *name, int *value, char
      **saveptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/mosquitto/src/conf.c:3145,1
    - Dst: atol
      Src: /src/mosquitto/src/conf.c:3147,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:3149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - token
    - name
    - value
    - saveptr
    argTypes:
    - char**
    - char*
    - ssize_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3154
      start: 3143
    functionDepth: 0
    functionLinenumber: 3143
    functionLinenumberEnd: 3154
    functionName: conf__parse_ssize_t
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 0
    functionsReached:
    - log__printf
    - strtok_r
    - atol
    linkageType: ''
    returnType: int
    signature: int conf__parse_ssize_t(char **token, const char *name, ssize_t *value,
      char **saveptr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/mosquitto/src/conf.c:3161,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:3164,1
    - Dst: mosquitto_trimblanks
      Src: /src/mosquitto/src/conf.c:3168,1
    - Dst: strlen
      Src: /src/mosquitto/src/conf.c:3169,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:3170,1
    - Dst: strlen
      Src: /src/mosquitto/src/conf.c:3174,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/src/conf.c:3178,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:3179,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/conf.c:3182,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:3184,1
    - Dst: log__printf
      Src: /src/mosquitto/src/conf.c:3188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 4
    argNames:
    - token
    - name
    - value
    - saveptr
    argTypes:
    - char**
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3192
      start: 3157
    functionDepth: 0
    functionLinenumber: 3157
    functionLinenumberEnd: 3192
    functionName: conf__parse_string
    functionSourceFile: /src/mosquitto/src/conf.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - strlen
    - strtok_r
    - mosquitto_validate_utf8
    - log__printf
    - mosquitto_trimblanks
    linkageType: ''
    returnType: int
    signature: int conf__parse_string(char **token, const char *name, char **value,
      char **saveptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/mosquitto/src/persist_read_v5.c:45,1
    - Dst: ntohl
      Src: /src/mosquitto/src/persist_read_v5.c:50,1
    - Dst: ntohl
      Src: /src/mosquitto/src/persist_read_v5.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - db_fptr
    - chunk
    - length
    argTypes:
    - FILE*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionName: persist__chunk_header_read_v56
    functionSourceFile: /src/mosquitto/src/persist_read_v5.c
    functionUses: 1
    functionsReached:
    - ntohl
    - fread
    linkageType: ''
    returnType: int
    signature: int persist__chunk_header_read_v56(FILE *db_fptr, uint32_t *chunk,
      uint32_t *length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/mosquitto/src/persist_read_v5.c:59,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_read_v5.c:60,1
    - Dst: strerror
      Src: /src/mosquitto/src/persist_read_v5.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - db_fptr
    - chunk
    argTypes:
    - FILE*
    - struct PF_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: persist__chunk_cfg_read_v56
    functionSourceFile: /src/mosquitto/src/persist_read_v5.c
    functionUses: 1
    functionsReached:
    - log__printf
    - fread
    - strerror
    linkageType: ''
    returnType: int
    signature: int persist__chunk_cfg_read_v56(FILE *db_fptr, struct PF_cfg *chunk)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read_v5.c:73,1
    - Dst: ntohs
      Src: /src/mosquitto/src/persist_read_v5.c:74,1
    - Dst: ntohs
      Src: /src/mosquitto/src/persist_read_v5.c:75,1
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read_v5.c:77,1
    - Dst: ntohl
      Src: /src/mosquitto/src/persist_read_v5.c:82,1
    - Dst: ntohs
      Src: /src/mosquitto/src/persist_read_v5.c:83,1
    - Dst: ntohs
      Src: /src/mosquitto/src/persist_read_v5.c:84,1
    - Dst: persist__read_string_len
      Src: /src/mosquitto/src/persist_read_v5.c:87,1
    - Dst: persist__read_string_len
      Src: /src/mosquitto/src/persist_read_v5.c:95,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read_v5.c:97,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_read_v5.c:104,1
    - Dst: strerror
      Src: /src/mosquitto/src/persist_read_v5.c:104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - db_fptr
    - chunk
    - db_version
    argTypes:
    - FILE*
    - struct P_client*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 106
    functionName: persist__chunk_client_read_v56
    functionSourceFile: /src/mosquitto/src/persist_read_v5.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - ntohl
    - persist__read_string_len
    - read_e
    - strerror
    - log__printf
    - ntohs
    linkageType: ''
    returnType: int
    signature: int persist__chunk_client_read_v56(FILE *db_fptr, struct P_client *chunk,
      uint32_t db_version)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/persist_read_v5.c:115,1
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read_v5.c:117,1
    - Dst: ntohs
      Src: /src/mosquitto/src/persist_read_v5.c:118,1
    - Dst: ntohs
      Src: /src/mosquitto/src/persist_read_v5.c:119,1
    - Dst: persist__read_string_len
      Src: /src/mosquitto/src/persist_read_v5.c:126,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/persist_read_v5.c:133,1
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read_v5.c:139,1
    - Dst: property__read_all
      Src: /src/mosquitto/src/persist_read_v5.c:140,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read_v5.c:141,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read_v5.c:143,1
    - Dst: mosquitto_property_identifier
      Src: /src/mosquitto/src/persist_read_v5.c:150,1
    - Dst: mosquitto_property_varint_value
      Src: /src/mosquitto/src/persist_read_v5.c:151,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/src/persist_read_v5.c:153,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/persist_read_v5.c:155,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read_v5.c:161,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read_v5.c:162,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_read_v5.c:163,1
    - Dst: strerror
      Src: /src/mosquitto/src/persist_read_v5.c:163,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 3
    argNames:
    - db_fptr
    - chunk
    - length
    argTypes:
    - FILE*
    - struct P_client_msg*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 165
    functionName: persist__chunk_client_msg_read_v56
    functionSourceFile: /src/mosquitto/src/persist_read_v5.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - mosquitto_property_free_all
    - mosquitto_property_identifier
    - property__read_all
    - persist__read_string_len
    - mosquitto_malloc
    - read_e
    - memset
    - strerror
    - log__printf
    - mosquitto_property_next
    - ntohs
    - mosquitto_property_varint_value
    linkageType: ''
    returnType: int
    signature: int persist__chunk_client_msg_read_v56(FILE *db_fptr, struct P_client_msg
      *chunk, uint32_t length)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/persist_read_v5.c:174,1
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read_v5.c:176,1
    - Dst: ntohl
      Src: /src/mosquitto/src/persist_read_v5.c:177,1
    - Dst: ntohs
      Src: /src/mosquitto/src/persist_read_v5.c:181,1
    - Dst: ntohs
      Src: /src/mosquitto/src/persist_read_v5.c:182,1
    - Dst: ntohs
      Src: /src/mosquitto/src/persist_read_v5.c:183,1
    - Dst: ntohs
      Src: /src/mosquitto/src/persist_read_v5.c:184,1
    - Dst: ntohs
      Src: /src/mosquitto/src/persist_read_v5.c:185,1
    - Dst: persist__read_string_len
      Src: /src/mosquitto/src/persist_read_v5.c:193,1
    - Dst: persist__read_string_len
      Src: /src/mosquitto/src/persist_read_v5.c:199,1
    - Dst: persist__read_string_len
      Src: /src/mosquitto/src/persist_read_v5.c:204,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/persist_read_v5.c:210,1
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read_v5.c:215,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/persist_read_v5.c:222,1
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read_v5.c:227,1
    - Dst: property__read_all
      Src: /src/mosquitto/src/persist_read_v5.c:228,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read_v5.c:229,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read_v5.c:239,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read_v5.c:240,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read_v5.c:241,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read_v5.c:242,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read_v5.c:243,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 73
    argCount: 3
    argNames:
    - db_fptr
    - chunk
    - length
    argTypes:
    - FILE*
    - struct P_base_msg*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 245
    functionName: persist__chunk_base_msg_read_v56
    functionSourceFile: /src/mosquitto/src/persist_read_v5.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - ntohl
    - property__read_all
    - persist__read_string_len
    - mosquitto_malloc
    - read_e
    - memset
    - ntohs
    linkageType: ''
    returnType: int
    signature: int persist__chunk_base_msg_read_v56(FILE *db_fptr, struct P_base_msg
      *chunk, uint32_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/mosquitto/src/persist_read_v5.c:250,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_read_v5.c:251,1
    - Dst: strerror
      Src: /src/mosquitto/src/persist_read_v5.c:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - db_fptr
    - chunk
    argTypes:
    - FILE*
    - struct P_retain*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 255
    functionName: persist__chunk_retain_read_v56
    functionSourceFile: /src/mosquitto/src/persist_read_v5.c
    functionUses: 1
    functionsReached:
    - log__printf
    - fread
    - strerror
    linkageType: ''
    returnType: int
    signature: int persist__chunk_retain_read_v56(FILE *db_fptr, struct P_retain *chunk)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read_v5.c:262,1
    - Dst: ntohl
      Src: /src/mosquitto/src/persist_read_v5.c:263,1
    - Dst: ntohs
      Src: /src/mosquitto/src/persist_read_v5.c:264,1
    - Dst: ntohs
      Src: /src/mosquitto/src/persist_read_v5.c:265,1
    - Dst: persist__read_string_len
      Src: /src/mosquitto/src/persist_read_v5.c:267,1
    - Dst: persist__read_string_len
      Src: /src/mosquitto/src/persist_read_v5.c:272,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read_v5.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - db_fptr
    - chunk
    argTypes:
    - FILE*
    - struct P_sub*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 281
    functionName: persist__chunk_sub_read_v56
    functionSourceFile: /src/mosquitto/src/persist_read_v5.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - ntohl
    - persist__read_string_len
    - read_e
    - ntohs
    linkageType: ''
    returnType: int
    signature: int persist__chunk_sub_read_v56(FILE *db_fptr, struct P_sub *chunk)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/mosquitto/src/service.c:36,1
    - Dst: strrchr
      Src: /src/mosquitto/src/service.c:37,1
    - Dst: strlen
      Src: /src/mosquitto/src/service.c:39,1
    - Dst: strcasecmp
      Src: /src/mosquitto/src/service.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: fix_name
    functionSourceFile: /src/mosquitto/src/service.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - strrchr
    - strlen
    linkageType: ''
    returnType: char
    signature: char *fix_name(char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatMessage
      Src: /src/mosquitto/src/service.c:52,1
    - Dst: GetLastError
      Src: /src/mosquitto/src/service.c:53,1
    - Dst: fprintf
      Src: /src/mosquitto/src/service.c:55,1
    - Dst: LocalFree
      Src: /src/mosquitto/src/service.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: print_error
    functionSourceFile: /src/mosquitto/src/service.c
    functionUses: 2
    functionsReached:
    - fprintf
    - FormatMessage
    - GetLastError
    - LocalFree
    linkageType: ''
    returnType: void
    signature: void print_error(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SetServiceStatus
      Src: /src/mosquitto/src/service.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - fdwControl
    argTypes:
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 79
    functionName: service_handler
    functionSourceFile: /src/mosquitto/src/service.c
    functionUses: 0
    functionsReached:
    - SetServiceStatus
    linkageType: ''
    returnType: void
    signature: void service_handler(DWORD fdwControl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/src/service.c:92,1
    - Dst: fix_name
      Src: /src/mosquitto/src/service.c:94,1
    - Dst: snprintf
      Src: /src/mosquitto/src/service.c:95,1
    - Dst: strlen
      Src: /src/mosquitto/src/service.c:96,1
    - Dst: RegisterServiceCtrlHandler
      Src: /src/mosquitto/src/service.c:109,1
    - Dst: memset
      Src: /src/mosquitto/src/service.c:111,1
    - Dst: GetEnvironmentVariable
      Src: /src/mosquitto/src/service.c:112,1
    - Dst: SetServiceStatus
      Src: /src/mosquitto/src/service.c:115,1
    - Dst: strcat
      Src: /src/mosquitto/src/service.c:118,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/service.c:120,1
    - Dst: SetServiceStatus
      Src: /src/mosquitto/src/service.c:131,1
    - Dst: main
      Src: /src/mosquitto/src/service.c:133,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/service.c:134,1
    - Dst: SetServiceStatus
      Src: /src/mosquitto/src/service.c:137,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - dwArgc
    - lpszArgv
    argTypes:
    - DWORD
    - LPTSTR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 139
    functionName: service_main
    functionSourceFile: /src/mosquitto/src/service.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - fix_name
    - SetServiceStatus
    - strcat
    - snprintf
    - mosquitto_malloc
    - GetEnvironmentVariable
    - strlen
    - memset
    - main
    - RegisterServiceCtrlHandler
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void service_main(DWORD dwArgc, LPTSTR *lpszArgv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/service.c:150,1
    - Dst: GetModuleFileName
      Src: /src/mosquitto/src/service.c:151,1
    - Dst: fprintf
      Src: /src/mosquitto/src/service.c:152,1
    - Dst: snprintf
      Src: /src/mosquitto/src/service.c:155,1
    - Dst: fix_name
      Src: /src/mosquitto/src/service.c:157,1
    - Dst: OpenSCManager
      Src: /src/mosquitto/src/service.c:159,1
    - Dst: strcmp
      Src: /src/mosquitto/src/service.c:161,1
    - Dst: snprintf
      Src: /src/mosquitto/src/service.c:162,1
    - Dst: snprintf
      Src: /src/mosquitto/src/service.c:164,1
    - Dst: CreateService
      Src: /src/mosquitto/src/service.c:167,1
    - Dst: memset
      Src: /src/mosquitto/src/service.c:173,1
    - Dst: ChangeServiceConfig2
      Src: /src/mosquitto/src/service.c:175,1
    - Dst: CloseServiceHandle
      Src: /src/mosquitto/src/service.c:176,1
    - Dst: print_error
      Src: /src/mosquitto/src/service.c:178,1
    - Dst: CloseServiceHandle
      Src: /src/mosquitto/src/service.c:180,1
    - Dst: print_error
      Src: /src/mosquitto/src/service.c:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 184
    functionName: service_install
    functionSourceFile: /src/mosquitto/src/service.c
    functionUses: 1
    functionsReached:
    - GetModuleFileName
    - fix_name
    - fprintf
    - print_error
    - snprintf
    - memset
    - OpenSCManager
    - strcmp
    - ChangeServiceConfig2
    - CloseServiceHandle
    - CreateService
    linkageType: ''
    returnType: void
    signature: void service_install(char *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fix_name
      Src: /src/mosquitto/src/service.c:192,1
    - Dst: OpenSCManager
      Src: /src/mosquitto/src/service.c:194,1
    - Dst: OpenService
      Src: /src/mosquitto/src/service.c:196,1
    - Dst: QueryServiceStatus
      Src: /src/mosquitto/src/service.c:198,1
    - Dst: DeleteService
      Src: /src/mosquitto/src/service.c:200,1
    - Dst: CloseServiceHandle
      Src: /src/mosquitto/src/service.c:203,1
    - Dst: print_error
      Src: /src/mosquitto/src/service.c:205,1
    - Dst: CloseServiceHandle
      Src: /src/mosquitto/src/service.c:207,1
    - Dst: print_error
      Src: /src/mosquitto/src/service.c:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 211
    functionName: service_uninstall
    functionSourceFile: /src/mosquitto/src/service.c
    functionUses: 1
    functionsReached:
    - fix_name
    - print_error
    - QueryServiceStatus
    - DeleteService
    - OpenService
    - OpenSCManager
    - CloseServiceHandle
    linkageType: ''
    returnType: void
    signature: void service_uninstall(char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fix_name
      Src: /src/mosquitto/src/service.c:220,1
    - Dst: StartServiceCtrlDispatcher
      Src: /src/mosquitto/src/service.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 223
    functionName: service_run
    functionSourceFile: /src/mosquitto/src/service.c
    functionUses: 1
    functionsReached:
    - StartServiceCtrlDispatcher
    - fix_name
    linkageType: ''
    returnType: void
    signature: void service_run(char *name)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: packet__read_byte
      Src: /src/mosquitto/src/handle_disconnect.c:46,1
    - Dst: property__read_all
      Src: /src/mosquitto/src/handle_disconnect.c:52,1
    - Dst: property__process_disconnect
      Src: /src/mosquitto/src/handle_disconnect.c:58,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/handle_disconnect.c:60,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/handle_disconnect.c:63,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_disconnect.c:68,1
    - Dst: do_disconnect
      Src: /src/mosquitto/src/handle_disconnect.c:71,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/src/handle_disconnect.c:76,1
    - Dst: will__clear
      Src: /src/mosquitto/src/handle_disconnect.c:78,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/src/handle_disconnect.c:79,1
    - Dst: do_disconnect
      Src: /src/mosquitto/src/handle_disconnect.c:81,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 83
    functionName: handle__disconnect
    functionSourceFile: /src/mosquitto/src/handle_disconnect.c
    functionUses: 1
    functionsReached:
    - do_disconnect
    - property__read_all
    - mosquitto__set_state
    - property__process_disconnect
    - packet__read_byte
    - log__printf
    - will__clear
    - mosquitto_property_free_all
    linkageType: ''
    returnType: int
    signature: int handle__disconnect(struct mosquitto *context)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/mosquitto/src/topic_tok.c:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - str
    - saveptr
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 54
    functionName: strtok_hier
    functionSourceFile: /src/mosquitto/src/topic_tok.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: char
    signature: char *strtok_hier(char *str, char **saveptr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/src/topic_tok.c:65,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/topic_tok.c:70,1
    - Dst: strchr
      Src: /src/mosquitto/src/topic_tok.c:78,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/topic_tok.c:81,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/topic_tok.c:83,1
    - Dst: strtok_hier
      Src: /src/mosquitto/src/topic_tok.c:92,1
    - Dst: strtok_hier
      Src: /src/mosquitto/src/topic_tok.c:96,1
    - Dst: strcmp
      Src: /src/mosquitto/src/topic_tok.c:99,1
    - Dst: strlen
      Src: /src/mosquitto/src/topic_tok.c:100,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/topic_tok.c:101,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/topic_tok.c:102,1
    - Dst: strpbrk
      Src: /src/mosquitto/src/topic_tok.c:107,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/topic_tok.c:108,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/topic_tok.c:109,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 4
    argNames:
    - subtopic
    - local_sub
    - topics
    - sharename
    argTypes:
    - char*
    - char**
    - char***
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 122
    functionName: sub__topic_tokenise
    functionSourceFile: /src/mosquitto/src/topic_tok.c
    functionUses: 4
    functionsReached:
    - mosquitto_strdup
    - mosquitto_FREE
    - mosquitto_calloc
    - strchr
    - strlen
    - strtok_hier
    - strcmp
    - strpbrk
    linkageType: ''
    returnType: int
    signature: int sub__topic_tokenise(const char *subtopic, char **local_sub, char
      ***topics, const char **sharename)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_unsubscribe.c:53,1
    - Dst: packet__read_uint16
      Src: /src/mosquitto/src/handle_unsubscribe.c:60,1
    - Dst: property__read_all
      Src: /src/mosquitto/src/handle_unsubscribe.c:68,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/handle_unsubscribe.c:80,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/handle_unsubscribe.c:91,1
    - Dst: memset
      Src: /src/mosquitto/src/handle_unsubscribe.c:97,1
    - Dst: packet__read_string
      Src: /src/mosquitto/src/handle_unsubscribe.c:99,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_unsubscribe.c:100,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_unsubscribe.c:105,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_unsubscribe.c:108,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_unsubscribe.c:109,1
    - Dst: mosquitto_sub_topic_check
      Src: /src/mosquitto/src/handle_unsubscribe.c:112,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_unsubscribe.c:113,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_unsubscribe.c:116,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_unsubscribe.c:117,1
    - Dst: mosquitto_acl_check
      Src: /src/mosquitto/src/handle_unsubscribe.c:123,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_unsubscribe.c:132,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_unsubscribe.c:133,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_unsubscribe.c:137,1
    - Dst: plugin__handle_unsubscribe
      Src: /src/mosquitto/src/handle_unsubscribe.c:139,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_unsubscribe.c:141,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_unsubscribe.c:142,1
    - Dst: sub__remove
      Src: /src/mosquitto/src/handle_unsubscribe.c:145,1
    - Dst: plugin_persist__handle_subscription_delete
      Src: /src/mosquitto/src/handle_unsubscribe.c:146,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_unsubscribe.c:150,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_unsubscribe.c:151,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_unsubscribe.c:153,1
    - Dst: mosquitto_realloc
      Src: /src/mosquitto/src/handle_unsubscribe.c:160,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_unsubscribe.c:162,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_unsubscribe.c:173,1
    - Dst: send__unsuback
      Src: /src/mosquitto/src/handle_unsubscribe.c:176,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_unsubscribe.c:177,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 112
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 179
    functionName: handle__unsubscribe
    functionSourceFile: /src/mosquitto/src/handle_unsubscribe.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - plugin__handle_unsubscribe
    - packet__read_string
    - property__read_all
    - plugin_persist__handle_subscription_delete
    - packet__read_uint16
    - mosquitto_malloc
    - memset
    - mosquitto_sub_topic_check
    - mosquitto_acl_check
    - log__printf
    - mosquitto_realloc
    - send__unsuback
    - mosquitto_property_free_all
    - sub__remove
    linkageType: ''
    returnType: int
    signature: int handle__unsubscribe(struct mosquitto *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/src/control_common.c:18,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/src/control_common.c:23,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/src/control_common.c:24,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/src/control_common.c:25,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/src/control_common.c:28,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/src/control_common.c:32,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - cmd
    - error
    argTypes:
    - struct mosquitto_control_cmd*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 14
    functionDepth: 4
    functionLinenumber: 14
    functionLinenumberEnd: 33
    functionName: mosquitto_control_command_reply
    functionSourceFile: /src/mosquitto/src/control_common.c
    functionUses: 0
    functionsReached:
    - cJSON_AddItemToArray
    - cJSON_Delete
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: void
    signature: void mosquitto_control_command_reply(struct mosquitto_control_cmd *cmd,
      const char *error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_PrintUnformatted
      Src: /src/mosquitto/src/control_common.c:41,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/src/control_common.c:42,1
    - Dst: strlen
      Src: /src/mosquitto/src/control_common.c:47,1
    - Dst: free
      Src: /src/mosquitto/src/control_common.c:49,1
    - Dst: mosquitto_broker_publish
      Src: /src/mosquitto/src/control_common.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - tree
    - topic
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 53
    functionName: mosquitto_control_send_response
    functionSourceFile: /src/mosquitto/src/control_common.c
    functionUses: 0
    functionsReached:
    - cJSON_PrintUnformatted
    - cJSON_Delete
    - mosquitto_broker_publish
    - strlen
    - free
    linkageType: ''
    returnType: void
    signature: void mosquitto_control_send_response(cJSON *tree, const char *topic)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/src/control_common.c:62,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/src/control_common.c:63,1
    - Dst: cJSON_GetStringValue
      Src: /src/mosquitto/src/control_common.c:64,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/src/control_common.c:70,1
    - Dst: cJSON_IsString
      Src: /src/mosquitto/src/control_common.c:72,1
    - Dst: cJSON_GetStringValue
      Src: /src/mosquitto/src/control_common.c:73,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/src/control_common.c:75,1
    - Dst: cmd_cb
      Src: /src/mosquitto/src/control_common.c:80,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/src/control_common.c:82,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/src/control_common.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - cmd
    - commands
    - userdata
    argTypes:
    - struct mosquitto_control_cmd*
    - cJSON*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 56
    functionDepth: 5
    functionLinenumber: 56
    functionLinenumberEnd: 91
    functionName: control__generic_handle_commands
    functionSourceFile: /src/mosquitto/src/control_common.c
    functionUses: 0
    functionsReached:
    - mosquitto_control_command_reply
    - cJSON_GetStringValue
    - cJSON_GetObjectItem
    - cmd_cb
    - cJSON_IsObject
    - cJSON_IsString
    linkageType: ''
    returnType: int
    signature: int control__generic_handle_commands(struct mosquitto_control_cmd *cmd,
      cJSON *commands, void *userdata, int (*cmd_cb)(struct mosquitto_control_cmd
      *cmd, void *userdata))
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/src/control_common.c:62,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/src/control_common.c:63,1
    - Dst: cJSON_GetStringValue
      Src: /src/mosquitto/src/control_common.c:64,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/src/control_common.c:70,1
    - Dst: cJSON_IsString
      Src: /src/mosquitto/src/control_common.c:72,1
    - Dst: cJSON_GetStringValue
      Src: /src/mosquitto/src/control_common.c:73,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/src/control_common.c:75,1
    - Dst: cmd_cb
      Src: /src/mosquitto/src/control_common.c:80,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/src/control_common.c:82,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/src/control_common.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 60
    functionDepth: 5
    functionLinenumber: 60
    functionLinenumberEnd: 89
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/src/control_common.c
    functionUses: 1
    functionsReached:
    - mosquitto_control_command_reply
    - cJSON_GetStringValue
    - cJSON_GetObjectItem
    - cmd_cb
    - cJSON_IsObject
    - cJSON_IsString
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(aiter, commands)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/control_common.c:107,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/src/control_common.c:112,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/src/control_common.c:116,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/src/control_common.c:118,1
    - Dst: cJSON_Parse
      Src: /src/mosquitto/src/control_common.c:127,1
    - Dst: cJSON_ParseWithLength
      Src: /src/mosquitto/src/control_common.c:129,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/src/control_common.c:132,1
    - Dst: mosquitto_control_send_response
      Src: /src/mosquitto/src/control_common.c:133,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/src/control_common.c:136,1
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/src/control_common.c:137,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/src/control_common.c:138,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/src/control_common.c:139,1
    - Dst: mosquitto_control_send_response
      Src: /src/mosquitto/src/control_common.c:140,1
    - Dst: control__generic_handle_commands
      Src: /src/mosquitto/src/control_common.c:145,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/src/control_common.c:146,1
    - Dst: mosquitto_control_send_response
      Src: /src/mosquitto/src/control_common.c:148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - event_data
    - response_topic
    - userdata
    argTypes:
    - struct mosquitto_evt_control*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 94
    functionDepth: 6
    functionLinenumber: 94
    functionLinenumberEnd: 151
    functionName: mosquitto_control_generic_callback
    functionSourceFile: /src/mosquitto/src/control_common.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_IsArray
    - mosquitto_control_send_response
    - mosquitto_control_command_reply
    - cJSON_GetObjectItem
    - cJSON_AddArrayToObject
    - control__generic_handle_commands
    - memset
    - cJSON_ParseWithLength
    - cJSON_Parse
    - cJSON_CreateObject
    linkageType: ''
    returnType: int
    signature: "int mosquitto_control_generic_callback(struct mosquitto_evt_control
      *event_data, const char *response_topic, void *userdata,\n\t\tint (*cmd_cb)(struct
      mosquitto_control_cmd *cmd, void *userdata))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: S_ISREG
    functionSourceFile: /src/mosquitto/src/http_api.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISREG(mode)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/src/http_api.c:77,1
    - Dst: strlen
      Src: /src/mosquitto/src/http_api.c:79,1
    - Dst: strlen
      Src: /src/mosquitto/src/http_api.c:79,1
    - Dst: strlen
      Src: /src/mosquitto/src/http_api.c:81,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/http_api.c:83,1
    - Dst: snprintf
      Src: /src/mosquitto/src/http_api.c:89,1
    - Dst: snprintf
      Src: /src/mosquitto/src/http_api.c:91,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/http_api.c:96,1
    - Dst: _fullpath
      Src: /src/mosquitto/src/http_api.c:102,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/http_api.c:103,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/http_api.c:106,1
    - Dst: realpath
      Src: /src/mosquitto/src/http_api.c:110,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/http_api.c:111,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/http_api.c:122,1
    - Dst: strncmp
      Src: /src/mosquitto/src/http_api.c:126,1
    - Dst: strlen
      Src: /src/mosquitto/src/http_api.c:126,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/http_api.c:128,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 3
    argNames:
    - url
    - http_dir
    - error_code
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 134
    functionName: http__canonical_filename
    functionSourceFile: /src/mosquitto/src/http_api.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - strncmp
    - mosquitto_calloc
    - realpath
    - snprintf
    - mosquitto_malloc
    - strlen
    - _fullpath
    linkageType: ''
    returnType: char
    signature: "char *http__canonical_filename(\n\t\tconst char *url,\n\t\tconst char
      *http_dir,\n\t\tint *error_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MHD_create_response_from_buffer
      Src: /src/mosquitto/src/http_api.c:138,1
    - Dst: strlen
      Src: /src/mosquitto/src/http_api.c:138,1
    - Dst: MHD_queue_response
      Src: /src/mosquitto/src/http_api.c:139,1
    - Dst: MHD_destroy_response
      Src: /src/mosquitto/src/http_api.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - connection
    - error_str
    - error_code
    argTypes:
    - struct MHD_Connection*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: http_api__send_error_response
    functionSourceFile: /src/mosquitto/src/http_api.c
    functionUses: 0
    functionsReached:
    - MHD_destroy_response
    - strlen
    - MHD_queue_response
    - MHD_create_response_from_buffer
    linkageType: ''
    returnType: enum MHD_Result
    signature: enum MHD_Result http_api__send_error_response(struct MHD_Connection
      *connection, const char *error_str, unsigned int error_code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MHD_create_response_from_buffer
      Src: /src/mosquitto/src/http_api.c:147,1
    - Dst: strlen
      Src: /src/mosquitto/src/http_api.c:147,1
    - Dst: MHD_add_response_header
      Src: /src/mosquitto/src/http_api.c:149,1
    - Dst: MHD_destroy_response
      Src: /src/mosquitto/src/http_api.c:151,1
    - Dst: MHD_queue_response
      Src: /src/mosquitto/src/http_api.c:154,1
    - Dst: MHD_destroy_response
      Src: /src/mosquitto/src/http_api.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - connection
    - buf
    argTypes:
    - struct MHD_Connection*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 157
    functionName: http_api__send_response_with_headers
    functionSourceFile: /src/mosquitto/src/http_api.c
    functionUses: 0
    functionsReached:
    - MHD_destroy_response
    - MHD_add_response_header
    - MHD_create_response_from_buffer
    - strlen
    - MHD_queue_response
    linkageType: ''
    returnType: enum MHD_Result
    signature: enum MHD_Result http_api__send_response_with_headers(struct MHD_Connection
      *connection, const char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_api__send_response_with_headers
      Src: /src/mosquitto/src/http_api.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - connection
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: http_api__process_version
    functionSourceFile: /src/mosquitto/src/http_api.c
    functionUses: 0
    functionsReached:
    - http_api__send_response_with_headers
    linkageType: ''
    returnType: enum MHD_Result
    signature: enum MHD_Result http_api__process_version(struct MHD_Connection *connection)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/src/http_api.c:169,1
    - Dst: http_api__send_error_response
      Src: /src/mosquitto/src/http_api.c:171,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/src/http_api.c:174,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/src/http_api.c:176,1
    - Dst: http_api__send_error_response
      Src: /src/mosquitto/src/http_api.c:177,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/src/http_api.c:181,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/src/http_api.c:183,1
    - Dst: http_api__send_error_response
      Src: /src/mosquitto/src/http_api.c:184,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/src/http_api.c:186,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/src/http_api.c:191,1
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/src/http_api.c:195,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/src/http_api.c:200,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/src/http_api.c:203,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/src/http_api.c:206,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/src/http_api.c:209,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/src/http_api.c:213,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/src/http_api.c:214,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/src/http_api.c:216,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/src/http_api.c:218,1
    - Dst: cJSON_Print
      Src: /src/mosquitto/src/http_api.c:221,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/src/http_api.c:222,1
    - Dst: http_api__send_response_with_headers
      Src: /src/mosquitto/src/http_api.c:224,1
    - Dst: free
      Src: /src/mosquitto/src/http_api.c:225,1
    - Dst: http_api__send_error_response
      Src: /src/mosquitto/src/http_api.c:227,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 1
    argNames:
    - connection
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 164
    functionDepth: 4
    functionLinenumber: 164
    functionLinenumberEnd: 231
    functionName: http_api__process_listeners
    functionSourceFile: /src/mosquitto/src/http_api.c
    functionUses: 0
    functionsReached:
    - cJSON_AddIntToObject
    - cJSON_Delete
    - cJSON_Print
    - http_api__send_response_with_headers
    - cJSON_AddBoolToObject
    - cJSON_AddArrayToObject
    - cJSON_AddItemToArray
    - http_api__send_error_response
    - free
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: enum MHD_Result
    signature: enum MHD_Result http_api__process_listeners(struct MHD_Connection *connection)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/src/http_api.c:240,1
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/src/http_api.c:243,1
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/src/http_api.c:246,1
    - Dst: broker_uptime
      Src: /src/mosquitto/src/http_api.c:246,1
    - Dst: cJSON_Print
      Src: /src/mosquitto/src/http_api.c:248,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/src/http_api.c:249,1
    - Dst: http_api__send_response_with_headers
      Src: /src/mosquitto/src/http_api.c:252,1
    - Dst: free
      Src: /src/mosquitto/src/http_api.c:253,1
    - Dst: http_api__send_error_response
      Src: /src/mosquitto/src/http_api.c:255,1
    - Dst: http_api__send_error_response
      Src: /src/mosquitto/src/http_api.c:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - connection
    argTypes:
    - struct MHD_Connection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 262
    functionName: http_api__process_systree
    functionSourceFile: /src/mosquitto/src/http_api.c
    functionUses: 0
    functionsReached:
    - cJSON_AddIntToObject
    - cJSON_Delete
    - cJSON_Print
    - broker_uptime
    - http_api__send_response_with_headers
    - http_api__send_error_response
    - free
    - cJSON_CreateObject
    linkageType: ''
    returnType: enum MHD_Result
    signature: enum MHD_Result http_api__process_systree(struct MHD_Connection *connection)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/mosquitto/src/http_api.c:268,1
    - Dst: fread
      Src: /src/mosquitto/src/http_api.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - cls
    - pos
    - buf
    - max
    argTypes:
    - void*
    - uint64_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 272
    functionName: http_file_read_cb
    functionSourceFile: /src/mosquitto/src/http_api.c
    functionUses: 0
    functionsReached:
    - fseek
    - fread
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t http_file_read_cb(void *cls, uint64_t pos, char *buf, size_t
      max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/mosquitto/src/http_api.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cls
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: http_file_free_cb
    functionSourceFile: /src/mosquitto/src/http_api.c
    functionUses: 0
    functionsReached:
    - fclose
    linkageType: ''
    returnType: void
    signature: void http_file_free_cb(void *cls)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: http_api__send_error_response
      Src: /src/mosquitto/src/http_api.c:288,1
    - Dst: http__canonical_filename
      Src: /src/mosquitto/src/http_api.c:292,1
    - Dst: http_api__send_error_response
      Src: /src/mosquitto/src/http_api.c:294,1
    - Dst: fopen
      Src: /src/mosquitto/src/http_api.c:298,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/http_api.c:299,1
    - Dst: http_api__send_error_response
      Src: /src/mosquitto/src/http_api.c:301,1
    - Dst: fstat
      Src: /src/mosquitto/src/http_api.c:306,1
    - Dst: fileno
      Src: /src/mosquitto/src/http_api.c:306,1
    - Dst: fclose
      Src: /src/mosquitto/src/http_api.c:307,1
    - Dst: http_api__send_error_response
      Src: /src/mosquitto/src/http_api.c:308,1
    - Dst: S_ISREG
      Src: /src/mosquitto/src/http_api.c:312,1
    - Dst: fclose
      Src: /src/mosquitto/src/http_api.c:313,1
    - Dst: http_api__send_error_response
      Src: /src/mosquitto/src/http_api.c:314,1
    - Dst: MHD_create_response_from_callback
      Src: /src/mosquitto/src/http_api.c:320,1
    - Dst: MHD_queue_response
      Src: /src/mosquitto/src/http_api.c:327,1
    - Dst: MHD_destroy_response
      Src: /src/mosquitto/src/http_api.c:328,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - listener
    - connection
    - url
    argTypes:
    - struct mosquitto__listener*
    - struct MHD_Connection*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 330
    functionName: http_api__process_file
    functionSourceFile: /src/mosquitto/src/http_api.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - S_ISREG
    - MHD_create_response_from_callback
    - MHD_destroy_response
    - fstat
    - fclose
    - http__canonical_filename
    - fileno
    - http_api__send_error_response
    - fopen
    - MHD_queue_response
    linkageType: ''
    returnType: enum MHD_Result
    signature: enum MHD_Result http_api__process_file(struct mosquitto__listener *listener,
      struct MHD_Connection *connection, const char *url)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/src/http_api.c:335,1
    - Dst: http_api__process_systree
      Src: /src/mosquitto/src/http_api.c:336,1
    - Dst: strcmp
      Src: /src/mosquitto/src/http_api.c:337,1
    - Dst: http_api__process_listeners
      Src: /src/mosquitto/src/http_api.c:338,1
    - Dst: strcmp
      Src: /src/mosquitto/src/http_api.c:339,1
    - Dst: http_api__process_version
      Src: /src/mosquitto/src/http_api.c:340,1
    - Dst: http_api__send_error_response
      Src: /src/mosquitto/src/http_api.c:342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - connection
    - url
    argTypes:
    - struct MHD_Connection*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 333
    functionDepth: 5
    functionLinenumber: 333
    functionLinenumberEnd: 344
    functionName: http_api__process_api
    functionSourceFile: /src/mosquitto/src/http_api.c
    functionUses: 0
    functionsReached:
    - http_api__process_version
    - http_api__process_systree
    - strcmp
    - http_api__send_error_response
    - http_api__process_listeners
    linkageType: ''
    returnType: enum MHD_Result
    signature: enum MHD_Result http_api__process_api(struct MHD_Connection *connection,
      const char *url)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MHD_basic_auth_get_username_password
      Src: /src/mosquitto/src/http_api.c:355,1
    - Dst: mosquitto_basic_auth
      Src: /src/mosquitto/src/http_api.c:358,1
    - Dst: mosquitto_acl_check
      Src: /src/mosquitto/src/http_api.c:360,1
    - Dst: MHD_free
      Src: /src/mosquitto/src/http_api.c:362,1
    - Dst: MHD_free
      Src: /src/mosquitto/src/http_api.c:363,1
    - Dst: MHD_create_response_from_buffer
      Src: /src/mosquitto/src/http_api.c:367,1
    - Dst: strlen
      Src: /src/mosquitto/src/http_api.c:367,1
    - Dst: MHD_queue_basic_auth_fail_response
      Src: /src/mosquitto/src/http_api.c:368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - listener
    - connection
    - url
    argTypes:
    - struct mosquitto__listener*
    - struct MHD_Connection*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 374
    functionName: check_access
    functionSourceFile: /src/mosquitto/src/http_api.c
    functionUses: 0
    functionsReached:
    - MHD_queue_basic_auth_fail_response
    - MHD_free
    - MHD_create_response_from_buffer
    - strlen
    - MHD_basic_auth_get_username_password
    - mosquitto_acl_check
    - mosquitto_basic_auth
    linkageType: ''
    returnType: int
    signature: int check_access(struct mosquitto__listener *listener, struct MHD_Connection
      *connection, const char *url)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/src/http_api.c:380,1
    - Dst: UNUSED
      Src: /src/mosquitto/src/http_api.c:381,1
    - Dst: UNUSED
      Src: /src/mosquitto/src/http_api.c:382,1
    - Dst: UNUSED
      Src: /src/mosquitto/src/http_api.c:383,1
    - Dst: strcmp
      Src: /src/mosquitto/src/http_api.c:387,1
    - Dst: MHD_create_response_from_buffer
      Src: /src/mosquitto/src/http_api.c:389,1
    - Dst: strlen
      Src: /src/mosquitto/src/http_api.c:389,1
    - Dst: MHD_queue_response
      Src: /src/mosquitto/src/http_api.c:390,1
    - Dst: MHD_destroy_response
      Src: /src/mosquitto/src/http_api.c:391,1
    - Dst: check_access
      Src: /src/mosquitto/src/http_api.c:395,1
    - Dst: strncasecmp
      Src: /src/mosquitto/src/http_api.c:399,1
    - Dst: strlen
      Src: /src/mosquitto/src/http_api.c:399,1
    - Dst: http_api__process_api
      Src: /src/mosquitto/src/http_api.c:400,1
    - Dst: http_api__process_file
      Src: /src/mosquitto/src/http_api.c:402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 8
    argNames:
    - cls
    - connection
    - url
    - method
    - version
    - upload_data
    - upload_data_size
    - con_cls
    argTypes:
    - void*
    - struct MHD_Connection*
    - char*
    - char*
    - char*
    - char*
    - size_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 376
    functionDepth: 6
    functionLinenumber: 376
    functionLinenumberEnd: 404
    functionName: http_api_handler
    functionSourceFile: /src/mosquitto/src/http_api.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - http_api__process_file
    - MHD_destroy_response
    - MHD_create_response_from_buffer
    - check_access
    - strlen
    - http_api__process_api
    - strcmp
    - UNUSED
    - MHD_queue_response
    linkageType: ''
    returnType: enum MHD_Result
    signature: "enum MHD_Result http_api_handler(void *cls, struct MHD_Connection\n\t\t*connection,
      const char *url, const char *method, const char *version,\n\t\tconst char *upload_data,
      size_t *upload_data_size, void **con_cls)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/http_api.c:409,1
    - Dst: strlen
      Src: /src/mosquitto/src/http_api.c:415,1
    - Dst: _fullpath
      Src: /src/mosquitto/src/http_api.c:417,1
    - Dst: realpath
      Src: /src/mosquitto/src/http_api.c:419,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/http_api.c:424,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/http_api.c:425,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/http_api.c:426,1
    - Dst: http_api__start
      Src: /src/mosquitto/src/http_api.c:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct mosquitto__listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 430
    functionName: http_api__start_local
    functionSourceFile: /src/mosquitto/src/http_api.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - mosquitto_FREE
    - realpath
    - http_api__start
    - strlen
    - _fullpath
    linkageType: ''
    returnType: int
    signature: int http_api__start_local(struct mosquitto__listener *listener)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/http_api.c:442,1
    - Dst: mosquitto_read_file
      Src: /src/mosquitto/src/http_api.c:453,1
    - Dst: log__printf
      Src: /src/mosquitto/src/http_api.c:454,1
    - Dst: mosquitto_read_file
      Src: /src/mosquitto/src/http_api.c:457,1
    - Dst: log__printf
      Src: /src/mosquitto/src/http_api.c:458,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/http_api.c:459,1
    - Dst: snprintf
      Src: /src/mosquitto/src/http_api.c:470,1
    - Dst: memset
      Src: /src/mosquitto/src/http_api.c:472,1
    - Dst: getaddrinfo
      Src: /src/mosquitto/src/http_api.c:477,1
    - Dst: log__printf
      Src: /src/mosquitto/src/http_api.c:479,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/http_api.c:480,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/http_api.c:481,1
    - Dst: log__printf
      Src: /src/mosquitto/src/http_api.c:491,1
    - Dst: freeaddrinfo
      Src: /src/mosquitto/src/http_api.c:492,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/http_api.c:493,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/http_api.c:494,1
    - Dst: MHD_start_daemon
      Src: /src/mosquitto/src/http_api.c:503,1
    - Dst: MHD_start_daemon
      Src: /src/mosquitto/src/http_api.c:509,1
    - Dst: freeaddrinfo
      Src: /src/mosquitto/src/http_api.c:513,1
    - Dst: MHD_start_daemon
      Src: /src/mosquitto/src/http_api.c:516,1
    - Dst: MHD_start_daemon
      Src: /src/mosquitto/src/http_api.c:521,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/http_api.c:526,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/http_api.c:527,1
    - Dst: log__printf
      Src: /src/mosquitto/src/http_api.c:530,1
    - Dst: log__printf
      Src: /src/mosquitto/src/http_api.c:532,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 73
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct mosquitto__listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 538
    functionName: http_api__start
    functionSourceFile: /src/mosquitto/src/http_api.c
    functionUses: 1
    functionsReached:
    - mosquitto_read_file
    - mosquitto_FREE
    - getaddrinfo
    - mosquitto_calloc
    - snprintf
    - memset
    - freeaddrinfo
    - MHD_start_daemon
    - log__printf
    linkageType: ''
    returnType: int
    signature: int http_api__start(struct mosquitto__listener *listener)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MHD_stop_daemon
      Src: /src/mosquitto/src/http_api.c:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct mosquitto__listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 545
    functionName: http_api__stop
    functionSourceFile: /src/mosquitto/src/http_api.c
    functionUses: 0
    functionsReached:
    - MHD_stop_daemon
    linkageType: ''
    returnType: void
    signature: void http_api__stop(struct mosquitto__listener *listener)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/src/control.c:37,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/control.c:38,1
    - Dst: snprintf
      Src: /src/mosquitto/src/control.c:42,1
    - Dst: mosquitto_broker_publish_copy
      Src: /src/mosquitto/src/control.c:44,1
    - Dst: strlen
      Src: /src/mosquitto/src/control.c:44,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/control.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - clientid
    - request_topic
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 46
    functionName: control__negative_reply
    functionSourceFile: /src/mosquitto/src/control.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - mosquitto_broker_publish_copy
    - mosquitto_calloc
    - snprintf
    - strlen
    linkageType: ''
    returnType: void
    signature: void control__negative_reply(const char *clientid, const char *request_topic)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/control.c:62,1
    - Dst: strlen
      Src: /src/mosquitto/src/control.c:62,1
    - Dst: log__printf
      Src: /src/mosquitto/src/control.c:67,1
    - Dst: log__printf
      Src: /src/mosquitto/src/control.c:68,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/control.c:72,1
    - Dst: strlen
      Src: /src/mosquitto/src/control.c:72,1
    - Dst: memset
      Src: /src/mosquitto/src/control.c:75,1
    - Dst: struct mosquitto__callback*::cb
      Src: /src/mosquitto/src/control.c:86,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/src/control.c:90,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/src/control.c:93,1
    - Dst: control__negative_reply
      Src: /src/mosquitto/src/control.c:95,1
    - Dst: send__puback
      Src: /src/mosquitto/src/control.c:99,1
    - Dst: send__pubrec
      Src: /src/mosquitto/src/control.c:104,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/control.c:109,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 2
    argNames:
    - context
    - base_msg
    argTypes:
    - struct mosquitto*
    - struct mosquitto__base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 112
    functionName: control__process
    functionSourceFile: /src/mosquitto/src/control.c
    functionUses: 1
    functionsReached:
    - send__puback
    - control__negative_reply
    - strlen
    - struct mosquitto__callback*::cb
    - memset
    - HASH_FIND
    - log__printf
    - send__pubrec
    - mosquitto_property_add_string
    - mosquitto_property_free_all
    - SAFE_FREE
    linkageType: ''
    returnType: int
    signature: int control__process(struct mosquitto *context, struct mosquitto__base_msg
      *base_msg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/src/control.c:126,1
    - Dst: strncmp
      Src: /src/mosquitto/src/control.c:130,1
    - Dst: strlen
      Src: /src/mosquitto/src/control.c:130,1
    - Dst: strlen
      Src: /src/mosquitto/src/control.c:130,1
    - Dst: strlen
      Src: /src/mosquitto/src/control.c:130,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/control.c:136,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/control.c:141,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/control.c:145,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/control.c:147,1
    - Dst: HASH_ADD_KEYPTR
      Src: /src/mosquitto/src/control.c:153,1
    - Dst: strlen
      Src: /src/mosquitto/src/control.c:153,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/control.c:157,1
    - Dst: snprintf
      Src: /src/mosquitto/src/control.c:161,1
    - Dst: DL_APPEND
      Src: /src/mosquitto/src/control.c:162,1
    - Dst: log__printf
      Src: /src/mosquitto/src/control.c:164,1
    - Dst: UNUSED
      Src: /src/mosquitto/src/control.c:169,1
    - Dst: UNUSED
      Src: /src/mosquitto/src/control.c:170,1
    - Dst: UNUSED
      Src: /src/mosquitto/src/control.c:171,1
    - Dst: UNUSED
      Src: /src/mosquitto/src/control.c:172,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 4
    argNames:
    - pid
    - cb_func
    - topic
    - userdata
    argTypes:
    - mosquitto_plugin_id_t*
    - MOSQ_FUNC_generic_callback
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 175
    functionName: control__register_callback
    functionSourceFile: /src/mosquitto/src/control.c
    functionUses: 1
    functionsReached:
    - strncmp
    - mosquitto_strdup
    - mosquitto_FREE
    - DL_APPEND
    - mosquitto_calloc
    - mosquitto_malloc
    - snprintf
    - strlen
    - HASH_ADD_KEYPTR
    - HASH_FIND
    - log__printf
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int control__register_callback(mosquitto_plugin_id_t *pid, MOSQ_FUNC_generic_callback
      cb_func, const char *topic, void *userdata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/src/control.c:190,1
    - Dst: strncmp
      Src: /src/mosquitto/src/control.c:194,1
    - Dst: strlen
      Src: /src/mosquitto/src/control.c:194,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/control.c:200,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/src/control.c:202,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/control.c:203,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/control.c:204,1
    - Dst: DL_FOREACH
      Src: /src/mosquitto/src/control.c:206,1
    - Dst: strcmp
      Src: /src/mosquitto/src/control.c:207,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/src/control.c:208,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/control.c:209,1
    - Dst: UNUSED
      Src: /src/mosquitto/src/control.c:217,1
    - Dst: UNUSED
      Src: /src/mosquitto/src/control.c:218,1
    - Dst: UNUSED
      Src: /src/mosquitto/src/control.c:219,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - identifier
    - cb_func
    - topic
    argTypes:
    - mosquitto_plugin_id_t*
    - MOSQ_FUNC_generic_callback
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 222
    functionName: control__unregister_callback
    functionSourceFile: /src/mosquitto/src/control.c
    functionUses: 1
    functionsReached:
    - strncmp
    - mosquitto_FREE
    - strlen
    - DL_DELETE
    - HASH_FIND
    - HASH_DELETE
    - strcmp
    - UNUSED
    - DL_FOREACH
    linkageType: ''
    returnType: int
    signature: int control__unregister_callback(mosquitto_plugin_id_t *identifier,
      MOSQ_FUNC_generic_callback cb_func, const char *topic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/control.c:235,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/control.c:236,1
    - Dst: strlen
      Src: /src/mosquitto/src/control.c:236,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/src/control.c:238,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/control.c:239,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/control.c:240,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/src/control.c:243,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/control.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - mosquitto_plugin_id_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 246
    functionName: control__unregister_all_callbacks
    functionSourceFile: /src/mosquitto/src/control.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - strlen
    - DL_DELETE
    - DL_FOREACH_SAFE
    - HASH_FIND
    - HASH_DELETE
    linkageType: ''
    returnType: void
    signature: void control__unregister_all_callbacks(mosquitto_plugin_id_t *identifier)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/logging.c:84,1
    - Dst: stat
      Src: /src/mosquitto/src/logging.c:85,1
    - Dst: S_ISFIFO
      Src: /src/mosquitto/src/logging.c:86,1
    - Dst: open
      Src: /src/mosquitto/src/logging.c:87,1
    - Dst: close
      Src: /src/mosquitto/src/logging.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 94
    functionName: dlt_fifo_check
    functionSourceFile: /src/mosquitto/src/logging.c
    functionUses: 0
    functionsReached:
    - close
    - open
    - stat
    - memset
    - S_ISFIFO
    linkageType: ''
    returnType: void
    signature: void dlt_fifo_check(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: localtime
      Src: /src/mosquitto/src/logging.c:104,1
    - Dst: fprintf
      Src: /src/mosquitto/src/logging.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ti
    argTypes:
    - struct tm**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 111
    functionName: get_time
    functionSourceFile: /src/mosquitto/src/logging.c
    functionUses: 0
    functionsReached:
    - fprintf
    - localtime
    linkageType: ''
    returnType: int
    signature: int get_time(struct tm **ti)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: openlog
      Src: /src/mosquitto/src/logging.c:125,1
    - Dst: OpenEventLog
      Src: /src/mosquitto/src/logging.c:127,1
    - Dst: mosquitto_fopen
      Src: /src/mosquitto/src/logging.c:132,1
    - Dst: setvbuf
      Src: /src/mosquitto/src/logging.c:134,1
    - Dst: log__printf
      Src: /src/mosquitto/src/logging.c:138,1
    - Dst: setvbuf
      Src: /src/mosquitto/src/logging.c:143,1
    - Dst: dlt_fifo_check
      Src: /src/mosquitto/src/logging.c:148,1
    - Dst: DLT_REGISTER_APP
      Src: /src/mosquitto/src/logging.c:150,1
    - Dst: dlt_register_context
      Src: /src/mosquitto/src/logging.c:151,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct mosquitto__config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 156
    functionName: log__init
    functionSourceFile: /src/mosquitto/src/logging.c
    functionUses: 2
    functionsReached:
    - dlt_register_context
    - OpenEventLog
    - dlt_fifo_check
    - mosquitto_fopen
    - setvbuf
    - openlog
    - log__printf
    - DLT_REGISTER_APP
    linkageType: ''
    returnType: int
    signature: int log__init(struct mosquitto__config *config)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: closelog
      Src: /src/mosquitto/src/logging.c:163,1
    - Dst: CloseEventLog
      Src: /src/mosquitto/src/logging.c:165,1
    - Dst: fclose
      Src: /src/mosquitto/src/logging.c:170,1
    - Dst: dlt_unregister_context
      Src: /src/mosquitto/src/logging.c:177,1
    - Dst: DLT_UNREGISTER_APP
      Src: /src/mosquitto/src/logging.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct mosquitto__config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 183
    functionName: log__close
    functionSourceFile: /src/mosquitto/src/logging.c
    functionUses: 2
    functionsReached:
    - closelog
    - CloseEventLog
    - fclose
    - DLT_UNREGISTER_APP
    - dlt_unregister_context
    linkageType: ''
    returnType: int
    signature: int log__close(struct mosquitto__config *config)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - priority
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 206
    functionName: get_dlt_level
    functionSourceFile: /src/mosquitto/src/logging.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DltLogLevelType
    signature: DltLogLevelType get_dlt_level(unsigned int priority)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - priority
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 230
    functionName: get_android_level
    functionSourceFile: /src/mosquitto/src/logging.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: android_LogPriority
    signature: android_LogPriority get_android_level(unsigned int priority)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: get_time
      Src: /src/mosquitto/src/logging.c:332,1
    - Dst: strftime
      Src: /src/mosquitto/src/logging.c:333,1
    - Dst: snprintf
      Src: /src/mosquitto/src/logging.c:335,1
    - Dst: snprintf
      Src: /src/mosquitto/src/logging.c:338,1
    - Dst: vsnprintf
      Src: /src/mosquitto/src/logging.c:349,1
    - Dst: fprintf
      Src: /src/mosquitto/src/logging.c:353,1
    - Dst: fprintf
      Src: /src/mosquitto/src/logging.c:356,1
    - Dst: fprintf
      Src: /src/mosquitto/src/logging.c:359,1
    - Dst: fflush
      Src: /src/mosquitto/src/logging.c:362,1
    - Dst: syslog
      Src: /src/mosquitto/src/logging.c:367,1
    - Dst: ReportEvent
      Src: /src/mosquitto/src/logging.c:370,1
    - Dst: db__messages_easy_queue
      Src: /src/mosquitto/src/logging.c:374,1
    - Dst: strlen
      Src: /src/mosquitto/src/logging.c:374,1
    - Dst: DLT_LOG_STRING
      Src: /src/mosquitto/src/logging.c:378,1
    - Dst: get_dlt_level
      Src: /src/mosquitto/src/logging.c:378,1
    - Dst: __android_log_write
      Src: /src/mosquitto/src/logging.c:383,1
    - Dst: get_android_level
      Src: /src/mosquitto/src/logging.c:383,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 100
    argCount: 3
    argNames:
    - priority
    - fmt
    - va
    argTypes:
    - unsigned int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 389
    functionName: log__vprintf
    functionSourceFile: /src/mosquitto/src/logging.c
    functionUses: 0
    functionsReached:
    - db__messages_easy_queue
    - ReportEvent
    - fprintf
    - get_android_level
    - snprintf
    - syslog
    - get_dlt_level
    - fflush
    - strlen
    - strftime
    - DLT_LOG_STRING
    - __android_log_write
    - get_time
    - vsnprintf
    linkageType: ''
    returnType: int
    signature: int log__vprintf(unsigned int priority, const char *fmt, va_list va)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/src/logging.c:397,1
    - Dst: va_start
      Src: /src/mosquitto/src/logging.c:399,1
    - Dst: log__vprintf
      Src: /src/mosquitto/src/logging.c:400,1
    - Dst: va_end
      Src: /src/mosquitto/src/logging.c:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - mosq
    - priority
    - fmt
    argTypes:
    - struct mosquitto*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 404
    functionName: log__printf
    functionSourceFile: /src/mosquitto/src/logging.c
    functionUses: 84
    functionsReached:
    - log__vprintf
    - UNUSED
    - va_start
    - va_end
    linkageType: ''
    returnType: int
    signature: int log__printf(struct mosquitto *mosq, unsigned int priority, const
      char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/mosquitto/src/logging.c:413,1
    - Dst: vsnprintf
      Src: /src/mosquitto/src/logging.c:414,1
    - Dst: va_end
      Src: /src/mosquitto/src/logging.c:415,1
    - Dst: log__printf
      Src: /src/mosquitto/src/logging.c:418,1
    - Dst: log__printf
      Src: /src/mosquitto/src/logging.c:423,1
    - Dst: log__printf
      Src: /src/mosquitto/src/logging.c:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 427
    functionName: log__internal
    functionSourceFile: /src/mosquitto/src/logging.c
    functionUses: 0
    functionsReached:
    - log__printf
    - va_start
    - vsnprintf
    - va_end
    linkageType: ''
    returnType: void
    signature: void log__internal(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log__vprintf
      Src: /src/mosquitto/src/logging.c:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - level
    - fmt
    - va
    argTypes:
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: mosquitto_log_vprintf
    functionSourceFile: /src/mosquitto/src/logging.c
    functionUses: 0
    functionsReached:
    - log__vprintf
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_log_vprintf(int level, const char *fmt, va_list
      va)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/mosquitto/src/logging.c:440,1
    - Dst: log__vprintf
      Src: /src/mosquitto/src/logging.c:441,1
    - Dst: va_end
      Src: /src/mosquitto/src/logging.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - level
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 443
    functionName: mosquitto_log_printf
    functionSourceFile: /src/mosquitto/src/logging.c
    functionUses: 3
    functionsReached:
    - log__vprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_log_printf(int level, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log__vprintf
      Src: /src/mosquitto/src/logging.c:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fmt
    - va
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 449
    functionName: libcommon__vprintf
    functionSourceFile: /src/mosquitto/src/logging.c
    functionUses: 0
    functionsReached:
    - log__vprintf
    linkageType: ''
    returnType: void
    signature: void libcommon__vprintf(const char *fmt, va_list va)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/mosquitto/src/watchdog.c:39,1
    - Dst: mosquitto_time
      Src: /src/mosquitto/src/watchdog.c:40,1
    - Dst: strtol
      Src: /src/mosquitto/src/watchdog.c:45,1
    - Dst: mosquitto_time
      Src: /src/mosquitto/src/watchdog.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: watchdog__init
    functionSourceFile: /src/mosquitto/src/watchdog.c
    functionUses: 0
    functionsReached:
    - mosquitto_time
    - getenv
    - strtol
    linkageType: ''
    returnType: void
    signature: void watchdog__init(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_time
      Src: /src/mosquitto/src/watchdog.c:59,1
    - Dst: sd_notify
      Src: /src/mosquitto/src/watchdog.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: watchdog__check
    functionSourceFile: /src/mosquitto/src/watchdog.c
    functionUses: 0
    functionsReached:
    - sd_notify
    - mosquitto_time
    linkageType: ''
    returnType: void
    signature: void watchdog__check(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/src/send_unsuback.c:36,1
    - Dst: mosquitto_property_get_remaining_length
      Src: /src/mosquitto/src/send_unsuback.c:40,1
    - Dst: packet__alloc
      Src: /src/mosquitto/src/send_unsuback.c:44,1
    - Dst: packet__write_uint16
      Src: /src/mosquitto/src/send_unsuback.c:49,1
    - Dst: property__write_all
      Src: /src/mosquitto/src/send_unsuback.c:52,1
    - Dst: packet__write_bytes
      Src: /src/mosquitto/src/send_unsuback.c:53,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/src/send_unsuback.c:56,1
    - Dst: packet__queue
      Src: /src/mosquitto/src/send_unsuback.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - mosq
    - mid
    - reason_code_count
    - reason_codes
    - properties
    argTypes:
    - struct mosquitto*
    - uint16_t
    - int
    - uint8_t*
    - mosquitto_property*
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/mosquitto/src/send_unsuback.c
    constantsTouched: []
    func_position:
      end: 58
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 58
    functionName: send__unsuback
    functionSourceFile: /src/mosquitto/src/send_unsuback.c
    functionUses: 1
    functionsReached:
    - packet__queue
    - mosquitto_property_get_remaining_length
    - property__write_all
    - metrics__int_inc
    - assert
    - packet__write_bytes
    - packet__alloc
    - packet__write_uint16
    linkageType: ''
    returnType: int
    signature: int send__unsuback(struct mosquitto *mosq, uint16_t mid, int reason_code_count,
      uint8_t *reason_codes, const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct lws_sorted_usec_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: lws__sul_callback
    functionSourceFile: /src/mosquitto/src/loop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lws__sul_callback(struct lws_sorted_usec_list *l)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/loop.c:74,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/loop.c:83,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/loop.c:85,1
    - Dst: memcpy
      Src: /src/mosquitto/src/loop.c:90,1
    - Dst: db__message_store
      Src: /src/mosquitto/src/loop.c:97,1
    - Dst: mosquitto__mid_generate
      Src: /src/mosquitto/src/loop.c:102,1
    - Dst: db__message_insert_outgoing
      Src: /src/mosquitto/src/loop.c:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - context
    - pub_msg
    - message_expiry
    argTypes:
    - struct mosquitto*
    - struct mosquitto__message_v5*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 107
    functionName: single_publish
    functionSourceFile: /src/mosquitto/src/loop.c
    functionUses: 0
    functionsReached:
    - mosquitto_calloc
    - mosquitto_malloc
    - mosquitto__mid_generate
    - db__msg_store_free
    - db__message_insert_outgoing
    - memcpy
    - db__message_store
    linkageType: ''
    returnType: int
    signature: int single_publish(struct mosquitto *context, struct mosquitto__message_v5
      *pub_msg, uint32_t message_expiry)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_identifier
      Src: /src/mosquitto/src/loop.c:122,1
    - Dst: mosquitto_property_int32_value
      Src: /src/mosquitto/src/loop.c:123,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/src/loop.c:125,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/src/loop.c:127,1
    - Dst: mosquitto_property_free
      Src: /src/mosquitto/src/loop.c:129,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/src/loop.c:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - proplist
    - message_expiry
    argTypes:
    - mosquitto_property**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 136
    functionName: read_message_expiry_interval
    functionSourceFile: /src/mosquitto/src/loop.c
    functionUses: 0
    functionsReached:
    - mosquitto_property_free
    - mosquitto_property_int32_value
    - mosquitto_property_next
    - mosquitto_property_identifier
    linkageType: ''
    returnType: void
    signature: void read_message_expiry_interval(mosquitto_property **proplist, uint32_t
      *message_expiry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/loop.c:145,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/src/loop.c:146,1
    - Dst: read_message_expiry_interval
      Src: /src/mosquitto/src/loop.c:148,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/loop.c:151,1
    - Dst: strlen
      Src: /src/mosquitto/src/loop.c:151,1
    - Dst: single_publish
      Src: /src/mosquitto/src/loop.c:153,1
    - Dst: db__messages_easy_queue
      Src: /src/mosquitto/src/loop.c:156,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/loop.c:158,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/loop.c:159,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/loop.c:160,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/loop.c:161,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/loop.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 164
    functionName: queue_plugin_msgs
    functionSourceFile: /src/mosquitto/src/loop.c
    functionUses: 0
    functionsReached:
    - read_message_expiry_interval
    - db__messages_easy_queue
    - mosquitto_FREE
    - single_publish
    - strlen
    - DL_DELETE
    - DL_FOREACH_SAFE
    - HASH_FIND
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void queue_plugin_msgs(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - new_ms
    argTypes:
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: loop__update_next_event
    functionSourceFile: /src/mosquitto/src/loop.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void loop__update_next_event(time_t new_ms)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_time
      Src: /src/mosquitto/src/loop.c:178,1
    - Dst: watchdog__init
      Src: /src/mosquitto/src/loop.c:183,1
    - Dst: memset
      Src: /src/mosquitto/src/loop.c:185,1
    - Dst: mosquitto_time
      Src: /src/mosquitto/src/loop.c:188,1
    - Dst: time
      Src: /src/mosquitto/src/loop.c:189,1
    - Dst: bridge__register_local_connections
      Src: /src/mosquitto/src/loop.c:192,1
    - Dst: retain__expiry_check
      Src: /src/mosquitto/src/loop.c:199,1
    - Dst: queue_plugin_msgs
      Src: /src/mosquitto/src/loop.c:200,1
    - Dst: context__free_disused
      Src: /src/mosquitto/src/loop.c:201,1
    - Dst: sys_tree__update
      Src: /src/mosquitto/src/loop.c:206,1
    - Dst: keepalive__check
      Src: /src/mosquitto/src/loop.c:210,1
    - Dst: watchdog__check
      Src: /src/mosquitto/src/loop.c:211,1
    - Dst: bridge_check
      Src: /src/mosquitto/src/loop.c:214,1
    - Dst: plugin__handle_tick
      Src: /src/mosquitto/src/loop.c:216,1
    - Dst: session_expiry__check
      Src: /src/mosquitto/src/loop.c:217,1
    - Dst: will_delay__check
      Src: /src/mosquitto/src/loop.c:218,1
    - Dst: mux__handle
      Src: /src/mosquitto/src/loop.c:220,1
    - Dst: persist__backup
      Src: /src/mosquitto/src/loop.c:229,1
    - Dst: persist__backup
      Src: /src/mosquitto/src/loop.c:234,1
    - Dst: signal__flag_check
      Src: /src/mosquitto/src/loop.c:241,1
    - Dst: lws_service
      Src: /src/mosquitto/src/loop.c:254,1
    - Dst: lws_sul_schedule
      Src: /src/mosquitto/src/loop.c:256,1
    - Dst: lws_service
      Src: /src/mosquitto/src/loop.c:257,1
    - Dst: lws_service
      Src: /src/mosquitto/src/loop.c:259,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 2
    argNames:
    - listensock
    - listensock_count
    argTypes:
    - struct mosquitto__listener_sock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 175
    functionDepth: 5
    functionLinenumber: 175
    functionLinenumberEnd: 268
    functionName: mosquitto_main_loop
    functionSourceFile: /src/mosquitto/src/loop.c
    functionUses: 1
    functionsReached:
    - sys_tree__update
    - lws_service
    - retain__expiry_check
    - context__free_disused
    - bridge__register_local_connections
    - watchdog__check
    - bridge_check
    - persist__backup
    - watchdog__init
    - queue_plugin_msgs
    - mux__handle
    - time
    - lws_sul_schedule
    - plugin__handle_tick
    - session_expiry__check
    - keepalive__check
    - signal__flag_check
    - mosquitto_time
    - will_delay__check
    - memset
    linkageType: ''
    returnType: int
    signature: int mosquitto_main_loop(struct mosquitto__listener_sock *listensock,
      int listensock_count)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/src/loop.c:288,1
    - Dst: lws_callback_on_writable
      Src: /src/mosquitto/src/loop.c:291,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/src/loop.c:294,1
    - Dst: mux__delete
      Src: /src/mosquitto/src/loop.c:295,1
    - Dst: context__remove_from_by_id
      Src: /src/mosquitto/src/loop.c:305,1
    - Dst: log__printf
      Src: /src/mosquitto/src/loop.c:321,1
    - Dst: log__printf
      Src: /src/mosquitto/src/loop.c:324,1
    - Dst: log__printf
      Src: /src/mosquitto/src/loop.c:327,1
    - Dst: log__printf
      Src: /src/mosquitto/src/loop.c:330,1
    - Dst: log__printf
      Src: /src/mosquitto/src/loop.c:333,1
    - Dst: log__printf
      Src: /src/mosquitto/src/loop.c:336,1
    - Dst: log__printf
      Src: /src/mosquitto/src/loop.c:339,1
    - Dst: log__printf
      Src: /src/mosquitto/src/loop.c:342,1
    - Dst: log__printf
      Src: /src/mosquitto/src/loop.c:345,1
    - Dst: log__printf
      Src: /src/mosquitto/src/loop.c:348,1
    - Dst: log__printf
      Src: /src/mosquitto/src/loop.c:351,1
    - Dst: strerror
      Src: /src/mosquitto/src/loop.c:351,1
    - Dst: log__printf
      Src: /src/mosquitto/src/loop.c:354,1
    - Dst: log__printf
      Src: /src/mosquitto/src/loop.c:357,1
    - Dst: log__printf
      Src: /src/mosquitto/src/loop.c:360,1
    - Dst: log__printf
      Src: /src/mosquitto/src/loop.c:363,1
    - Dst: log__printf
      Src: /src/mosquitto/src/loop.c:366,1
    - Dst: log__printf
      Src: /src/mosquitto/src/loop.c:369,1
    - Dst: log__printf
      Src: /src/mosquitto/src/loop.c:372,1
    - Dst: log__printf
      Src: /src/mosquitto/src/loop.c:375,1
    - Dst: log__printf
      Src: /src/mosquitto/src/loop.c:378,1
    - Dst: log__printf
      Src: /src/mosquitto/src/loop.c:381,1
    - Dst: log__printf
      Src: /src/mosquitto/src/loop.c:384,1
    - Dst: log__printf
      Src: /src/mosquitto/src/loop.c:387,1
    - Dst: log__printf
      Src: /src/mosquitto/src/loop.c:390,1
    - Dst: log__printf
      Src: /src/mosquitto/src/loop.c:396,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/src/loop.c:396,1
    - Dst: log__printf
      Src: /src/mosquitto/src/loop.c:401,1
    - Dst: log__printf
      Src: /src/mosquitto/src/loop.c:403,1
    - Dst: mux__delete
      Src: /src/mosquitto/src/loop.c:407,1
    - Dst: context__disconnect
      Src: /src/mosquitto/src/loop.c:408,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 122
    argCount: 2
    argNames:
    - context
    - reason
    argTypes:
    - struct mosquitto*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 410
    functionName: do_disconnect
    functionSourceFile: /src/mosquitto/src/loop.c
    functionUses: 10
    functionsReached:
    - mux__delete
    - context__disconnect
    - lws_callback_on_writable
    - mosquitto_strerror
    - mosquitto__set_state
    - strerror
    - HASH_DELETE
    - log__printf
    - context__remove_from_by_id
    linkageType: ''
    returnType: void
    signature: void do_disconnect(struct mosquitto *context, int reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: nibble_to_hex
    functionSourceFile: /src/mosquitto/src/handle_connect.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char nibble_to_hex(uint8_t value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_getrandom
      Src: /src/mosquitto/src/handle_connect.c:56,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/handle_connect.c:62,1
    - Dst: memcpy
      Src: /src/mosquitto/src/handle_connect.c:67,1
    - Dst: nibble_to_hex
      Src: /src/mosquitto/src/handle_connect.c:72,1
    - Dst: nibble_to_hex
      Src: /src/mosquitto/src/handle_connect.c:73,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - idlen
    - auto_id_prefix
    - auto_id_prefix_len
    argTypes:
    - uint16_t*
    - char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 82
    functionName: clientid_gen
    functionSourceFile: /src/mosquitto/src/handle_connect.c
    functionUses: 0
    functionsReached:
    - memcpy
    - mosquitto_getrandom
    - nibble_to_hex
    - mosquitto_calloc
    linkageType: ''
    returnType: char
    signature: char *clientid_gen(uint16_t *idlen, const char *auto_id_prefix, uint16_t
      auto_id_prefix_len)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/handle_connect.c:96,1
    - Dst: strlen
      Src: /src/mosquitto/src/handle_connect.c:96,1
    - Dst: net__is_connected
      Src: /src/mosquitto/src/handle_connect.c:99,1
    - Dst: sub__clean_session
      Src: /src/mosquitto/src/handle_connect.c:108,1
    - Dst: plugin_persist__handle_client_delete
      Src: /src/mosquitto/src/handle_connect.c:110,1
    - Dst: memcpy
      Src: /src/mosquitto/src/handle_connect.c:128,1
    - Dst: memcpy
      Src: /src/mosquitto/src/handle_connect.c:129,1
    - Dst: memset
      Src: /src/mosquitto/src/handle_connect.c:132,1
    - Dst: memset
      Src: /src/mosquitto/src/handle_connect.c:133,1
    - Dst: db__message_reconnect_reset
      Src: /src/mosquitto/src/handle_connect.c:140,1
    - Dst: context__send_will
      Src: /src/mosquitto/src/handle_connect.c:178,1
    - Dst: session_expiry__remove
      Src: /src/mosquitto/src/handle_connect.c:181,1
    - Dst: will_delay__remove
      Src: /src/mosquitto/src/handle_connect.c:182,1
    - Dst: will__clear
      Src: /src/mosquitto/src/handle_connect.c:183,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/src/handle_connect.c:187,1
    - Dst: send__disconnect
      Src: /src/mosquitto/src/handle_connect.c:189,1
    - Dst: do_disconnect
      Src: /src/mosquitto/src/handle_connect.c:191,1
    - Dst: HASH_CNT
      Src: /src/mosquitto/src/handle_connect.c:194,1
    - Dst: send__connack
      Src: /src/mosquitto/src/handle_connect.c:196,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_connect.c:205,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_connect.c:208,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_connect.c:213,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_connect.c:216,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_connect.c:222,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_connect.c:227,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_connect.c:229,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_connect.c:234,1
    - Dst: SSL_get_cipher_version
      Src: /src/mosquitto/src/handle_connect.c:236,1
    - Dst: SSL_get_cipher_name
      Src: /src/mosquitto/src/handle_connect.c:237,1
    - Dst: db__check_acl_of_all_messages
      Src: /src/mosquitto/src/handle_connect.c:246,1
    - Dst: context__add_to_by_id
      Src: /src/mosquitto/src/handle_connect.c:247,1
    - Dst: keepalive__remove
      Src: /src/mosquitto/src/handle_connect.c:259,1
    - Dst: keepalive__add
      Src: /src/mosquitto/src/handle_connect.c:261,1
    - Dst: mosquitto_property_add_int16
      Src: /src/mosquitto/src/handle_connect.c:263,1
    - Dst: send__connack
      Src: /src/mosquitto/src/handle_connect.c:268,1
    - Dst: mosquitto_property_add_int16
      Src: /src/mosquitto/src/handle_connect.c:277,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/src/handle_connect.c:283,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/src/handle_connect.c:289,1
    - Dst: mosquitto_property_add_binary
      Src: /src/mosquitto/src/handle_connect.c:295,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/src/handle_connect.c:302,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/src/handle_connect.c:304,1
    - Dst: send__connack
      Src: /src/mosquitto/src/handle_connect.c:305,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/handle_connect.c:306,1
    - Dst: db__expire_all_messages
      Src: /src/mosquitto/src/handle_connect.c:310,1
    - Dst: db__message_write_queued_out
      Src: /src/mosquitto/src/handle_connect.c:311,1
    - Dst: db__message_write_inflight_out_all
      Src: /src/mosquitto/src/handle_connect.c:315,1
    - Dst: plugin__handle_connect
      Src: /src/mosquitto/src/handle_connect.c:318,1
    - Dst: plugin_persist__handle_client_add
      Src: /src/mosquitto/src/handle_connect.c:321,1
    - Dst: plugin_persist__handle_will_add
      Src: /src/mosquitto/src/handle_connect.c:323,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/src/handle_connect.c:328,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/handle_connect.c:329,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 190
    argCount: 3
    argNames:
    - context
    - auth_data_out
    - auth_data_out_len
    argTypes:
    - struct mosquitto*
    - void*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 331
    functionName: connect__on_authorised
    functionSourceFile: /src/mosquitto/src/handle_connect.c
    functionUses: 2
    functionsReached:
    - plugin_persist__handle_client_delete
    - plugin__handle_connect
    - context__send_will
    - db__check_acl_of_all_messages
    - SSL_get_cipher_version
    - log__printf
    - will_delay__remove
    - session_expiry__remove
    - db__expire_all_messages
    - mosquitto_property_free_all
    - send__connack
    - keepalive__add
    - keepalive__remove
    - memcpy
    - will__clear
    - mosquitto_property_add_binary
    - do_disconnect
    - mosquitto_property_add_int16
    - SSL_get_cipher_name
    - strlen
    - plugin_persist__handle_will_add
    - SAFE_FREE
    - HASH_CNT
    - db__message_reconnect_reset
    - net__is_connected
    - sub__clean_session
    - db__message_write_inflight_out_all
    - context__add_to_by_id
    - mosquitto__set_state
    - db__message_write_queued_out
    - memset
    - HASH_FIND
    - send__disconnect
    - plugin_persist__handle_client_add
    - mosquitto_property_add_string
    linkageType: ''
    returnType: int
    signature: int connect__on_authorised(struct mosquitto *context, void *auth_data_out,
      uint16_t auth_data_out_len)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/handle_connect.c:344,1
    - Dst: property__read_all
      Src: /src/mosquitto/src/handle_connect.c:350,1
    - Dst: property__process_will
      Src: /src/mosquitto/src/handle_connect.c:355,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/handle_connect.c:356,1
    - Dst: packet__read_string
      Src: /src/mosquitto/src/handle_connect.c:361,1
    - Dst: strlen
      Src: /src/mosquitto/src/handle_connect.c:371,1
    - Dst: strlen
      Src: /src/mosquitto/src/handle_connect.c:371,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/handle_connect.c:372,1
    - Dst: snprintf
      Src: /src/mosquitto/src/handle_connect.c:378,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_connect.c:381,1
    - Dst: strncmp
      Src: /src/mosquitto/src/handle_connect.c:385,1
    - Dst: strlen
      Src: /src/mosquitto/src/handle_connect.c:385,1
    - Dst: mosquitto_pub_topic_check
      Src: /src/mosquitto/src/handle_connect.c:389,1
    - Dst: packet__read_uint16
      Src: /src/mosquitto/src/handle_connect.c:394,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_connect.c:402,1
    - Dst: send__connack
      Src: /src/mosquitto/src/handle_connect.c:404,1
    - Dst: send__connack
      Src: /src/mosquitto/src/handle_connect.c:406,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/handle_connect.c:411,1
    - Dst: packet__read_bytes
      Src: /src/mosquitto/src/handle_connect.c:417,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_connect.c:431,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_connect.c:432,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/handle_connect.c:433,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_connect.c:434,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 96
    argCount: 5
    argNames:
    - context
    - clientid
    - will
    - will_qos
    - will_retain
    argTypes:
    - struct mosquitto*
    - char*
    - struct mosquitto_message_all**
    - uint8_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 437
    functionName: will__read
    functionSourceFile: /src/mosquitto/src/handle_connect.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - property__process_will
    - strncmp
    - packet__read_bytes
    - packet__read_string
    - property__read_all
    - mosquitto_calloc
    - packet__read_uint16
    - send__connack
    - mosquitto_malloc
    - snprintf
    - strlen
    - log__printf
    - mosquitto_pub_topic_check
    - mosquitto_property_free_all
    linkageType: ''
    returnType: int
    signature: int will__read(struct mosquitto *context, const char *clientid, struct
      mosquitto_message_all **will, uint8_t will_qos, int will_retain)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - listener
    - protocol_version
    argTypes:
    - struct mosquitto__listener*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 454
    functionName: check_protocol_version
    functionSourceFile: /src/mosquitto/src/handle_connect.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int check_protocol_version(struct mosquitto__listener *listener, int
      protocol_version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send__connack
      Src: /src/mosquitto/src/handle_connect.c:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - err_code
    - rc
    argTypes:
    - struct mosquitto*
    - uint8_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 461
    functionName: send__connack_error_and_return
    functionSourceFile: /src/mosquitto/src/handle_connect.c
    functionUses: 0
    functionsReached:
    - send__connack
    linkageType: ''
    returnType: int
    signature: int send__connack_error_and_return(struct mosquitto *context, uint8_t
      err_code, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send__connack_error_and_return
      Src: /src/mosquitto/src/handle_connect.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - rc
    argTypes:
    - struct mosquitto*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 470
    functionName: send__connack_bad_username_or_password_error
    functionSourceFile: /src/mosquitto/src/handle_connect.c
    functionUses: 0
    functionsReached:
    - send__connack_error_and_return
    linkageType: ''
    returnType: int
    signature: int send__connack_bad_username_or_password_error(struct mosquitto *context,
      int rc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: packet__read_uint16
      Src: /src/mosquitto/src/handle_connect.c:481,1
    - Dst: packet__read_bytes
      Src: /src/mosquitto/src/handle_connect.c:487,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - context
    - protocol_name
    argTypes:
    - struct mosquitto*
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 493
    functionName: read_protocol_name
    functionSourceFile: /src/mosquitto/src/handle_connect.c
    functionUses: 0
    functionsReached:
    - packet__read_bytes
    - packet__read_uint16
    linkageType: ''
    returnType: int
    signature: int read_protocol_name(struct mosquitto *context, char protocol_name[7])
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: packet__read_byte
      Src: /src/mosquitto/src/handle_connect.c:500,1
    - Dst: check_protocol_version
      Src: /src/mosquitto/src/handle_connect.c:504,1
    - Dst: send__connack
      Src: /src/mosquitto/src/handle_connect.c:507,1
    - Dst: send__connack
      Src: /src/mosquitto/src/handle_connect.c:510,1
    - Dst: strcmp
      Src: /src/mosquitto/src/handle_connect.c:515,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_connect.c:518,1
    - Dst: send__connack
      Src: /src/mosquitto/src/handle_connect.c:521,1
    - Dst: strcmp
      Src: /src/mosquitto/src/handle_connect.c:528,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_connect.c:539,1
    - Dst: send__connack
      Src: /src/mosquitto/src/handle_connect.c:542,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_connect.c:551,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 3
    argNames:
    - context
    - protocol_name
    - protocol_version
    argTypes:
    - struct mosquitto*
    - char*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 562
    functionName: read_and_verify_protocol_version
    functionSourceFile: /src/mosquitto/src/handle_connect.c
    functionUses: 0
    functionsReached:
    - check_protocol_version
    - send__connack
    - strcmp
    - packet__read_byte
    - log__printf
    linkageType: ''
    returnType: int
    signature: "int read_and_verify_protocol_version(struct mosquitto *context, const
      char *protocol_name,\n\t\tuint8_t *protocol_version)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: packet__read_byte
      Src: /src/mosquitto/src/handle_connect.c:567,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - context
    - connect_flags
    argTypes:
    - struct mosquitto*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 577
    functionName: read_and_verify_connect_flags
    functionSourceFile: /src/mosquitto/src/handle_connect.c
    functionUses: 0
    functionsReached:
    - packet__read_byte
    linkageType: ''
    returnType: int
    signature: int read_and_verify_connect_flags(struct mosquitto *context, uint8_t
      *connect_flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - context
    - clean_start
    - protocol_version
    argTypes:
    - struct mosquitto*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 589
    functionName: set_session_expiry_interval
    functionSourceFile: /src/mosquitto/src/handle_connect.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_session_expiry_interval(struct mosquitto *context, uint8_t
      clean_start, uint8_t protocol_version)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: keepalive__remove
      Src: /src/mosquitto/src/handle_connect.c:596,1
    - Dst: packet__read_uint16
      Src: /src/mosquitto/src/handle_connect.c:598,1
    - Dst: keepalive__add
      Src: /src/mosquitto/src/handle_connect.c:601,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 604
    functionName: read_and_reset_keepalive
    functionSourceFile: /src/mosquitto/src/handle_connect.c
    functionUses: 0
    functionsReached:
    - packet__read_uint16
    - keepalive__remove
    - keepalive__add
    linkageType: ''
    returnType: int
    signature: int read_and_reset_keepalive(struct mosquitto *context)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: property__read_all
      Src: /src/mosquitto/src/handle_connect.c:612,1
    - Dst: send__connack
      Src: /src/mosquitto/src/handle_connect.c:614,1
    - Dst: send__connack
      Src: /src/mosquitto/src/handle_connect.c:616,1
    - Dst: property__process_connect
      Src: /src/mosquitto/src/handle_connect.c:622,1
    - Dst: send__connack_error_and_return
      Src: /src/mosquitto/src/handle_connect.c:624,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - context
    - properties
    - protocol_version
    argTypes:
    - struct mosquitto*
    - mosquitto_property**
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 628
    functionName: read_and_verify_v5_connect_properties
    functionSourceFile: /src/mosquitto/src/handle_connect.c
    functionUses: 0
    functionsReached:
    - property__process_connect
    - send__connack
    - send__connack_error_and_return
    - property__read_all
    linkageType: ''
    returnType: int
    signature: int read_and_verify_v5_connect_properties(struct mosquitto *context,
      mosquitto_property **properties, uint8_t protocol_version)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_connect.c:634,1
    - Dst: send__connack
      Src: /src/mosquitto/src/handle_connect.c:641,1
    - Dst: send__connack
      Src: /src/mosquitto/src/handle_connect.c:648,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 5
    argNames:
    - context
    - will
    - will_qos
    - will_retain
    - protocol_version
    argTypes:
    - struct mosquitto*
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 654
    functionName: verify_will_options
    functionSourceFile: /src/mosquitto/src/handle_connect.c
    functionUses: 0
    functionsReached:
    - log__printf
    - send__connack
    linkageType: ''
    returnType: int
    signature: int verify_will_options(struct mosquitto *context, uint8_t will, uint8_t
      will_qos, uint8_t will_retain, uint8_t protocol_version)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: send__connack
      Src: /src/mosquitto/src/handle_connect.c:661,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_connect.c:666,1
    - Dst: send__connack_error_and_return
      Src: /src/mosquitto/src/handle_connect.c:676,1
    - Dst: clientid_gen
      Src: /src/mosquitto/src/handle_connect.c:679,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - context
    - clientid
    - allow_zero_length_clientid
    - clean_start
    argTypes:
    - struct mosquitto*
    - char**
    - bool*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 657
    functionDepth: 2
    functionLinenumber: 657
    functionLinenumberEnd: 687
    functionName: handle_zero_length_clientid
    functionSourceFile: /src/mosquitto/src/handle_connect.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - clientid_gen
    - send__connack
    - send__connack_error_and_return
    linkageType: ''
    returnType: int
    signature: "int handle_zero_length_clientid(struct mosquitto *context, char **clientid,
      bool *allow_zero_length_clientid,\n\t\tuint8_t clean_start)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/mosquitto/src/handle_connect.c:693,1
    - Dst: strlen
      Src: /src/mosquitto/src/handle_connect.c:693,1
    - Dst: send__connack_error_and_return
      Src: /src/mosquitto/src/handle_connect.c:695,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - context
    - clientid
    argTypes:
    - struct mosquitto*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 690
    functionDepth: 2
    functionLinenumber: 690
    functionLinenumberEnd: 699
    functionName: check_clientid_prefixes
    functionSourceFile: /src/mosquitto/src/handle_connect.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strlen
    - send__connack_error_and_return
    linkageType: ''
    returnType: int
    signature: int check_clientid_prefixes(struct mosquitto *context, const char *clientid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: packet__read_string
      Src: /src/mosquitto/src/handle_connect.c:708,1
    - Dst: send__connack
      Src: /src/mosquitto/src/handle_connect.c:711,1
    - Dst: handle_zero_length_clientid
      Src: /src/mosquitto/src/handle_connect.c:719,1
    - Dst: check_clientid_prefixes
      Src: /src/mosquitto/src/handle_connect.c:725,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - context
    - clientid
    - allow_zero_length_clientid
    - clean_start
    argTypes:
    - struct mosquitto*
    - char**
    - bool*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 731
    functionName: read_and_verify_clientid_from_packet
    functionSourceFile: /src/mosquitto/src/handle_connect.c
    functionUses: 0
    functionsReached:
    - check_clientid_prefixes
    - handle_zero_length_clientid
    - send__connack
    - packet__read_string
    linkageType: ''
    returnType: int
    signature: "int read_and_verify_clientid_from_packet(struct mosquitto *context,
      char **clientid,\n\t\tbool *allow_zero_length_clientid, uint8_t clean_start)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: packet__read_string
      Src: /src/mosquitto/src/handle_connect.c:738,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - context
    - username
    argTypes:
    - struct mosquitto*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 752
    functionName: set_username_from_packet
    functionSourceFile: /src/mosquitto/src/handle_connect.c
    functionUses: 0
    functionsReached:
    - packet__read_string
    linkageType: ''
    returnType: int
    signature: int set_username_from_packet(struct mosquitto *context, char **username)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: packet__read_binary
      Src: /src/mosquitto/src/handle_connect.c:759,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - context
    - password
    argTypes:
    - struct mosquitto*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 773
    functionName: set_password_from_packet
    functionSourceFile: /src/mosquitto/src/handle_connect.c
    functionUses: 0
    functionsReached:
    - packet__read_binary
    linkageType: ''
    returnType: int
    signature: int set_password_from_packet(struct mosquitto *context, char **password)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: set_username_from_packet
      Src: /src/mosquitto/src/handle_connect.c:784,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_connect.c:792,1
    - Dst: set_password_from_packet
      Src: /src/mosquitto/src/handle_connect.c:798,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 6
    argNames:
    - context
    - username
    - username_flag
    - password
    - password_flag
    - clientid
    argTypes:
    - struct mosquitto*
    - char**
    - uint8_t
    - char**
    - uint8_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 776
    functionDepth: 2
    functionLinenumber: 776
    functionLinenumberEnd: 805
    functionName: read_and_verify_client_credentials_from_packet
    functionSourceFile: /src/mosquitto/src/handle_connect.c
    functionUses: 0
    functionsReached:
    - set_username_from_packet
    - set_password_from_packet
    - log__printf
    linkageType: ''
    returnType: int
    signature: "int read_and_verify_client_credentials_from_packet(struct mosquitto
      *context,\n\t\tchar **username, uint8_t username_flag,\n\t\tchar **password,
      uint8_t password_flag,\n\t\tconst char *clientid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: send__connack
      Src: /src/mosquitto/src/handle_connect.c:813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - context
    - protocol_version
    argTypes:
    - struct mosquitto*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 819
    functionName: check_additional_trailing_data
    functionSourceFile: /src/mosquitto/src/handle_connect.c
    functionUses: 0
    functionsReached:
    - send__connack
    linkageType: ''
    returnType: int
    signature: int check_additional_trailing_data(struct mosquitto *context, uint8_t
      protocol_version)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_peer_certificate
      Src: /src/mosquitto/src/handle_connect.c:826,1
    - Dst: send__connack_bad_username_or_password_error
      Src: /src/mosquitto/src/handle_connect.c:828,1
    - Dst: X509_get_subject_name
      Src: /src/mosquitto/src/handle_connect.c:831,1
    - Dst: X509_free
      Src: /src/mosquitto/src/handle_connect.c:833,1
    - Dst: send__connack_bad_username_or_password_error
      Src: /src/mosquitto/src/handle_connect.c:834,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - context
    - client_cert
    - name
    argTypes:
    - struct mosquitto*
    - X509**
    - X509_NAME**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 824
    functionDepth: 3
    functionLinenumber: 824
    functionLinenumberEnd: 838
    functionName: get_client_cert_and_subject_name
    functionSourceFile: /src/mosquitto/src/handle_connect.c
    functionUses: 0
    functionsReached:
    - X509_free
    - send__connack_bad_username_or_password_error
    - X509_get_subject_name
    - SSL_get_peer_certificate
    linkageType: ''
    returnType: int
    signature: int get_client_cert_and_subject_name(struct mosquitto *context, X509
      **client_cert, X509_NAME **name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/mosquitto/src/handle_connect.c:843,1
    - Dst: send__connack_bad_username_or_password_error
      Src: /src/mosquitto/src/handle_connect.c:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - context
    - client_cert
    - rc
    argTypes:
    - struct mosquitto*
    - X509*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 841
    functionDepth: 3
    functionLinenumber: 841
    functionLinenumberEnd: 845
    functionName: free_x509_and_send_connack_error
    functionSourceFile: /src/mosquitto/src/handle_connect.c
    functionUses: 0
    functionsReached:
    - X509_free
    - send__connack_bad_username_or_password_error
    linkageType: ''
    returnType: int
    signature: int free_x509_and_send_connack_error(struct mosquitto *context, X509
      *client_cert, int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free
      Src: /src/mosquitto/src/handle_connect.c:851,1
    - Dst: free_x509_and_send_connack_error
      Src: /src/mosquitto/src/handle_connect.c:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - context
    - client_cert
    - subject_name
    - rc
    argTypes:
    - struct mosquitto*
    - X509*
    - BIO*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 848
    functionDepth: 4
    functionLinenumber: 848
    functionLinenumberEnd: 853
    functionName: free_x509_and_BIO_and_send_connack_error
    functionSourceFile: /src/mosquitto/src/handle_connect.c
    functionUses: 0
    functionsReached:
    - free_x509_and_send_connack_error
    - BIO_free
    linkageType: ''
    returnType: int
    signature: "int free_x509_and_BIO_and_send_connack_error(struct mosquitto *context,
      X509 *client_cert,\n\t\tBIO *subject_name, int rc)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_client_cert_and_subject_name
      Src: /src/mosquitto/src/handle_connect.c:861,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/mosquitto/src/handle_connect.c:868,1
    - Dst: free_x509_and_send_connack_error
      Src: /src/mosquitto/src/handle_connect.c:870,1
    - Dst: X509_NAME_get_entry
      Src: /src/mosquitto/src/handle_connect.c:872,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/mosquitto/src/handle_connect.c:878,1
    - Dst: free_x509_and_send_connack_error
      Src: /src/mosquitto/src/handle_connect.c:880,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/mosquitto/src/handle_connect.c:882,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/src/handle_connect.c:883,1
    - Dst: strlen
      Src: /src/mosquitto/src/handle_connect.c:883,1
    - Dst: free_x509_and_send_connack_error
      Src: /src/mosquitto/src/handle_connect.c:884,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/src/handle_connect.c:886,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/handle_connect.c:887,1
    - Dst: free_x509_and_send_connack_error
      Src: /src/mosquitto/src/handle_connect.c:889,1
    - Dst: ASN1_STRING_length
      Src: /src/mosquitto/src/handle_connect.c:892,1
    - Dst: strlen
      Src: /src/mosquitto/src/handle_connect.c:892,1
    - Dst: free_x509_and_send_connack_error
      Src: /src/mosquitto/src/handle_connect.c:893,1
    - Dst: X509_free
      Src: /src/mosquitto/src/handle_connect.c:897,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 856
    functionDepth: 4
    functionLinenumber: 856
    functionLinenumberEnd: 900
    functionName: set_username_from_cert_identity
    functionSourceFile: /src/mosquitto/src/handle_connect.c
    functionUses: 0
    functionsReached:
    - X509_NAME_get_index_by_NID
    - mosquitto_strdup
    - get_client_cert_and_subject_name
    - X509_NAME_get_entry
    - ASN1_STRING_length
    - strlen
    - mosquitto_free
    - free_x509_and_send_connack_error
    - mosquitto_validate_utf8
    - X509_NAME_ENTRY_get_data
    - X509_free
    - ASN1_STRING_get0_data
    linkageType: ''
    returnType: int
    signature: int set_username_from_cert_identity(struct mosquitto *context)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_client_cert_and_subject_name
      Src: /src/mosquitto/src/handle_connect.c:908,1
    - Dst: BIO_new
      Src: /src/mosquitto/src/handle_connect.c:917,1
    - Dst: BIO_s_mem
      Src: /src/mosquitto/src/handle_connect.c:917,1
    - Dst: X509_NAME_print_ex
      Src: /src/mosquitto/src/handle_connect.c:918,1
    - Dst: X509_get_subject_name
      Src: /src/mosquitto/src/handle_connect.c:918,1
    - Dst: BIO_get_mem_data
      Src: /src/mosquitto/src/handle_connect.c:920,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/handle_connect.c:921,1
    - Dst: free_x509_and_BIO_and_send_connack_error
      Src: /src/mosquitto/src/handle_connect.c:923,1
    - Dst: memcpy
      Src: /src/mosquitto/src/handle_connect.c:925,1
    - Dst: BIO_free
      Src: /src/mosquitto/src/handle_connect.c:927,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/src/handle_connect.c:929,1
    - Dst: strlen
      Src: /src/mosquitto/src/handle_connect.c:929,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/src/handle_connect.c:930,1
    - Dst: free_x509_and_send_connack_error
      Src: /src/mosquitto/src/handle_connect.c:931,1
    - Dst: X509_free
      Src: /src/mosquitto/src/handle_connect.c:935,1
    - Dst: X509_free
      Src: /src/mosquitto/src/handle_connect.c:939,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 903
    functionDepth: 5
    functionLinenumber: 903
    functionLinenumberEnd: 942
    functionName: set_username_from_cert_subject_name
    functionSourceFile: /src/mosquitto/src/handle_connect.c
    functionUses: 0
    functionsReached:
    - get_client_cert_and_subject_name
    - BIO_free
    - BIO_get_mem_data
    - BIO_s_mem
    - mosquitto_malloc
    - strlen
    - mosquitto_free
    - free_x509_and_send_connack_error
    - X509_free
    - mosquitto_validate_utf8
    - memcpy
    - X509_NAME_print_ex
    - BIO_new
    - X509_get_subject_name
    - free_x509_and_BIO_and_send_connack_error
    linkageType: ''
    returnType: int
    signature: int set_username_from_cert_subject_name(struct mosquitto *context)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_connect.c:953,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_connect.c:954,1
    - Dst: send__connack_bad_username_or_password_error
      Src: /src/mosquitto/src/handle_connect.c:957,1
    - Dst: send__connack_bad_username_or_password_error
      Src: /src/mosquitto/src/handle_connect.c:963,1
    - Dst: set_username_from_cert_identity
      Src: /src/mosquitto/src/handle_connect.c:969,1
    - Dst: set_username_from_cert_subject_name
      Src: /src/mosquitto/src/handle_connect.c:971,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_connect.c:981,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_connect.c:982,1
    - Dst: send__connack_bad_username_or_password_error
      Src: /src/mosquitto/src/handle_connect.c:985,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 3
    argNames:
    - context
    - username
    - password
    argTypes:
    - struct mosquitto*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 946
    functionDepth: 6
    functionLinenumber: 946
    functionLinenumberEnd: 998
    functionName: handle_username_from_cert_options
    functionSourceFile: /src/mosquitto/src/handle_connect.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - set_username_from_cert_subject_name
    - send__connack_bad_username_or_password_error
    - set_username_from_cert_identity
    linkageType: ''
    returnType: int
    signature: int handle_username_from_cert_options(struct mosquitto *context, char
      **username, char **password)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_connect.c:1004,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/handle_connect.c:1005,1
    - Dst: send__connack_error_and_return
      Src: /src/mosquitto/src/handle_connect.c:1013,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1001
    functionDepth: 2
    functionLinenumber: 1001
    functionLinenumberEnd: 1017
    functionName: handle_username_as_clientid_option
    functionSourceFile: /src/mosquitto/src/handle_connect.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - send__connack_error_and_return
    - mosquitto_strdup
    linkageType: ''
    returnType: int
    signature: int handle_username_as_clientid_option(struct mosquitto *context)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_connect.c:1045,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_connect.c:1051,1
    - Dst: read_protocol_name
      Src: /src/mosquitto/src/handle_connect.c:1057,1
    - Dst: read_and_verify_protocol_version
      Src: /src/mosquitto/src/handle_connect.c:1062,1
    - Dst: read_and_verify_connect_flags
      Src: /src/mosquitto/src/handle_connect.c:1070,1
    - Dst: set_session_expiry_interval
      Src: /src/mosquitto/src/handle_connect.c:1076,1
    - Dst: read_and_reset_keepalive
      Src: /src/mosquitto/src/handle_connect.c:1078,1
    - Dst: read_and_verify_v5_connect_properties
      Src: /src/mosquitto/src/handle_connect.c:1083,1
    - Dst: verify_will_options
      Src: /src/mosquitto/src/handle_connect.c:1091,1
    - Dst: mosquitto_property_read_string
      Src: /src/mosquitto/src/handle_connect.c:1096,1
    - Dst: mosquitto_property_read_binary
      Src: /src/mosquitto/src/handle_connect.c:1097,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/handle_connect.c:1098,1
    - Dst: send__connack
      Src: /src/mosquitto/src/handle_connect.c:1101,1
    - Dst: read_and_verify_clientid_from_packet
      Src: /src/mosquitto/src/handle_connect.c:1106,1
    - Dst: will__read
      Src: /src/mosquitto/src/handle_connect.c:1112,1
    - Dst: send__connack
      Src: /src/mosquitto/src/handle_connect.c:1116,1
    - Dst: send__connack
      Src: /src/mosquitto/src/handle_connect.c:1118,1
    - Dst: read_and_verify_client_credentials_from_packet
      Src: /src/mosquitto/src/handle_connect.c:1135,1
    - Dst: check_additional_trailing_data
      Src: /src/mosquitto/src/handle_connect.c:1140,1
    - Dst: handle_username_from_cert_options
      Src: /src/mosquitto/src/handle_connect.c:1152,1
    - Dst: handle_username_as_clientid_option
      Src: /src/mosquitto/src/handle_connect.c:1159,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/handle_connect.c:1166,1
    - Dst: strlen
      Src: /src/mosquitto/src/handle_connect.c:1166,1
    - Dst: mosquitto_security_auth_start
      Src: /src/mosquitto/src/handle_connect.c:1177,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_connect.c:1178,1
    - Dst: connect__on_authorised
      Src: /src/mosquitto/src/handle_connect.c:1180,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/src/handle_connect.c:1182,1
    - Dst: send__auth
      Src: /src/mosquitto/src/handle_connect.c:1183,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/src/handle_connect.c:1184,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/src/handle_connect.c:1187,1
    - Dst: will__clear
      Src: /src/mosquitto/src/handle_connect.c:1188,1
    - Dst: send__connack
      Src: /src/mosquitto/src/handle_connect.c:1190,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_connect.c:1191,1
    - Dst: send__connack
      Src: /src/mosquitto/src/handle_connect.c:1195,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_connect.c:1196,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_connect.c:1199,1
    - Dst: mosquitto_basic_auth
      Src: /src/mosquitto/src/handle_connect.c:1210,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/src/handle_connect.c:1215,1
    - Dst: HASH_ADD_KEYPTR
      Src: /src/mosquitto/src/handle_connect.c:1216,1
    - Dst: strlen
      Src: /src/mosquitto/src/handle_connect.c:1216,1
    - Dst: send__connack
      Src: /src/mosquitto/src/handle_connect.c:1221,1
    - Dst: send__connack
      Src: /src/mosquitto/src/handle_connect.c:1223,1
    - Dst: send__connack
      Src: /src/mosquitto/src/handle_connect.c:1237,1
    - Dst: send__connack
      Src: /src/mosquitto/src/handle_connect.c:1239,1
    - Dst: connect__on_authorised
      Src: /src/mosquitto/src/handle_connect.c:1249,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/handle_connect.c:1254,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_connect.c:1255,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_connect.c:1256,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_connect.c:1257,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_connect.c:1258,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/handle_connect.c:1260,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_connect.c:1261,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_connect.c:1262,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_connect.c:1263,1
    - Dst: will__clear
      Src: /src/mosquitto/src/handle_connect.c:1265,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 222
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1020
    functionDepth: 7
    functionLinenumber: 1020
    functionLinenumberEnd: 1271
    functionName: handle__connect
    functionSourceFile: /src/mosquitto/src/handle_connect.c
    functionUses: 1
    functionsReached:
    - read_and_reset_keepalive
    - mosquitto_FREE
    - mosquitto_property_read_binary
    - read_and_verify_clientid_from_packet
    - mosquitto_security_auth_start
    - log__printf
    - mosquitto_basic_auth
    - mosquitto_property_free_all
    - mosquitto_property_read_string
    - handle_username_from_cert_options
    - send__connack
    - set_session_expiry_interval
    - will__read
    - will__clear
    - check_additional_trailing_data
    - read_and_verify_v5_connect_properties
    - strlen
    - verify_will_options
    - connect__on_authorised
    - SAFE_FREE
    - read_protocol_name
    - read_and_verify_connect_flags
    - handle_username_as_clientid_option
    - read_and_verify_client_credentials_from_packet
    - mosquitto__set_state
    - send__auth
    - read_and_verify_protocol_version
    - HASH_ADD_KEYPTR
    - HASH_FIND
    linkageType: ''
    returnType: int
    signature: int handle__connect(struct mosquitto *context)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: acl_file__parse
      Src: /src/mosquitto/src/acl_file.c:40,1
    - Dst: log__printf
      Src: /src/mosquitto/src/acl_file.c:42,1
    - Dst: config__plugin_add_secopt
      Src: /src/mosquitto/src/acl_file.c:46,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/src/acl_file.c:49,1
    - Dst: acl_file__parse
      Src: /src/mosquitto/src/acl_file.c:55,1
    - Dst: log__printf
      Src: /src/mosquitto/src/acl_file.c:57,1
    - Dst: config__plugin_add_secopt
      Src: /src/mosquitto/src/acl_file.c:61,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/src/acl_file.c:64,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 70
    functionName: broker_acl_file__init
    functionSourceFile: /src/mosquitto/src/acl_file.c
    functionUses: 0
    functionsReached:
    - log__printf
    - acl_file__parse
    - mosquitto_callback_register
    - config__plugin_add_secopt
    linkageType: ''
    returnType: int
    signature: int broker_acl_file__init(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/src/acl_file.c:78,1
    - Dst: acl_file__cleanup
      Src: /src/mosquitto/src/acl_file.c:81,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/src/acl_file.c:86,1
    - Dst: acl_file__cleanup
      Src: /src/mosquitto/src/acl_file.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 92
    functionName: broker_acl_file__cleanup
    functionSourceFile: /src/mosquitto/src/acl_file.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_unregister
    - acl_file__cleanup
    linkageType: ''
    returnType: void
    signature: void broker_acl_file__cleanup(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/src/bridge_topic.c:32,1
    - Dst: strlen
      Src: /src/mosquitto/src/bridge_topic.c:32,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/bridge_topic.c:33,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge_topic.c:35,1
    - Dst: snprintf
      Src: /src/mosquitto/src/bridge_topic.c:38,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/bridge_topic.c:41,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge_topic.c:43,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/bridge_topic.c:48,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge_topic.c:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - prefix
    - topic
    - remap_topic
    argTypes:
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 55
    functionName: bridge__create_remap_topic
    functionSourceFile: /src/mosquitto/src/bridge_topic.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - snprintf
    - mosquitto_malloc
    - strlen
    - log__printf
    linkageType: ''
    returnType: int
    signature: int bridge__create_remap_topic(const char *prefix, const char *topic,
      char **remap_topic)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/src/bridge_topic.c:62,1
    - Dst: mosquitto_pub_topic_check
      Src: /src/mosquitto/src/bridge_topic.c:63,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge_topic.c:64,1
    - Dst: strlen
      Src: /src/mosquitto/src/bridge_topic.c:70,1
    - Dst: strlen
      Src: /src/mosquitto/src/bridge_topic.c:70,1
    - Dst: strlen
      Src: /src/mosquitto/src/bridge_topic.c:72,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/bridge_topic.c:74,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge_topic.c:76,1
    - Dst: snprintf
      Src: /src/mosquitto/src/bridge_topic.c:82,1
    - Dst: snprintf
      Src: /src/mosquitto/src/bridge_topic.c:84,1
    - Dst: mosquitto_sub_topic_check
      Src: /src/mosquitto/src/bridge_topic.c:87,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge_topic.c:88,1
    - Dst: snprintf
      Src: /src/mosquitto/src/bridge_topic.c:96,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - full_prefix
    - topic
    - prefix
    - direction
    argTypes:
    - char**
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 99
    functionName: bridge__create_prefix
    functionSourceFile: /src/mosquitto/src/bridge_topic.c
    functionUses: 0
    functionsReached:
    - snprintf
    - mosquitto_malloc
    - strlen
    - mosquitto_sub_topic_check
    - log__printf
    - mosquitto_pub_topic_check
    linkageType: ''
    returnType: int
    signature: int bridge__create_prefix(char **full_prefix, const char *topic, const
      char *prefix, const char *direction)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: LL_FOREACH
      Src: /src/mosquitto/src/bridge_topic.c:107,1
    - Dst: strcmp
      Src: /src/mosquitto/src/bridge_topic.c:115,1
    - Dst: strcmp
      Src: /src/mosquitto/src/bridge_topic.c:120,1
    - Dst: strcmp
      Src: /src/mosquitto/src/bridge_topic.c:125,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 30
    argCount: 6
    argNames:
    - bridge
    - topic
    - direction
    - qos
    - local_prefix
    - remote_prefix
    argTypes:
    - struct mosquitto__bridge*
    - char*
    - enum mosquitto__bridge_direction
    - uint8_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 137
    functionName: bridge__find_topic
    functionSourceFile: /src/mosquitto/src/bridge_topic.c
    functionUses: 0
    functionsReached:
    - LL_FOREACH
    - strcmp
    linkageType: ''
    returnType: struct mosquitto__bridge_topic
    signature: struct mosquitto__bridge_topic *bridge__find_topic(struct mosquitto__bridge
      *bridge, const char *topic, enum mosquitto__bridge_direction direction, uint8_t
      qos, const char *local_prefix, const char *remote_prefix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LL_FOREACH_SAFE
      Src: /src/mosquitto/src/bridge_topic.c:148,1
    - Dst: LL_DELETE
      Src: /src/mosquitto/src/bridge_topic.c:149,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/src/bridge_topic.c:150,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/src/bridge_topic.c:151,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/src/bridge_topic.c:152,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/src/bridge_topic.c:153,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/src/bridge_topic.c:154,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/src/bridge_topic.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - bridge
    argTypes:
    - struct mosquitto__bridge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 157
    functionName: bridge__cleanup_topics
    functionSourceFile: /src/mosquitto/src/bridge_topic.c
    functionUses: 2
    functionsReached:
    - mosquitto_free
    - LL_FOREACH_SAFE
    - LL_DELETE
    linkageType: ''
    returnType: void
    signature: void bridge__cleanup_topics(struct mosquitto__bridge *bridge)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_pub_topic_check
      Src: /src/mosquitto/src/bridge_topic.c:174,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge_topic.c:175,1
    - Dst: mosquitto_pub_topic_check
      Src: /src/mosquitto/src/bridge_topic.c:178,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge_topic.c:179,1
    - Dst: strcmp
      Src: /src/mosquitto/src/bridge_topic.c:182,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge_topic.c:185,1
    - Dst: bridge__find_topic
      Src: /src/mosquitto/src/bridge_topic.c:189,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge_topic.c:190,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/bridge_topic.c:195,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge_topic.c:197,1
    - Dst: strcmp
      Src: /src/mosquitto/src/bridge_topic.c:207,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/bridge_topic.c:210,1
    - Dst: bridge__create_prefix
      Src: /src/mosquitto/src/bridge_topic.c:219,1
    - Dst: bridge__create_prefix
      Src: /src/mosquitto/src/bridge_topic.c:224,1
    - Dst: bridge__create_remap_topic
      Src: /src/mosquitto/src/bridge_topic.c:230,1
    - Dst: bridge__create_remap_topic
      Src: /src/mosquitto/src/bridge_topic.c:236,1
    - Dst: LL_APPEND
      Src: /src/mosquitto/src/bridge_topic.c:242,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge_topic.c:247,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge_topic.c:248,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge_topic.c:249,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge_topic.c:250,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge_topic.c:251,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge_topic.c:252,1
    - Dst: log__printf
      Src: /src/mosquitto/src/bridge_topic.c:253,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 81
    argCount: 6
    argNames:
    - bridge
    - topic
    - direction
    - qos
    - local_prefix
    - remote_prefix
    argTypes:
    - struct mosquitto__bridge*
    - char*
    - enum mosquitto__bridge_direction
    - uint8_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 255
    functionName: bridge__add_topic
    functionSourceFile: /src/mosquitto/src/bridge_topic.c
    functionUses: 2
    functionsReached:
    - mosquitto_strdup
    - mosquitto_FREE
    - bridge__create_remap_topic
    - bridge__find_topic
    - mosquitto_calloc
    - LL_APPEND
    - bridge__create_prefix
    - strcmp
    - log__printf
    - mosquitto_pub_topic_check
    linkageType: ''
    returnType: int
    signature: int bridge__add_topic(struct mosquitto__bridge *bridge, const char
      *topic, enum mosquitto__bridge_direction direction, uint8_t qos, const char
      *local_prefix, const char *remote_prefix)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: LL_FOREACH
      Src: /src/mosquitto/src/bridge_topic.c:264,1
    - Dst: mosquitto_topic_matches_sub
      Src: /src/mosquitto/src/bridge_topic.c:270,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge_topic.c:272,1
    - Dst: strncmp
      Src: /src/mosquitto/src/bridge_topic.c:280,1
    - Dst: strlen
      Src: /src/mosquitto/src/bridge_topic.c:280,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/bridge_topic.c:281,1
    - Dst: strlen
      Src: /src/mosquitto/src/bridge_topic.c:281,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge_topic.c:283,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge_topic.c:286,1
    - Dst: strlen
      Src: /src/mosquitto/src/bridge_topic.c:293,1
    - Dst: strlen
      Src: /src/mosquitto/src/bridge_topic.c:293,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/bridge_topic.c:294,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge_topic.c:296,1
    - Dst: snprintf
      Src: /src/mosquitto/src/bridge_topic.c:299,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/bridge_topic.c:302,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 2
    argNames:
    - context
    - topic
    argTypes:
    - struct mosquitto*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 312
    functionName: bridge__remap_topic_in
    functionSourceFile: /src/mosquitto/src/bridge_topic.c
    functionUses: 2
    functionsReached:
    - mosquitto_FREE
    - strncmp
    - mosquitto_strdup
    - LL_FOREACH
    - mosquitto_malloc
    - snprintf
    - strlen
    - mosquitto_topic_matches_sub
    linkageType: ''
    returnType: int
    signature: int bridge__remap_topic_in(struct mosquitto *context, char **topic)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - context
    - dir
    - qos
    argTypes:
    - struct mosquitto*
    - enum mosquitto_msg_direction
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 88
    functionName: db__ready_for_flight
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool db__ready_for_flight(struct mosquitto *context, enum mosquitto_msg_direction
      dir, int qos)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: net__is_connected
      Src: /src/mosquitto/src/database.c:121,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - context
    - qos
    - msg_data
    argTypes:
    - struct mosquitto*
    - int
    - struct mosquitto_msg_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 137
    functionName: db__ready_for_queue
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 0
    functionsReached:
    - net__is_connected
    linkageType: ''
    returnType: bool
    signature: bool db__ready_for_queue(struct mosquitto *context, int qos, struct
      mosquitto_msg_data *msg_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - msg_data
    - client_msg
    argTypes:
    - struct mosquitto_msg_data*
    - struct mosquitto__client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: db__msg_add_to_inflight_stats
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void db__msg_add_to_inflight_stats(struct mosquitto_msg_data *msg_data,
      struct mosquitto__client_msg *client_msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - msg_data
    - client_msg
    argTypes:
    - struct mosquitto_msg_data*
    - struct mosquitto__client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: db__msg_remove_from_inflight_stats
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void db__msg_remove_from_inflight_stats(struct mosquitto_msg_data *msg_data,
      struct mosquitto__client_msg *client_msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - msg_data
    - client_msg
    argTypes:
    - struct mosquitto_msg_data*
    - struct mosquitto__client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: db__msg_add_to_queued_stats
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void db__msg_add_to_queued_stats(struct mosquitto_msg_data *msg_data,
      struct mosquitto__client_msg *client_msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - msg_data
    - client_msg
    argTypes:
    - struct mosquitto_msg_data*
    - struct mosquitto__client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 181
    functionName: db__msg_remove_from_queued_stats
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void db__msg_remove_from_queued_stats(struct mosquitto_msg_data *msg_data,
      struct mosquitto__client_msg *client_msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sub__init
      Src: /src/mosquitto/src/database.c:204,1
    - Dst: retain__init
      Src: /src/mosquitto/src/database.c:205,1
    - Dst: persist__restore
      Src: /src/mosquitto/src/database.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct mosquitto__config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 216
    functionName: db__open
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 4
    functionsReached:
    - persist__restore
    - retain__init
    - sub__init
    linkageType: ''
    returnType: int
    signature: int db__open(struct mosquitto__config *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/database.c:224,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/database.c:228,1
    - Dst: subhier_clean
      Src: /src/mosquitto/src/database.c:231,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/src/database.c:233,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/database.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - subhier
    argTypes:
    - struct mosquitto__subhier**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 236
    functionName: subhier_clean
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - subhier_clean
    - HASH_DELETE
    - HASH_ITER
    linkageType: ''
    returnType: void
    signature: void subhier_clean(struct mosquitto__subhier **subhier)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: subhier_clean
      Src: /src/mosquitto/src/database.c:241,1
    - Dst: subhier_clean
      Src: /src/mosquitto/src/database.c:242,1
    - Dst: retain__clean
      Src: /src/mosquitto/src/database.c:243,1
    - Dst: db__msg_store_clean
      Src: /src/mosquitto/src/database.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 247
    functionName: db__close
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 4
    functionsReached:
    - retain__clean
    - db__msg_store_clean
    - subhier_clean
    linkageType: ''
    returnType: int
    signature: int db__close(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_VALUE
      Src: /src/mosquitto/src/database.c:255,1
    - Dst: HASH_FIND_BYHASHVALUE
      Src: /src/mosquitto/src/database.c:256,1
    - Dst: HASH_ADD_KEYPTR_BYHASHVALUE
      Src: /src/mosquitto/src/database.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - base_msg
    argTypes:
    - struct mosquitto__base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 263
    functionName: db__msg_store_add
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 0
    functionsReached:
    - HASH_FIND_BYHASHVALUE
    - HASH_ADD_KEYPTR_BYHASHVALUE
    - HASH_VALUE
    linkageType: ''
    returnType: int
    signature: int db__msg_store_add(struct mosquitto__base_msg *base_msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/database.c:268,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/database.c:269,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/database.c:272,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/database.c:274,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/database.c:276,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/database.c:277,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/database.c:278,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/database.c:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - base_msg
    argTypes:
    - struct mosquitto__base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 280
    functionName: db__msg_store_free
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 4
    functionsReached:
    - mosquitto_FREE
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void db__msg_store_free(struct mosquitto__base_msg *base_msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HASH_DELETE
      Src: /src/mosquitto/src/database.c:288,1
    - Dst: plugin_persist__handle_base_msg_delete
      Src: /src/mosquitto/src/database.c:292,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/database.c:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - base_msg
    - notify
    argTypes:
    - struct mosquitto__base_msg*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 295
    functionName: db__msg_store_remove
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 1
    functionsReached:
    - plugin_persist__handle_base_msg_delete
    - db__msg_store_free
    - HASH_DELETE
    linkageType: ''
    returnType: void
    signature: void db__msg_store_remove(struct mosquitto__base_msg *base_msg, bool
      notify)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/database.c:302,1
    - Dst: db__msg_store_remove
      Src: /src/mosquitto/src/database.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 305
    functionName: db__msg_store_clean
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 1
    functionsReached:
    - db__msg_store_remove
    - HASH_ITER
    linkageType: ''
    returnType: void
    signature: void db__msg_store_clean(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - base_msg
    argTypes:
    - struct mosquitto__base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: db__msg_store_ref_inc
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void db__msg_store_ref_inc(struct mosquitto__base_msg *base_msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: db__msg_store_remove
      Src: /src/mosquitto/src/database.c:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - base_msg
    argTypes:
    - struct mosquitto__base_msg**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 321
    functionName: db__msg_store_ref_dec
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 3
    functionsReached:
    - db__msg_store_remove
    linkageType: ''
    returnType: void
    signature: void db__msg_store_ref_dec(struct mosquitto__base_msg **base_msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/database.c:328,1
    - Dst: db__msg_store_remove
      Src: /src/mosquitto/src/database.c:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 324
    functionDepth: 3
    functionLinenumber: 324
    functionLinenumberEnd: 333
    functionName: db__msg_store_compact
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 1
    functionsReached:
    - db__msg_store_remove
    - HASH_ITER
    linkageType: ''
    returnType: void
    signature: void db__msg_store_compact(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: plugin_persist__handle_client_msg_delete
      Src: /src/mosquitto/src/database.c:342,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/src/database.c:344,1
    - Dst: db__msg_remove_from_inflight_stats
      Src: /src/mosquitto/src/database.c:346,1
    - Dst: db__msg_store_ref_dec
      Src: /src/mosquitto/src/database.c:347,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/database.c:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - context
    - msg_data
    - item
    argTypes:
    - struct mosquitto*
    - struct mosquitto_msg_data*
    - struct mosquitto__client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 336
    functionDepth: 4
    functionLinenumber: 336
    functionLinenumberEnd: 351
    functionName: db__message_remove_inflight
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - db__msg_store_ref_dec
    - db__msg_remove_from_inflight_stats
    - DL_DELETE
    - plugin_persist__handle_client_msg_delete
    linkageType: ''
    returnType: void
    signature: void db__message_remove_inflight(struct mosquitto *context, struct
      mosquitto_msg_data *msg_data, struct mosquitto__client_msg *item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: plugin_persist__handle_client_msg_delete
      Src: /src/mosquitto/src/database.c:360,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/src/database.c:362,1
    - Dst: db__msg_remove_from_queued_stats
      Src: /src/mosquitto/src/database.c:364,1
    - Dst: db__msg_store_ref_dec
      Src: /src/mosquitto/src/database.c:365,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/database.c:368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - context
    - msg_data
    - item
    argTypes:
    - struct mosquitto*
    - struct mosquitto_msg_data*
    - struct mosquitto__client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 354
    functionDepth: 4
    functionLinenumber: 354
    functionLinenumberEnd: 369
    functionName: db__message_remove_queued
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - db__msg_remove_from_queued_stats
    - db__msg_store_ref_dec
    - DL_DELETE
    - plugin_persist__handle_client_msg_delete
    linkageType: ''
    returnType: void
    signature: void db__message_remove_queued(struct mosquitto *context, struct mosquitto_msg_data
      *msg_data, struct mosquitto__client_msg *item)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/database.c:376,1
    - Dst: db__ready_for_flight
      Src: /src/mosquitto/src/database.c:377,1
    - Dst: db__message_remove_queued
      Src: /src/mosquitto/src/database.c:392,1
    - Dst: plugin_persist__handle_client_msg_update
      Src: /src/mosquitto/src/database.c:395,1
    - Dst: db__message_dequeue_first
      Src: /src/mosquitto/src/database.c:396,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 372
    functionDepth: 5
    functionLinenumber: 372
    functionLinenumberEnd: 398
    functionName: db__fill_inflight_out_from_queue
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 0
    functionsReached:
    - plugin_persist__handle_client_msg_update
    - db__message_remove_queued
    - db__message_dequeue_first
    - DL_FOREACH_SAFE
    - db__ready_for_flight
    linkageType: ''
    returnType: void
    signature: void db__fill_inflight_out_from_queue(struct mosquitto *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/src/database.c:405,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/src/database.c:408,1
    - Dst: DL_APPEND
      Src: /src/mosquitto/src/database.c:409,1
    - Dst: db__msg_remove_from_queued_stats
      Src: /src/mosquitto/src/database.c:414,1
    - Dst: db__msg_add_to_inflight_stats
      Src: /src/mosquitto/src/database.c:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - context
    - msg_data
    argTypes:
    - struct mosquitto*
    - struct mosquitto_msg_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 416
    functionName: db__message_dequeue_first
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 1
    functionsReached:
    - DL_APPEND
    - db__msg_remove_from_queued_stats
    - db__msg_add_to_inflight_stats
    - DL_DELETE
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void db__message_dequeue_first(struct mosquitto *context, struct mosquitto_msg_data
      *msg_data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/database.c:428,1
    - Dst: db__message_remove_inflight
      Src: /src/mosquitto/src/database.c:435,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/database.c:442,1
    - Dst: db__message_remove_queued
      Src: /src/mosquitto/src/database.c:449,1
    - Dst: db__fill_inflight_out_from_queue
      Src: /src/mosquitto/src/database.c:454,1
    - Dst: db__message_write_inflight_out_latest
      Src: /src/mosquitto/src/database.c:459,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 4
    argNames:
    - context
    - mid
    - expect_state
    - qos
    argTypes:
    - struct mosquitto*
    - uint16_t
    - enum mosquitto_msg_state
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 419
    functionDepth: 6
    functionLinenumber: 419
    functionLinenumberEnd: 460
    functionName: db__message_delete_outgoing
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 1
    functionsReached:
    - db__message_remove_queued
    - db__message_write_inflight_out_latest
    - db__fill_inflight_out_from_queue
    - DL_FOREACH_SAFE
    - db__message_remove_inflight
    linkageType: ''
    returnType: int
    signature: int db__message_delete_outgoing(struct mosquitto *context, uint16_t
      mid, enum mosquitto_msg_state expect_state, int qos)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/src/database.c:471,1
    - Dst: db__ready_for_flight
      Src: /src/mosquitto/src/database.c:482,1
    - Dst: db__ready_for_queue
      Src: /src/mosquitto/src/database.c:484,1
    - Dst: log__printf
      Src: /src/mosquitto/src/database.c:491,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/src/database.c:495,1
    - Dst: assert
      Src: /src/mosquitto/src/database.c:501,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/database.c:509,1
    - Dst: db__msg_store_ref_inc
      Src: /src/mosquitto/src/database.c:521,1
    - Dst: DL_APPEND
      Src: /src/mosquitto/src/database.c:535,1
    - Dst: db__msg_add_to_queued_stats
      Src: /src/mosquitto/src/database.c:536,1
    - Dst: DL_APPEND
      Src: /src/mosquitto/src/database.c:538,1
    - Dst: db__msg_add_to_inflight_stats
      Src: /src/mosquitto/src/database.c:539,1
    - Dst: plugin_persist__handle_base_msg_add
      Src: /src/mosquitto/src/database.c:543,1
    - Dst: plugin_persist__handle_client_msg_add
      Src: /src/mosquitto/src/database.c:544,1
    - Dst: util__decrement_receive_quota
      Src: /src/mosquitto/src/database.c:548,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 67
    argCount: 4
    argNames:
    - context
    - cmsg_id
    - base_msg
    - persist
    argTypes:
    - struct mosquitto*
    - uint64_t
    - struct mosquitto__base_msg*
    - bool
    assertStmts:
    - condition: (base_msg)
      pos:
        line_end: 470
        line_start: 470
        source_file: /src/mosquitto/src/database.c
    - condition: (state != mosq_ms_invalid)
      pos:
        line_end: 500
        line_start: 500
        source_file: /src/mosquitto/src/database.c
    constantsTouched: []
    func_position:
      end: 551
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 551
    functionName: db__message_insert_incoming
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 2
    functionsReached:
    - DL_APPEND
    - plugin_persist__handle_base_msg_add
    - db__msg_store_ref_inc
    - util__decrement_receive_quota
    - plugin_persist__handle_client_msg_add
    - mosquitto_malloc
    - metrics__int_inc
    - assert
    - db__msg_add_to_queued_stats
    - db__msg_add_to_inflight_stats
    - log__printf
    - db__ready_for_queue
    - db__ready_for_flight
    linkageType: ''
    returnType: int
    signature: int db__message_insert_incoming(struct mosquitto *context, uint64_t
      cmsg_id, struct mosquitto__base_msg *base_msg, bool persist)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/src/database.c:562,1
    - Dst: strcmp
      Src: /src/mosquitto/src/database.c:587,1
    - Dst: net__is_connected
      Src: /src/mosquitto/src/database.c:593,1
    - Dst: net__is_connected
      Src: /src/mosquitto/src/database.c:609,1
    - Dst: db__ready_for_flight
      Src: /src/mosquitto/src/database.c:610,1
    - Dst: db__ready_for_queue
      Src: /src/mosquitto/src/database.c:622,1
    - Dst: log__printf
      Src: /src/mosquitto/src/database.c:629,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/src/database.c:633,1
    - Dst: db__ready_for_queue
      Src: /src/mosquitto/src/database.c:637,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/src/database.c:640,1
    - Dst: log__printf
      Src: /src/mosquitto/src/database.c:643,1
    - Dst: assert
      Src: /src/mosquitto/src/database.c:650,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/database.c:658,1
    - Dst: db__msg_store_ref_inc
      Src: /src/mosquitto/src/database.c:670,1
    - Dst: DL_APPEND
      Src: /src/mosquitto/src/database.c:684,1
    - Dst: db__msg_add_to_queued_stats
      Src: /src/mosquitto/src/database.c:685,1
    - Dst: DL_APPEND
      Src: /src/mosquitto/src/database.c:687,1
    - Dst: db__msg_add_to_inflight_stats
      Src: /src/mosquitto/src/database.c:688,1
    - Dst: plugin_persist__handle_base_msg_add
      Src: /src/mosquitto/src/database.c:692,1
    - Dst: plugin_persist__handle_client_msg_add
      Src: /src/mosquitto/src/database.c:693,1
    - Dst: mosquitto_realloc
      Src: /src/mosquitto/src/database.c:704,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/database.c:708,1
    - Dst: net__is_connected
      Src: /src/mosquitto/src/database.c:718,1
    - Dst: util__decrement_send_quota
      Src: /src/mosquitto/src/database.c:726,1
    - Dst: db__message_write_inflight_out_latest
      Src: /src/mosquitto/src/database.c:730,1
    - Dst: db__message_write_queued_out
      Src: /src/mosquitto/src/database.c:734,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 137
    argCount: 9
    argNames:
    - context
    - cmsg_id
    - mid
    - qos
    - retain
    - base_msg
    - subscription_identifier
    - update
    - persist
    argTypes:
    - struct mosquitto*
    - uint64_t
    - uint16_t
    - uint8_t
    - bool
    - struct mosquitto__base_msg*
    - uint32_t
    - bool
    - bool
    assertStmts:
    - condition: (state != mosq_ms_invalid)
      pos:
        line_end: 649
        line_start: 649
        source_file: /src/mosquitto/src/database.c
    - condition: (base_msg)
      pos:
        line_end: 561
        line_start: 561
        source_file: /src/mosquitto/src/database.c
    constantsTouched: []
    func_position:
      end: 741
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 741
    functionName: db__message_insert_outgoing
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 3
    functionsReached:
    - DL_APPEND
    - strcmp
    - log__printf
    - db__ready_for_flight
    - plugin_persist__handle_client_msg_add
    - metrics__int_inc
    - db__msg_add_to_inflight_stats
    - db__ready_for_queue
    - mosquitto_strdup
    - plugin_persist__handle_base_msg_add
    - mosquitto_malloc
    - assert
    - net__is_connected
    - db__msg_store_ref_inc
    - db__message_write_inflight_out_latest
    - util__decrement_send_quota
    - db__msg_add_to_queued_stats
    - db__message_write_queued_out
    - mosquitto_realloc
    linkageType: ''
    returnType: int
    signature: int db__message_insert_outgoing(struct mosquitto *context, uint64_t
      cmsg_id, uint16_t mid, uint8_t qos, bool retain, struct mosquitto__base_msg
      *base_msg, uint32_t subscription_identifier, bool update, bool persist)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: plugin_persist__handle_client_msg_update
      Src: /src/mosquitto/src/database.c:756,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - context
    - head
    - mid
    - state
    - qos
    - persist
    argTypes:
    - struct mosquitto*
    - struct mosquitto__client_msg*
    - uint16_t
    - enum mosquitto_msg_state
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 762
    functionName: db__message_update_outgoing_state
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 0
    functionsReached:
    - plugin_persist__handle_client_msg_update
    linkageType: ''
    returnType: int
    signature: "int db__message_update_outgoing_state(struct mosquitto *context, struct
      mosquitto__client_msg *head,\n\t\tuint16_t mid, enum mosquitto_msg_state state,
      int qos, bool persist)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: plugin_persist__handle_client_msg_update
      Src: /src/mosquitto/src/database.c:756,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 760
    functionName: DL_FOREACH
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 1
    functionsReached:
    - plugin_persist__handle_client_msg_update
    linkageType: ''
    returnType: void
    signature: void DL_FOREACH(head, client_msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: db__message_update_outgoing_state
      Src: /src/mosquitto/src/database.c:769,1
    - Dst: db__message_update_outgoing_state
      Src: /src/mosquitto/src/database.c:771,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - context
    - mid
    - state
    - qos
    - persist
    argTypes:
    - struct mosquitto*
    - uint16_t
    - enum mosquitto_msg_state
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 774
    functionName: db__message_update_outgoing
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 1
    functionsReached:
    - db__message_update_outgoing_state
    linkageType: ''
    returnType: int
    signature: int db__message_update_outgoing(struct mosquitto *context, uint16_t
      mid, enum mosquitto_msg_state state, int qos, bool persist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/database.c:781,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/src/database.c:782,1
    - Dst: db__msg_store_ref_dec
      Src: /src/mosquitto/src/database.c:783,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/database.c:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - head
    argTypes:
    - struct mosquitto__client_msg**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 777
    functionDepth: 4
    functionLinenumber: 777
    functionLinenumberEnd: 787
    functionName: db__messages_delete_list
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - DL_DELETE
    - DL_FOREACH_SAFE
    - db__msg_store_ref_dec
    linkageType: ''
    returnType: void
    signature: void db__messages_delete_list(struct mosquitto__client_msg **head)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: db__messages_delete_list
      Src: /src/mosquitto/src/database.c:796,1
    - Dst: db__messages_delete_list
      Src: /src/mosquitto/src/database.c:797,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 790
    functionDepth: 5
    functionLinenumber: 790
    functionLinenumberEnd: 808
    functionName: db__messages_delete_incoming
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 1
    functionsReached:
    - db__messages_delete_list
    linkageType: ''
    returnType: int
    signature: int db__messages_delete_incoming(struct mosquitto *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: db__messages_delete_list
      Src: /src/mosquitto/src/database.c:817,1
    - Dst: db__messages_delete_list
      Src: /src/mosquitto/src/database.c:818,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 811
    functionDepth: 5
    functionLinenumber: 811
    functionLinenumberEnd: 829
    functionName: db__messages_delete_outgoing
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 1
    functionsReached:
    - db__messages_delete_list
    linkageType: ''
    returnType: int
    signature: int db__messages_delete_outgoing(struct mosquitto *context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: db__messages_delete_incoming
      Src: /src/mosquitto/src/database.c:839,1
    - Dst: db__messages_delete_outgoing
      Src: /src/mosquitto/src/database.c:845,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 2
    argNames:
    - context
    - force_free
    argTypes:
    - struct mosquitto*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 832
    functionDepth: 6
    functionLinenumber: 832
    functionLinenumberEnd: 849
    functionName: db__messages_delete
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 5
    functionsReached:
    - db__messages_delete_outgoing
    - db__messages_delete_incoming
    linkageType: ''
    returnType: int
    signature: int db__messages_delete(struct mosquitto *context, bool force_free)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/database.c:862,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/database.c:867,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/database.c:869,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/database.c:882,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/database.c:884,1
    - Dst: memcpy
      Src: /src/mosquitto/src/database.c:889,1
    - Dst: db__message_store
      Src: /src/mosquitto/src/database.c:907,1
    - Dst: sub__messages_queue
      Src: /src/mosquitto/src/database.c:911,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 8
    argNames:
    - context
    - topic
    - qos
    - payloadlen
    - payload
    - retain
    - message_expiry_interval
    - properties
    argTypes:
    - struct mosquitto*
    - char*
    - uint8_t
    - uint32_t
    - void*
    - int
    - uint32_t
    - mosquitto_property**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 852
    functionDepth: 2
    functionLinenumber: 852
    functionLinenumberEnd: 912
    functionName: db__messages_easy_queue
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 6
    functionsReached:
    - mosquitto_strdup
    - mosquitto_calloc
    - sub__messages_queue
    - mosquitto_malloc
    - db__msg_store_free
    - memcpy
    - db__message_store
    linkageType: ''
    returnType: int
    signature: int db__messages_easy_queue(struct mosquitto *context, const char *topic,
      uint8_t qos, uint32_t payloadlen, const void *payload, int retain, uint32_t
      message_expiry_interval, mosquitto_property **properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemTimePreciseAsFileTime
      Src: /src/mosquitto/src/database.c:954,1
    - Dst: clock_gettime
      Src: /src/mosquitto/src/database.c:960,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 976
    functionName: db__new_msg_id
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 0
    functionsReached:
    - clock_gettime
    - GetSystemTimePreciseAsFileTime
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t db__new_msg_id(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/src/database.c:984,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/database.c:987,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/database.c:989,1
    - Dst: log__printf
      Src: /src/mosquitto/src/database.c:992,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/database.c:993,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/database.c:998,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/database.c:1000,1
    - Dst: db__new_msg_id
      Src: /src/mosquitto/src/database.c:1022,1
    - Dst: db__msg_store_add
      Src: /src/mosquitto/src/database.c:1025,1
    - Dst: db__msg_store_free
      Src: /src/mosquitto/src/database.c:1027,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 4
    argNames:
    - source
    - base_msg
    - message_expiry_interval
    - origin
    argTypes:
    - struct mosquitto*
    - struct mosquitto__base_msg*
    - uint32_t*
    - enum mosquitto_msg_origin
    assertStmts:
    - condition: (base_msg)
      pos:
        line_end: 983
        line_start: 983
        source_file: /src/mosquitto/src/database.c
    constantsTouched: []
    func_position:
      end: 1032
      start: 980
    functionDepth: 2
    functionLinenumber: 980
    functionLinenumberEnd: 1032
    functionName: db__message_store
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 5
    functionsReached:
    - mosquitto_strdup
    - db__msg_store_add
    - assert
    - db__msg_store_free
    - db__new_msg_id
    - log__printf
    linkageType: ''
    returnType: int
    signature: int db__message_store(const struct mosquitto *source, struct mosquitto__base_msg
      *base_msg, uint32_t *message_expiry_interval, enum mosquitto_msg_origin origin)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH
      Src: /src/mosquitto/src/database.c:1045,1
    - Dst: DL_FOREACH
      Src: /src/mosquitto/src/database.c:1052,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - context
    - mid
    - client_msg
    argTypes:
    - struct mosquitto*
    - uint16_t
    - struct mosquitto__client_msg**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1060
    functionName: db__message_store_find
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 1
    functionsReached:
    - DL_FOREACH
    linkageType: ''
    returnType: int
    signature: int db__message_store_find(struct mosquitto *context, uint16_t mid,
      struct mosquitto__client_msg **client_msg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/database.c:1079,1
    - Dst: db__msg_add_to_inflight_stats
      Src: /src/mosquitto/src/database.c:1080,1
    - Dst: util__decrement_send_quota
      Src: /src/mosquitto/src/database.c:1082,1
    - Dst: plugin_persist__handle_client_msg_update
      Src: /src/mosquitto/src/database.c:1100,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/database.c:1108,1
    - Dst: db__msg_add_to_queued_stats
      Src: /src/mosquitto/src/database.c:1109,1
    - Dst: db__fill_inflight_out_from_queue
      Src: /src/mosquitto/src/database.c:1111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1065
    functionDepth: 6
    functionLinenumber: 1065
    functionLinenumberEnd: 1114
    functionName: db__message_reconnect_reset_outgoing
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 0
    functionsReached:
    - plugin_persist__handle_client_msg_update
    - util__decrement_send_quota
    - db__fill_inflight_out_from_queue
    - db__msg_add_to_queued_stats
    - db__msg_add_to_inflight_stats
    - DL_FOREACH_SAFE
    linkageType: ''
    returnType: int
    signature: int db__message_reconnect_reset_outgoing(struct mosquitto *context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/database.c:1132,1
    - Dst: db__msg_add_to_inflight_stats
      Src: /src/mosquitto/src/database.c:1133,1
    - Dst: util__decrement_receive_quota
      Src: /src/mosquitto/src/database.c:1135,1
    - Dst: db__message_remove_inflight
      Src: /src/mosquitto/src/database.c:1141,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/database.c:1155,1
    - Dst: db__msg_add_to_queued_stats
      Src: /src/mosquitto/src/database.c:1157,1
    - Dst: db__ready_for_flight
      Src: /src/mosquitto/src/database.c:1158,1
    - Dst: db__message_dequeue_first
      Src: /src/mosquitto/src/database.c:1170,1
    - Dst: plugin_persist__handle_client_msg_update
      Src: /src/mosquitto/src/database.c:1171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1118
    functionDepth: 5
    functionLinenumber: 1118
    functionLinenumberEnd: 1176
    functionName: db__message_reconnect_reset_incoming
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 0
    functionsReached:
    - plugin_persist__handle_client_msg_update
    - db__message_dequeue_first
    - util__decrement_receive_quota
    - db__msg_add_to_queued_stats
    - db__msg_add_to_inflight_stats
    - DL_FOREACH_SAFE
    - db__message_remove_inflight
    - db__ready_for_flight
    linkageType: ''
    returnType: int
    signature: int db__message_reconnect_reset_incoming(struct mosquitto *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: db__message_reconnect_reset_outgoing
      Src: /src/mosquitto/src/database.c:1183,1
    - Dst: db__message_reconnect_reset_incoming
      Src: /src/mosquitto/src/database.c:1187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1179
    functionDepth: 7
    functionLinenumber: 1179
    functionLinenumberEnd: 1188
    functionName: db__message_reconnect_reset
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 3
    functionsReached:
    - db__message_reconnect_reset_outgoing
    - db__message_reconnect_reset_incoming
    linkageType: ''
    returnType: int
    signature: int db__message_reconnect_reset(struct mosquitto *context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/database.c:1199,1
    - Dst: db__message_remove_inflight
      Src: /src/mosquitto/src/database.c:1204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - context
    - mid
    argTypes:
    - struct mosquitto*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1191
    functionDepth: 5
    functionLinenumber: 1191
    functionLinenumberEnd: 1210
    functionName: db__message_remove_incoming
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 2
    functionsReached:
    - DL_FOREACH_SAFE
    - db__message_remove_inflight
    linkageType: ''
    returnType: int
    signature: int db__message_remove_incoming(struct mosquitto *context, uint16_t
      mid)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/database.c:1226,1
    - Dst: db__message_remove_inflight
      Src: /src/mosquitto/src/database.c:1240,1
    - Dst: sub__messages_queue
      Src: /src/mosquitto/src/database.c:1243,1
    - Dst: db__message_remove_inflight
      Src: /src/mosquitto/src/database.c:1245,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/database.c:1254,1
    - Dst: db__ready_for_flight
      Src: /src/mosquitto/src/database.c:1255,1
    - Dst: send__pubrec
      Src: /src/mosquitto/src/database.c:1260,1
    - Dst: db__message_dequeue_first
      Src: /src/mosquitto/src/database.c:1262,1
    - Dst: plugin_persist__handle_client_msg_update
      Src: /src/mosquitto/src/database.c:1263,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 2
    argNames:
    - context
    - mid
    argTypes:
    - struct mosquitto*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1213
    functionDepth: 5
    functionLinenumber: 1213
    functionLinenumberEnd: 1271
    functionName: db__message_release_incoming
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 0
    functionsReached:
    - plugin_persist__handle_client_msg_update
    - db__message_dequeue_first
    - sub__messages_queue
    - DL_FOREACH_SAFE
    - send__pubrec
    - db__message_remove_inflight
    - db__ready_for_flight
    linkageType: ''
    returnType: int
    signature: int db__message_release_incoming(struct mosquitto *context, uint16_t
      mid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/database.c:1278,1
    - Dst: util__increment_send_quota
      Src: /src/mosquitto/src/database.c:1281,1
    - Dst: db__message_remove_inflight
      Src: /src/mosquitto/src/database.c:1283,1
    - Dst: db__fill_inflight_out_from_queue
      Src: /src/mosquitto/src/database.c:1286,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/database.c:1287,1
    - Dst: db__message_remove_queued
      Src: /src/mosquitto/src/database.c:1289,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/database.c:1292,1
    - Dst: util__increment_receive_quota
      Src: /src/mosquitto/src/database.c:1295,1
    - Dst: db__message_remove_inflight
      Src: /src/mosquitto/src/database.c:1297,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/database.c:1300,1
    - Dst: db__message_remove_queued
      Src: /src/mosquitto/src/database.c:1302,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1274
    functionDepth: 6
    functionLinenumber: 1274
    functionLinenumberEnd: 1305
    functionName: db__expire_all_messages
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 1
    functionsReached:
    - db__message_remove_queued
    - util__increment_send_quota
    - util__increment_receive_quota
    - db__fill_inflight_out_from_queue
    - DL_FOREACH_SAFE
    - db__message_remove_inflight
    linkageType: ''
    returnType: void
    signature: void db__expire_all_messages(struct mosquitto *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/database.c:1315,1
    - Dst: mosquitto_acl_check
      Src: /src/mosquitto/src/database.c:1322,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/src/database.c:1326,1
    - Dst: decrement_stats_fn
      Src: /src/mosquitto/src/database.c:1327,1
    - Dst: plugin_persist__handle_client_msg_delete
      Src: /src/mosquitto/src/database.c:1328,1
    - Dst: db__msg_store_ref_dec
      Src: /src/mosquitto/src/database.c:1329,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/database.c:1330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - context
    - msg_data
    - head
    argTypes:
    - struct mosquitto*
    - struct mosquitto_msg_data*
    - struct mosquitto__client_msg**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1308
    functionDepth: 4
    functionLinenumber: 1308
    functionLinenumberEnd: 1333
    functionName: db__client_messages_check_acl
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - db__msg_store_ref_dec
    - decrement_stats_fn
    - DL_DELETE
    - DL_FOREACH_SAFE
    - mosquitto_acl_check
    - plugin_persist__handle_client_msg_delete
    linkageType: ''
    returnType: void
    signature: "void db__client_messages_check_acl(struct mosquitto *context, struct
      mosquitto_msg_data *msg_data, struct mosquitto__client_msg **head,\n\t\tvoid
      (*decrement_stats_fn)(struct mosquitto_msg_data *msg_data, struct mosquitto__client_msg
      *client_msg))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: db__client_messages_check_acl
      Src: /src/mosquitto/src/database.c:1338,1
    - Dst: db__client_messages_check_acl
      Src: /src/mosquitto/src/database.c:1339,1
    - Dst: db__client_messages_check_acl
      Src: /src/mosquitto/src/database.c:1340,1
    - Dst: db__client_messages_check_acl
      Src: /src/mosquitto/src/database.c:1341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1336
    functionDepth: 5
    functionLinenumber: 1336
    functionLinenumberEnd: 1342
    functionName: db__check_acl_of_all_messages
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 1
    functionsReached:
    - db__client_messages_check_acl
    linkageType: ''
    returnType: void
    signature: void db__check_acl_of_all_messages(struct mosquitto *context)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: util__increment_send_quota
      Src: /src/mosquitto/src/database.c:1367,1
    - Dst: db__message_remove_inflight
      Src: /src/mosquitto/src/database.c:1369,1
    - Dst: db__fill_inflight_out_from_queue
      Src: /src/mosquitto/src/database.c:1370,1
    - Dst: send__publish
      Src: /src/mosquitto/src/database.c:1388,1
    - Dst: db__message_remove_inflight
      Src: /src/mosquitto/src/database.c:1390,1
    - Dst: send__publish
      Src: /src/mosquitto/src/database.c:1397,1
    - Dst: plugin_persist__handle_client_msg_update
      Src: /src/mosquitto/src/database.c:1401,1
    - Dst: db__message_remove_inflight
      Src: /src/mosquitto/src/database.c:1403,1
    - Dst: send__publish
      Src: /src/mosquitto/src/database.c:1410,1
    - Dst: plugin_persist__handle_client_msg_update
      Src: /src/mosquitto/src/database.c:1414,1
    - Dst: db__message_remove_inflight
      Src: /src/mosquitto/src/database.c:1416,1
    - Dst: send__pubrel
      Src: /src/mosquitto/src/database.c:1423,1
    - Dst: plugin_persist__handle_client_msg_update
      Src: /src/mosquitto/src/database.c:1426,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 79
    argCount: 2
    argNames:
    - context
    - client_msg
    argTypes:
    - struct mosquitto*
    - struct mosquitto__client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1345
    functionDepth: 6
    functionLinenumber: 1345
    functionLinenumberEnd: 1443
    functionName: db__message_write_inflight_out_single
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 0
    functionsReached:
    - plugin_persist__handle_client_msg_update
    - send__publish
    - util__increment_send_quota
    - send__pubrel
    - db__fill_inflight_out_from_queue
    - db__message_remove_inflight
    linkageType: ''
    returnType: int
    signature: int db__message_write_inflight_out_single(struct mosquitto *context,
      struct mosquitto__client_msg *client_msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: net__is_connected
      Src: /src/mosquitto/src/database.c:1451,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/database.c:1455,1
    - Dst: db__message_write_inflight_out_single
      Src: /src/mosquitto/src/database.c:1456,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1446
    functionDepth: 7
    functionLinenumber: 1446
    functionLinenumberEnd: 1462
    functionName: db__message_write_inflight_out_all
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 1
    functionsReached:
    - net__is_connected
    - DL_FOREACH_SAFE
    - db__message_write_inflight_out_single
    linkageType: ''
    returnType: int
    signature: int db__message_write_inflight_out_all(struct mosquitto *context)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: net__is_connected
      Src: /src/mosquitto/src/database.c:1471,1
    - Dst: db__message_write_inflight_out_single
      Src: /src/mosquitto/src/database.c:1479,1
    - Dst: db__message_write_inflight_out_single
      Src: /src/mosquitto/src/database.c:1502,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1509
      start: 1465
    functionDepth: 7
    functionLinenumber: 1465
    functionLinenumberEnd: 1509
    functionName: db__message_write_inflight_out_latest
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 3
    functionsReached:
    - net__is_connected
    - db__message_write_inflight_out_single
    linkageType: ''
    returnType: int
    signature: int db__message_write_inflight_out_latest(struct mosquitto *context)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/database.c:1521,1
    - Dst: db__message_dequeue_first
      Src: /src/mosquitto/src/database.c:1528,1
    - Dst: send__pubrec
      Src: /src/mosquitto/src/database.c:1529,1
    - Dst: plugin_persist__handle_client_msg_update
      Src: /src/mosquitto/src/database.c:1532,1
    - Dst: plugin_persist__handle_client_msg_update
      Src: /src/mosquitto/src/database.c:1534,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1512
    functionDepth: 2
    functionLinenumber: 1512
    functionLinenumberEnd: 1540
    functionName: db__message_write_queued_in
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 1
    functionsReached:
    - db__message_dequeue_first
    - send__pubrec
    - plugin_persist__handle_client_msg_update
    - DL_FOREACH_SAFE
    linkageType: ''
    returnType: int
    signature: int db__message_write_queued_in(struct mosquitto *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: db__fill_inflight_out_from_queue
      Src: /src/mosquitto/src/database.c:1549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1543
    functionDepth: 6
    functionLinenumber: 1543
    functionLinenumberEnd: 1552
    functionName: db__message_write_queued_out
    functionSourceFile: /src/mosquitto/src/database.c
    functionUses: 3
    functionsReached:
    - db__fill_inflight_out_from_queue
    linkageType: ''
    returnType: int
    signature: int db__message_write_queued_out(struct mosquitto *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/src/persist_write.c:45,1
    - Dst: assert
      Src: /src/mosquitto/src/persist_write.c:46,1
    - Dst: strncmp
      Src: /src/mosquitto/src/persist_write.c:50,1
    - Dst: memset
      Src: /src/mosquitto/src/persist_write.c:60,1
    - Dst: strlen
      Src: /src/mosquitto/src/persist_write.c:64,1
    - Dst: persist__chunk_client_msg_write_v6
      Src: /src/mosquitto/src/persist_write.c:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - db_fptr
    - context
    - queue
    argTypes:
    - FILE*
    - struct mosquitto*
    - struct mosquitto__client_msg*
    assertStmts:
    - condition: (db_fptr)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/mosquitto/src/persist_write.c
    - condition: (context)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/mosquitto/src/persist_write.c
    constantsTouched: []
    func_position:
      end: 81
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 81
    functionName: persist__client_messages_save
    functionSourceFile: /src/mosquitto/src/persist_write.c
    functionUses: 0
    functionsReached:
    - strncmp
    - assert
    - strlen
    - persist__chunk_client_msg_write_v6
    - memset
    linkageType: ''
    returnType: int
    signature: int persist__client_messages_save(FILE *db_fptr, struct mosquitto *context,
      struct mosquitto__client_msg *queue)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/src/persist_write.c:90,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/persist_write.c:93,1
    - Dst: memset
      Src: /src/mosquitto/src/persist_write.c:98,1
    - Dst: strncmp
      Src: /src/mosquitto/src/persist_write.c:100,1
    - Dst: strlen
      Src: /src/mosquitto/src/persist_write.c:119,1
    - Dst: strlen
      Src: /src/mosquitto/src/persist_write.c:126,1
    - Dst: strlen
      Src: /src/mosquitto/src/persist_write.c:133,1
    - Dst: persist__chunk_message_store_write_v6
      Src: /src/mosquitto/src/persist_write.c:145,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 1
    argNames:
    - db_fptr
    argTypes:
    - FILE*
    assertStmts:
    - condition: (db_fptr)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/mosquitto/src/persist_write.c
    constantsTouched: []
    func_position:
      end: 152
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 152
    functionName: persist__message_store_save
    functionSourceFile: /src/mosquitto/src/persist_write.c
    functionUses: 0
    functionsReached:
    - strncmp
    - assert
    - strlen
    - memset
    - HASH_ITER
    - persist__chunk_message_store_write_v6
    linkageType: ''
    returnType: int
    signature: int persist__message_store_save(FILE *db_fptr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/src/persist_write.c:161,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/persist_write.c:163,1
    - Dst: memset
      Src: /src/mosquitto/src/persist_write.c:164,1
    - Dst: WITH_BRIDGE
      Src: /src/mosquitto/src/persist_write.c:167,1
    - Dst: strlen
      Src: /src/mosquitto/src/persist_write.c:182,1
    - Dst: strlen
      Src: /src/mosquitto/src/persist_write.c:185,1
    - Dst: persist__chunk_client_write_v6
      Src: /src/mosquitto/src/persist_write.c:198,1
    - Dst: persist__client_messages_save
      Src: /src/mosquitto/src/persist_write.c:203,1
    - Dst: persist__client_messages_save
      Src: /src/mosquitto/src/persist_write.c:206,1
    - Dst: persist__client_messages_save
      Src: /src/mosquitto/src/persist_write.c:209,1
    - Dst: persist__client_messages_save
      Src: /src/mosquitto/src/persist_write.c:212,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 1
    argNames:
    - db_fptr
    argTypes:
    - FILE*
    assertStmts:
    - condition: (db_fptr)
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/mosquitto/src/persist_write.c
    constantsTouched: []
    func_position:
      end: 219
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 219
    functionName: persist__client_save
    functionSourceFile: /src/mosquitto/src/persist_write.c
    functionUses: 0
    functionsReached:
    - persist__chunk_client_write_v6
    - assert
    - persist__client_messages_save
    - strlen
    - memset
    - HASH_ITER
    - WITH_BRIDGE
    linkageType: ''
    returnType: int
    signature: int persist__client_save(FILE *db_fptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/src/persist_write.c:231,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/persist_write.c:232,1
    - Dst: strlen
      Src: /src/mosquitto/src/persist_write.c:236,1
    - Dst: snprintf
      Src: /src/mosquitto/src/persist_write.c:237,1
    - Dst: snprintf
      Src: /src/mosquitto/src/persist_write.c:239,1
    - Dst: memset
      Src: /src/mosquitto/src/persist_write.c:245,1
    - Dst: strlen
      Src: /src/mosquitto/src/persist_write.c:248,1
    - Dst: strlen
      Src: /src/mosquitto/src/persist_write.c:249,1
    - Dst: MQTT_SUB_OPT_GET_QOS
      Src: /src/mosquitto/src/persist_write.c:250,1
    - Dst: persist__chunk_sub_write_v6
      Src: /src/mosquitto/src/persist_write.c:255,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_write.c:257,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/persist_write.c:264,1
    - Dst: persist__subs_save
      Src: /src/mosquitto/src/persist_write.c:265,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_write.c:267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 4
    argNames:
    - db_fptr
    - node
    - topic
    - level
    argTypes:
    - FILE*
    - struct mosquitto__subhier*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 269
    functionName: persist__subs_save
    functionSourceFile: /src/mosquitto/src/persist_write.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - persist__subs_save
    - MQTT_SUB_OPT_GET_QOS
    - snprintf
    - mosquitto_malloc
    - strlen
    - memset
    - HASH_ITER
    - persist__chunk_sub_write_v6
    linkageType: ''
    returnType: int
    signature: int persist__subs_save(FILE *db_fptr, struct mosquitto__subhier *node,
      const char *topic, int level)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/persist_write.c:276,1
    - Dst: persist__subs_save
      Src: /src/mosquitto/src/persist_write.c:278,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/persist_write.c:282,1
    - Dst: persist__subs_save
      Src: /src/mosquitto/src/persist_write.c:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - db_fptr
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 289
    functionName: persist__subs_save_all
    functionSourceFile: /src/mosquitto/src/persist_write.c
    functionUses: 0
    functionsReached:
    - persist__subs_save
    - HASH_ITER
    linkageType: ''
    returnType: int
    signature: int persist__subs_save_all(FILE *db_fptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/mosquitto/src/persist_write.c:298,1
    - Dst: memset
      Src: /src/mosquitto/src/persist_write.c:299,1
    - Dst: persist__chunk_retain_write_v6
      Src: /src/mosquitto/src/persist_write.c:303,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/persist_write.c:309,1
    - Dst: persist__retain_save
      Src: /src/mosquitto/src/persist_write.c:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - db_fptr
    - node
    - level
    argTypes:
    - FILE*
    - struct mosquitto__retainhier*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 313
    functionName: persist__retain_save
    functionSourceFile: /src/mosquitto/src/persist_write.c
    functionUses: 1
    functionsReached:
    - strncmp
    - persist__retain_save
    - persist__chunk_retain_write_v6
    - memset
    - HASH_ITER
    linkageType: ''
    returnType: int
    signature: int persist__retain_save(FILE *db_fptr, struct mosquitto__retainhier
      *node, int level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/persist_write.c:320,1
    - Dst: persist__retain_save
      Src: /src/mosquitto/src/persist_write.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - db_fptr
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 327
    functionName: persist__retain_save_all
    functionSourceFile: /src/mosquitto/src/persist_write.c
    functionUses: 0
    functionsReached:
    - persist__retain_save
    - HASH_ITER
    linkageType: ''
    returnType: int
    signature: int persist__retain_save_all(FILE *db_fptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_write.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: persist__log_write_error
    functionSourceFile: /src/mosquitto/src/persist_write.c
    functionUses: 0
    functionsReached:
    - log__printf
    linkageType: ''
    returnType: void
    signature: void persist__log_write_error(const char *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_write.c:350,1
    - Dst: mosquitto_write_file
      Src: /src/mosquitto/src/persist_write.c:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - shutdown
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 353
    functionName: persist__backup
    functionSourceFile: /src/mosquitto/src/persist_write.c
    functionUses: 13
    functionsReached:
    - log__printf
    - mosquitto_write_file
    linkageType: ''
    returnType: int
    signature: int persist__backup(bool shutdown)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/mosquitto/src/persist_write.c:359,1
    - Dst: write_e
      Src: /src/mosquitto/src/persist_write.c:366,1
    - Dst: write_e
      Src: /src/mosquitto/src/persist_write.c:367,1
    - Dst: write_e
      Src: /src/mosquitto/src/persist_write.c:368,1
    - Dst: memset
      Src: /src/mosquitto/src/persist_write.c:370,1
    - Dst: persist__chunk_cfg_write_v6
      Src: /src/mosquitto/src/persist_write.c:374,1
    - Dst: persist__message_store_save
      Src: /src/mosquitto/src/persist_write.c:378,1
    - Dst: persist__client_save
      Src: /src/mosquitto/src/persist_write.c:382,1
    - Dst: persist__subs_save_all
      Src: /src/mosquitto/src/persist_write.c:383,1
    - Dst: persist__retain_save_all
      Src: /src/mosquitto/src/persist_write.c:384,1
    - Dst: strerror
      Src: /src/mosquitto/src/persist_write.c:390,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_write.c:391,1
    - Dst: fclose
      Src: /src/mosquitto/src/persist_write.c:393,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - db_fptr
    - user_data
    argTypes:
    - FILE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 356
    functionDepth: 4
    functionLinenumber: 356
    functionLinenumberEnd: 396
    functionName: persist__write_data
    functionSourceFile: /src/mosquitto/src/persist_write.c
    functionUses: 0
    functionsReached:
    - persist__subs_save_all
    - htonl
    - write_e
    - persist__chunk_cfg_write_v6
    - fclose
    - persist__retain_save_all
    - memset
    - strerror
    - persist__client_save
    - log__printf
    - persist__message_store_save
    linkageType: ''
    returnType: int
    signature: int persist__write_data(FILE *db_fptr, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/listeners.c:37,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/listeners.c:39,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/listeners.c:40,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/listeners.c:41,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/listeners.c:44,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/listeners.c:56,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/listeners.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct mosquitto__listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 61
    functionName: listener__set_defaults
    functionSourceFile: /src/mosquitto/src/listeners.c
    functionUses: 2
    functionsReached:
    - mosquitto_FREE
    linkageType: ''
    returnType: void
    signature: void listener__set_defaults(struct mosquitto__listener *listener)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: net__load_certificates
      Src: /src/mosquitto/src/listeners.c:70,1
    - Dst: log__printf
      Src: /src/mosquitto/src/listeners.c:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: listeners__reload_all_certificates
    functionSourceFile: /src/mosquitto/src/listeners.c
    functionUses: 1
    functionsReached:
    - log__printf
    - net__load_certificates
    linkageType: ''
    returnType: void
    signature: void listeners__reload_all_certificates(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: net__socket_listen
      Src: /src/mosquitto/src/listeners.c:85,1
    - Dst: mosquitto_realloc
      Src: /src/mosquitto/src/listeners.c:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct mosquitto__listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 107
    functionName: listeners__start_single_mqtt
    functionSourceFile: /src/mosquitto/src/listeners.c
    functionUses: 0
    functionsReached:
    - mosquitto_realloc
    - net__socket_listen
    linkageType: ''
    returnType: int
    signature: int listeners__start_single_mqtt(struct mosquitto__listener *listener)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_realloc
      Src: /src/mosquitto/src/listeners.c:135,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - ws_context
    - fd
    argTypes:
    - struct lws_context*
    - mosq_sock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 147
    functionName: listeners__add_websockets
    functionSourceFile: /src/mosquitto/src/listeners.c
    functionUses: 1
    functionsReached:
    - mosquitto_realloc
    linkageType: ''
    returnType: void
    signature: void listeners__add_websockets(struct lws_context *ws_context, mosq_sock_t
      fd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/listeners.c:163,1
    - Dst: listener__set_defaults
      Src: /src/mosquitto/src/listeners.c:168,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/listeners.c:170,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/listeners.c:172,1
    - Dst: strlen
      Src: /src/mosquitto/src/listeners.c:175,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/listeners.c:177,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/listeners.c:179,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/listeners.c:180,1
    - Dst: listeners__start_single_mqtt
      Src: /src/mosquitto/src/listeners.c:183,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/listeners.c:184,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/listeners.c:185,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/listeners.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 2
    argNames:
    - host
    - port
    argTypes:
    - char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 191
    functionName: listeners__add_local
    functionSourceFile: /src/mosquitto/src/listeners.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - mosquitto_FREE
    - mosquitto_calloc
    - listeners__start_single_mqtt
    - strlen
    - listener__set_defaults
    linkageType: ''
    returnType: int
    signature: int listeners__add_local(const char *host, uint16_t port)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_realloc
      Src: /src/mosquitto/src/listeners.c:211,1
    - Dst: memset
      Src: /src/mosquitto/src/listeners.c:215,1
    - Dst: log__printf
      Src: /src/mosquitto/src/listeners.c:219,1
    - Dst: log__printf
      Src: /src/mosquitto/src/listeners.c:220,1
    - Dst: log__printf
      Src: /src/mosquitto/src/listeners.c:221,1
    - Dst: listeners__add_local
      Src: /src/mosquitto/src/listeners.c:223,1
    - Dst: listeners__add_local
      Src: /src/mosquitto/src/listeners.c:227,1
    - Dst: listeners__add_local
      Src: /src/mosquitto/src/listeners.c:233,1
    - Dst: listeners__add_local
      Src: /src/mosquitto/src/listeners.c:237,1
    - Dst: http_api__start_local
      Src: /src/mosquitto/src/listeners.c:247,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 253
    functionName: listeners__start_local_only
    functionSourceFile: /src/mosquitto/src/listeners.c
    functionUses: 0
    functionsReached:
    - listeners__add_local
    - http_api__start_local
    - memset
    - mosquitto_realloc
    - log__printf
    linkageType: ''
    returnType: int
    signature: int listeners__start_local_only(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: listeners__start_local_only
      Src: /src/mosquitto/src/listeners.c:261,1
    - Dst: db__close
      Src: /src/mosquitto/src/listeners.c:262,1
    - Dst: remove
      Src: /src/mosquitto/src/listeners.c:264,1
    - Dst: mux__add_listeners
      Src: /src/mosquitto/src/listeners.c:268,1
    - Dst: listeners__start_single_mqtt
      Src: /src/mosquitto/src/listeners.c:274,1
    - Dst: db__close
      Src: /src/mosquitto/src/listeners.c:275,1
    - Dst: remove
      Src: /src/mosquitto/src/listeners.c:277,1
    - Dst: mosq_websockets_init
      Src: /src/mosquitto/src/listeners.c:283,1
    - Dst: log__printf
      Src: /src/mosquitto/src/listeners.c:285,1
    - Dst: listeners__start_single_mqtt
      Src: /src/mosquitto/src/listeners.c:289,1
    - Dst: db__close
      Src: /src/mosquitto/src/listeners.c:290,1
    - Dst: remove
      Src: /src/mosquitto/src/listeners.c:292,1
    - Dst: http_api__start
      Src: /src/mosquitto/src/listeners.c:299,1
    - Dst: log__printf
      Src: /src/mosquitto/src/listeners.c:304,1
    - Dst: mux__add_listeners
      Src: /src/mosquitto/src/listeners.c:308,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 256
    functionDepth: 4
    functionLinenumber: 256
    functionLinenumberEnd: 310
    functionName: listeners__start
    functionSourceFile: /src/mosquitto/src/listeners.c
    functionUses: 1
    functionsReached:
    - log__printf
    - http_api__start
    - listeners__start_single_mqtt
    - mux__add_listeners
    - mosq_websockets_init
    - remove
    - db__close
    - listeners__start_local_only
    linkageType: ''
    returnType: int
    signature: int listeners__start(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mux__delete_listeners
      Src: /src/mosquitto/src/listeners.c:315,1
    - Dst: lws_context_destroy
      Src: /src/mosquitto/src/listeners.c:320,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/listeners.c:322,1
    - Dst: unlink
      Src: /src/mosquitto/src/listeners.c:326,1
    - Dst: http_api__stop
      Src: /src/mosquitto/src/listeners.c:331,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/src/listeners.c:338,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/listeners.c:341,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 344
    functionName: listeners__stop
    functionSourceFile: /src/mosquitto/src/listeners.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - http_api__stop
    - unlink
    - COMPAT_CLOSE
    - lws_context_destroy
    - mux__delete_listeners
    linkageType: ''
    returnType: void
    signature: void listeners__stop(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/proxy_v2.c:82,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/proxy_v2.c:83,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/proxy_v2.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: proxy_cleanup
    functionSourceFile: /src/mosquitto/src/proxy_v2.c
    functionUses: 3
    functionsReached:
    - mosquitto_FREE
    linkageType: ''
    returnType: void
    signature: void proxy_cleanup(struct mosquitto *context)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/mosquitto/src/proxy_v2.c:97,1
    - Dst: mosquitto_strndup
      Src: /src/mosquitto/src/proxy_v2.c:116,1
    - Dst: mosquitto_strndup
      Src: /src/mosquitto/src/proxy_v2.c:120,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/src/proxy_v2.c:125,1
    - Dst: mosquitto_strndup
      Src: /src/mosquitto/src/proxy_v2.c:126,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 3
    argNames:
    - context
    - len
    - have_certificate
    argTypes:
    - struct mosquitto*
    - uint16_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 139
    functionName: read_tlv_ssl
    functionSourceFile: /src/mosquitto/src/proxy_v2.c
    functionUses: 0
    functionsReached:
    - ntohl
    - mosquitto_strndup
    - mosquitto_free
    linkageType: ''
    returnType: int
    signature: int read_tlv_ssl(struct mosquitto *context, uint16_t len, bool *have_certificate)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read_tlv_ssl
      Src: /src/mosquitto/src/proxy_v2.c:156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - context
    - have_certificate
    argTypes:
    - struct mosquitto*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 169
    functionName: read_tlv
    functionSourceFile: /src/mosquitto/src/proxy_v2.c
    functionUses: 0
    functionsReached:
    - read_tlv_ssl
    linkageType: ''
    returnType: int
    signature: int read_tlv(struct mosquitto *context, bool *have_certificate)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: net__read
      Src: /src/mosquitto/src/proxy_v2.c:178,1
    - Dst: memcmp
      Src: /src/mosquitto/src/proxy_v2.c:181,1
    - Dst: ntohs
      Src: /src/mosquitto/src/proxy_v2.c:200,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/proxy_v2.c:220,1
    - Dst: net__read
      Src: /src/mosquitto/src/proxy_v2.c:232,1
    - Dst: proxy_cleanup
      Src: /src/mosquitto/src/proxy_v2.c:236,1
    - Dst: inet_ntop
      Src: /src/mosquitto/src/proxy_v2.c:245,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/proxy_v2.c:246,1
    - Dst: ntohs
      Src: /src/mosquitto/src/proxy_v2.c:247,1
    - Dst: inet_ntop
      Src: /src/mosquitto/src/proxy_v2.c:253,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/proxy_v2.c:254,1
    - Dst: ntohs
      Src: /src/mosquitto/src/proxy_v2.c:255,1
    - Dst: mosquitto_strndup
      Src: /src/mosquitto/src/proxy_v2.c:259,1
    - Dst: strlen
      Src: /src/mosquitto/src/proxy_v2.c:261,1
    - Dst: proxy_cleanup
      Src: /src/mosquitto/src/proxy_v2.c:267,1
    - Dst: proxy_cleanup
      Src: /src/mosquitto/src/proxy_v2.c:271,1
    - Dst: read_tlv
      Src: /src/mosquitto/src/proxy_v2.c:277,1
    - Dst: log__printf
      Src: /src/mosquitto/src/proxy_v2.c:279,1
    - Dst: proxy_cleanup
      Src: /src/mosquitto/src/proxy_v2.c:281,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/proxy_v2.c:284,1
    - Dst: log__printf
      Src: /src/mosquitto/src/proxy_v2.c:287,1
    - Dst: proxy_cleanup
      Src: /src/mosquitto/src/proxy_v2.c:289,1
    - Dst: log__printf
      Src: /src/mosquitto/src/proxy_v2.c:295,1
    - Dst: proxy_cleanup
      Src: /src/mosquitto/src/proxy_v2.c:297,1
    - Dst: log__printf
      Src: /src/mosquitto/src/proxy_v2.c:303,1
    - Dst: proxy_cleanup
      Src: /src/mosquitto/src/proxy_v2.c:306,1
    - Dst: http__context_init
      Src: /src/mosquitto/src/proxy_v2.c:310,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 114
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 319
    functionName: proxy_v2__read
    functionSourceFile: /src/mosquitto/src/proxy_v2.c
    functionUses: 1
    functionsReached:
    - mosquitto_strdup
    - mosquitto_FREE
    - net__read
    - mosquitto_calloc
    - inet_ntop
    - strlen
    - http__context_init
    - log__printf
    - memcmp
    - mosquitto_strndup
    - proxy_cleanup
    - ntohs
    - read_tlv
    linkageType: ''
    returnType: int
    signature: int proxy_v2__read(struct mosquitto *context)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/security_default.c:39,1
    - Dst: log__printf
      Src: /src/mosquitto/src/security_default.c:41,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/security_default.c:44,1
    - Dst: config__plugin_add_secopt
      Src: /src/mosquitto/src/security_default.c:46,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/security_default.c:49,1
    - Dst: log__printf
      Src: /src/mosquitto/src/security_default.c:51,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/security_default.c:54,1
    - Dst: config__plugin_add_secopt
      Src: /src/mosquitto/src/security_default.c:55,1
    - Dst: broker_password_file__init
      Src: /src/mosquitto/src/security_default.c:58,1
    - Dst: broker_acl_file__init
      Src: /src/mosquitto/src/security_default.c:63,1
    - Dst: psk_file__init
      Src: /src/mosquitto/src/security_default.c:68,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 74
    functionName: mosquitto_security_init_default
    functionSourceFile: /src/mosquitto/src/security_default.c
    functionUses: 1
    functionsReached:
    - mosquitto_strdup
    - broker_acl_file__init
    - psk_file__init
    - broker_password_file__init
    - mosquitto_calloc
    - config__plugin_add_secopt
    - log__printf
    linkageType: ''
    returnType: int
    signature: int mosquitto_security_init_default(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: broker_password_file__cleanup
      Src: /src/mosquitto/src/security_default.c:81,1
    - Dst: broker_acl_file__cleanup
      Src: /src/mosquitto/src/security_default.c:82,1
    - Dst: psk_file__cleanup
      Src: /src/mosquitto/src/security_default.c:84,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/security_default.c:92,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/security_default.c:93,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/security_default.c:94,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/security_default.c:99,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/security_default.c:100,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/security_default.c:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 77
    functionDepth: 4
    functionLinenumber: 77
    functionLinenumberEnd: 105
    functionName: mosquitto_security_cleanup_default
    functionSourceFile: /src/mosquitto/src/security_default.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - broker_acl_file__cleanup
    - psk_file__cleanup
    - broker_password_file__cleanup
    linkageType: ''
    returnType: int
    signature: int mosquitto_security_cleanup_default(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: send__disconnect
      Src: /src/mosquitto/src/security_default.c:114,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/src/security_default.c:116,1
    - Dst: do_disconnect
      Src: /src/mosquitto/src/security_default.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: security__disconnect_auth
    functionSourceFile: /src/mosquitto/src/security_default.c
    functionUses: 0
    functionsReached:
    - mosquitto__set_state
    - do_disconnect
    - send__disconnect
    linkageType: ''
    returnType: void
    signature: void security__disconnect_auth(struct mosquitto *context)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: net__tls_server_ctx
      Src: /src/mosquitto/src/security_default.c:147,1
    - Dst: net__tls_load_verify
      Src: /src/mosquitto/src/security_default.c:151,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/security_default.c:158,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/src/security_default.c:176,1
    - Dst: do_disconnect
      Src: /src/mosquitto/src/security_default.c:177,1
    - Dst: send__disconnect
      Src: /src/mosquitto/src/security_default.c:187,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/src/security_default.c:189,1
    - Dst: do_disconnect
      Src: /src/mosquitto/src/security_default.c:190,1
    - Dst: security__disconnect_auth
      Src: /src/mosquitto/src/security_default.c:197,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/security_default.c:204,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/security_default.c:205,1
    - Dst: SSL_get_peer_certificate
      Src: /src/mosquitto/src/security_default.c:207,1
    - Dst: security__disconnect_auth
      Src: /src/mosquitto/src/security_default.c:209,1
    - Dst: X509_get_subject_name
      Src: /src/mosquitto/src/security_default.c:212,1
    - Dst: X509_free
      Src: /src/mosquitto/src/security_default.c:214,1
    - Dst: security__disconnect_auth
      Src: /src/mosquitto/src/security_default.c:215,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/mosquitto/src/security_default.c:219,1
    - Dst: X509_free
      Src: /src/mosquitto/src/security_default.c:221,1
    - Dst: security__disconnect_auth
      Src: /src/mosquitto/src/security_default.c:222,1
    - Dst: X509_NAME_get_entry
      Src: /src/mosquitto/src/security_default.c:225,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/mosquitto/src/security_default.c:227,1
    - Dst: X509_free
      Src: /src/mosquitto/src/security_default.c:229,1
    - Dst: security__disconnect_auth
      Src: /src/mosquitto/src/security_default.c:230,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/mosquitto/src/security_default.c:233,1
    - Dst: X509_free
      Src: /src/mosquitto/src/security_default.c:235,1
    - Dst: security__disconnect_auth
      Src: /src/mosquitto/src/security_default.c:236,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/security_default.c:239,1
    - Dst: X509_free
      Src: /src/mosquitto/src/security_default.c:241,1
    - Dst: security__disconnect_auth
      Src: /src/mosquitto/src/security_default.c:242,1
    - Dst: ASN1_STRING_length
      Src: /src/mosquitto/src/security_default.c:246,1
    - Dst: strlen
      Src: /src/mosquitto/src/security_default.c:246,1
    - Dst: X509_free
      Src: /src/mosquitto/src/security_default.c:247,1
    - Dst: security__disconnect_auth
      Src: /src/mosquitto/src/security_default.c:248,1
    - Dst: BIO_new
      Src: /src/mosquitto/src/security_default.c:253,1
    - Dst: BIO_s_mem
      Src: /src/mosquitto/src/security_default.c:253,1
    - Dst: X509_NAME_print_ex
      Src: /src/mosquitto/src/security_default.c:254,1
    - Dst: X509_get_subject_name
      Src: /src/mosquitto/src/security_default.c:254,1
    - Dst: BIO_get_mem_data
      Src: /src/mosquitto/src/security_default.c:256,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/security_default.c:257,1
    - Dst: BIO_free
      Src: /src/mosquitto/src/security_default.c:259,1
    - Dst: X509_free
      Src: /src/mosquitto/src/security_default.c:260,1
    - Dst: security__disconnect_auth
      Src: /src/mosquitto/src/security_default.c:261,1
    - Dst: memcpy
      Src: /src/mosquitto/src/security_default.c:264,1
    - Dst: BIO_free
      Src: /src/mosquitto/src/security_default.c:266,1
    - Dst: X509_free
      Src: /src/mosquitto/src/security_default.c:270,1
    - Dst: security__disconnect_auth
      Src: /src/mosquitto/src/security_default.c:271,1
    - Dst: X509_free
      Src: /src/mosquitto/src/security_default.c:274,1
    - Dst: mosquitto_basic_auth
      Src: /src/mosquitto/src/security_default.c:280,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/src/security_default.c:281,1
    - Dst: do_disconnect
      Src: /src/mosquitto/src/security_default.c:282,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 121
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 289
    functionName: mosquitto_security_apply_default
    functionSourceFile: /src/mosquitto/src/security_default.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - X509_NAME_get_index_by_NID
    - BIO_get_mem_data
    - BIO_s_mem
    - HASH_ITER
    - mosquitto_basic_auth
    - BIO_new
    - ASN1_STRING_get0_data
    - X509_NAME_get_entry
    - ASN1_STRING_length
    - X509_NAME_ENTRY_get_data
    - memcpy
    - X509_get_subject_name
    - mosquitto_strdup
    - do_disconnect
    - BIO_free
    - mosquitto_malloc
    - SSL_get_peer_certificate
    - strlen
    - X509_free
    - X509_NAME_print_ex
    - net__tls_server_ctx
    - mosquitto__set_state
    - security__disconnect_auth
    - send__disconnect
    - net__tls_load_verify
    linkageType: ''
    returnType: int
    signature: int mosquitto_security_apply_default(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/plugin_subscribe.c:32,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_subscribe.c:39,1
    - Dst: struct mosquitto__callback*::cb
      Src: /src/mosquitto/src/plugin_subscribe.c:40,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/src/plugin_subscribe.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - opts
    - context
    - sub
    argTypes:
    - struct mosquitto__security_options*
    - struct mosquitto*
    - struct mosquitto_subscription*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 53
    functionName: plugin__handle_subscribe_single
    functionSourceFile: /src/mosquitto/src/plugin_subscribe.c
    functionUses: 0
    functionsReached:
    - struct mosquitto__callback*::cb
    - mosquitto_free
    - DL_FOREACH_SAFE
    - memset
    linkageType: ''
    returnType: int
    signature: int plugin__handle_subscribe_single(struct mosquitto__security_options
      *opts, struct mosquitto *context, struct mosquitto_subscription *sub)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: plugin__handle_subscribe_single
      Src: /src/mosquitto/src/plugin_subscribe.c:61,1
    - Dst: plugin__handle_subscribe_single
      Src: /src/mosquitto/src/plugin_subscribe.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - context
    - sub
    argTypes:
    - struct mosquitto*
    - struct mosquitto_subscription*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 71
    functionName: plugin__handle_subscribe
    functionSourceFile: /src/mosquitto/src/plugin_subscribe.c
    functionUses: 0
    functionsReached:
    - plugin__handle_subscribe_single
    linkageType: ''
    returnType: int
    signature: int plugin__handle_subscribe(struct mosquitto *context, struct mosquitto_subscription
      *sub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mux_epoll__init
      Src: /src/mosquitto/src/mux.c:26,1
    - Dst: mux_kqueue__init
      Src: /src/mosquitto/src/mux.c:28,1
    - Dst: mux_poll__init
      Src: /src/mosquitto/src/mux.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: mux__init
    functionSourceFile: /src/mosquitto/src/mux.c
    functionUses: 1
    functionsReached:
    - mux_poll__init
    - mux_kqueue__init
    - mux_epoll__init
    linkageType: ''
    returnType: int
    signature: int mux__init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mux_epoll__add_listeners
      Src: /src/mosquitto/src/mux.c:38,1
    - Dst: mux_kqueue__add_listeners
      Src: /src/mosquitto/src/mux.c:40,1
    - Dst: mux_poll__add_listeners
      Src: /src/mosquitto/src/mux.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - listensock
    - listensock_count
    argTypes:
    - struct mosquitto__listener_sock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: mux__add_listeners
    functionSourceFile: /src/mosquitto/src/mux.c
    functionUses: 1
    functionsReached:
    - mux_poll__add_listeners
    - mux_epoll__add_listeners
    - mux_kqueue__add_listeners
    linkageType: ''
    returnType: int
    signature: int mux__add_listeners(struct mosquitto__listener_sock *listensock,
      int listensock_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mux_epoll__delete_listeners
      Src: /src/mosquitto/src/mux.c:50,1
    - Dst: mux_kqueue__delete_listeners
      Src: /src/mosquitto/src/mux.c:52,1
    - Dst: mux_poll__delete_listeners
      Src: /src/mosquitto/src/mux.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - listensock
    - listensock_count
    argTypes:
    - struct mosquitto__listener_sock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: mux__delete_listeners
    functionSourceFile: /src/mosquitto/src/mux.c
    functionUses: 1
    functionsReached:
    - mux_epoll__delete_listeners
    - mux_kqueue__delete_listeners
    - mux_poll__delete_listeners
    linkageType: ''
    returnType: int
    signature: int mux__delete_listeners(struct mosquitto__listener_sock *listensock,
      int listensock_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mux_epoll__add_out
      Src: /src/mosquitto/src/mux.c:62,1
    - Dst: mux_kqueue__add_out
      Src: /src/mosquitto/src/mux.c:64,1
    - Dst: mux_poll__add_out
      Src: /src/mosquitto/src/mux.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: mux__add_out
    functionSourceFile: /src/mosquitto/src/mux.c
    functionUses: 5
    functionsReached:
    - mux_kqueue__add_out
    - mux_poll__add_out
    - mux_epoll__add_out
    linkageType: ''
    returnType: int
    signature: int mux__add_out(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mux_epoll__remove_out
      Src: /src/mosquitto/src/mux.c:74,1
    - Dst: mux_kqueue__remove_out
      Src: /src/mosquitto/src/mux.c:76,1
    - Dst: mux_poll__remove_out
      Src: /src/mosquitto/src/mux.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: mux__remove_out
    functionSourceFile: /src/mosquitto/src/mux.c
    functionUses: 1
    functionsReached:
    - mux_poll__remove_out
    - mux_kqueue__remove_out
    - mux_epoll__remove_out
    linkageType: ''
    returnType: int
    signature: int mux__remove_out(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mux_epoll__new
      Src: /src/mosquitto/src/mux.c:86,1
    - Dst: mux_kqueue__new
      Src: /src/mosquitto/src/mux.c:88,1
    - Dst: mux_poll__new
      Src: /src/mosquitto/src/mux.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: mux__new
    functionSourceFile: /src/mosquitto/src/mux.c
    functionUses: 3
    functionsReached:
    - mux_poll__new
    - mux_kqueue__new
    - mux_epoll__new
    linkageType: ''
    returnType: int
    signature: int mux__new(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mux_epoll__delete
      Src: /src/mosquitto/src/mux.c:98,1
    - Dst: mux_kqueue__delete
      Src: /src/mosquitto/src/mux.c:100,1
    - Dst: mux_poll__delete
      Src: /src/mosquitto/src/mux.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: mux__delete
    functionSourceFile: /src/mosquitto/src/mux.c
    functionUses: 8
    functionsReached:
    - mux_epoll__delete
    - mux_poll__delete
    - mux_kqueue__delete
    linkageType: ''
    returnType: int
    signature: int mux__delete(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/src/mux.c:110,1
    - Dst: UNUSED
      Src: /src/mosquitto/src/mux.c:111,1
    - Dst: mux_epoll__handle
      Src: /src/mosquitto/src/mux.c:112,1
    - Dst: UNUSED
      Src: /src/mosquitto/src/mux.c:114,1
    - Dst: UNUSED
      Src: /src/mosquitto/src/mux.c:115,1
    - Dst: mux_kqueue__handle
      Src: /src/mosquitto/src/mux.c:116,1
    - Dst: mux_poll__handle
      Src: /src/mosquitto/src/mux.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - listensock
    - listensock_count
    argTypes:
    - struct mosquitto__listener_sock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: mux__handle
    functionSourceFile: /src/mosquitto/src/mux.c
    functionUses: 1
    functionsReached:
    - mux_kqueue__handle
    - mux_poll__handle
    - UNUSED
    - mux_epoll__handle
    linkageType: ''
    returnType: int
    signature: int mux__handle(struct mosquitto__listener_sock *listensock, int listensock_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mux_epoll__cleanup
      Src: /src/mosquitto/src/mux.c:126,1
    - Dst: mux_kqueue__cleanup
      Src: /src/mosquitto/src/mux.c:128,1
    - Dst: mux_poll__cleanup
      Src: /src/mosquitto/src/mux.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: mux__cleanup
    functionSourceFile: /src/mosquitto/src/mux.c
    functionUses: 1
    functionsReached:
    - mux_epoll__cleanup
    - mux_kqueue__cleanup
    - mux_poll__cleanup
    linkageType: ''
    returnType: int
    signature: int mux__cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: read_e
    functionSourceFile: /src/mosquitto/src/persist.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: read_e(f, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: write_e
    functionSourceFile: /src/mosquitto/src/persist.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: write_e(f, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: http__context_init
    functionSourceFile: /src/mosquitto/src/http_serv.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int http__context_init(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/src/http_serv.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: http__context_cleanup
    functionSourceFile: /src/mosquitto/src/http_serv.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int http__context_cleanup(struct mosquitto *context)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto__get_state
      Src: /src/mosquitto/src/http_serv.c:80,1
    - Dst: strlen
      Src: /src/mosquitto/src/http_serv.c:85,1
    - Dst: net__read
      Src: /src/mosquitto/src/http_serv.c:86,1
    - Dst: WSAGetLastError
      Src: /src/mosquitto/src/http_serv.c:92,1
    - Dst: phr_parse_request
      Src: /src/mosquitto/src/http_serv.c:109,1
    - Dst: strlen
      Src: /src/mosquitto/src/http_serv.c:109,1
    - Dst: strncmp
      Src: /src/mosquitto/src/http_serv.c:127,1
    - Dst: strncmp
      Src: /src/mosquitto/src/http_serv.c:127,1
    - Dst: strncasecmp
      Src: /src/mosquitto/src/http_serv.c:137,1
    - Dst: strncasecmp
      Src: /src/mosquitto/src/http_serv.c:138,1
    - Dst: strncasecmp
      Src: /src/mosquitto/src/http_serv.c:141,1
    - Dst: strncasecmp
      Src: /src/mosquitto/src/http_serv.c:148,1
    - Dst: strncasecmp
      Src: /src/mosquitto/src/http_serv.c:158,1
    - Dst: strncasecmp
      Src: /src/mosquitto/src/http_serv.c:161,1
    - Dst: strncasecmp
      Src: /src/mosquitto/src/http_serv.c:164,1
    - Dst: strncasecmp
      Src: /src/mosquitto/src/http_serv.c:174,1
    - Dst: strncmp
      Src: /src/mosquitto/src/http_serv.c:176,1
    - Dst: strncmp
      Src: /src/mosquitto/src/http_serv.c:177,1
    - Dst: strncasecmp
      Src: /src/mosquitto/src/http_serv.c:182,1
    - Dst: strncasecmp
      Src: /src/mosquitto/src/http_serv.c:194,1
    - Dst: strncmp
      Src: /src/mosquitto/src/http_serv.c:198,1
    - Dst: ws__create_accept_key
      Src: /src/mosquitto/src/http_serv.c:224,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/http_serv.c:228,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/src/http_serv.c:230,1
    - Dst: snprintf
      Src: /src/mosquitto/src/http_serv.c:233,1
    - Dst: SAFE_FREE
      Src: /src/mosquitto/src/http_serv.c:240,1
    - Dst: memset
      Src: /src/mosquitto/src/http_serv.c:243,1
    - Dst: packet__queue
      Src: /src/mosquitto/src/http_serv.c:244,1
    - Dst: http__context_cleanup
      Src: /src/mosquitto/src/http_serv.c:245,1
    - Dst: ws__context_init
      Src: /src/mosquitto/src/http_serv.c:246,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 126
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 248
    functionName: http__read
    functionSourceFile: /src/mosquitto/src/http_serv.c
    functionUses: 1
    functionsReached:
    - strncmp
    - ws__create_accept_key
    - net__read
    - packet__queue
    - mosquitto_calloc
    - http__context_cleanup
    - mosquitto__get_state
    - WSAGetLastError
    - snprintf
    - phr_parse_request
    - strlen
    - ws__context_init
    - memset
    - strncasecmp
    - SAFE_FREE
    linkageType: ''
    returnType: int
    signature: int http__read(struct mosquitto *mosq)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_copy_all
      Src: /src/mosquitto/src/send_connack.c:36,1
    - Dst: log__printf
      Src: /src/mosquitto/src/send_connack.c:42,1
    - Dst: log__printf
      Src: /src/mosquitto/src/send_connack.c:44,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/src/send_connack.c:51,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/send_connack.c:53,1
    - Dst: mosquitto_property_add_int32
      Src: /src/mosquitto/src/send_connack.c:58,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/send_connack.c:60,1
    - Dst: mosquitto_property_add_int16
      Src: /src/mosquitto/src/send_connack.c:65,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/send_connack.c:67,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/src/send_connack.c:72,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/send_connack.c:74,1
    - Dst: mosquitto_property_get_remaining_length
      Src: /src/mosquitto/src/send_connack.c:79,1
    - Dst: packet__check_oversize
      Src: /src/mosquitto/src/send_connack.c:82,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/send_connack.c:83,1
    - Dst: packet__alloc
      Src: /src/mosquitto/src/send_connack.c:87,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/send_connack.c:89,1
    - Dst: packet__write_byte
      Src: /src/mosquitto/src/send_connack.c:92,1
    - Dst: packet__write_byte
      Src: /src/mosquitto/src/send_connack.c:93,1
    - Dst: property__write_all
      Src: /src/mosquitto/src/send_connack.c:95,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/send_connack.c:97,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/src/send_connack.c:99,1
    - Dst: packet__queue
      Src: /src/mosquitto/src/send_connack.c:100,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 4
    argNames:
    - context
    - ack
    - reason_code
    - properties
    argTypes:
    - struct mosquitto*
    - uint8_t
    - uint8_t
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 101
    functionName: send__connack
    functionSourceFile: /src/mosquitto/src/send_connack.c
    functionUses: 12
    functionsReached:
    - packet__write_byte
    - mosquitto_property_add_int16
    - packet__queue
    - mosquitto_property_get_remaining_length
    - mosquitto_property_add_byte
    - property__write_all
    - metrics__int_inc
    - packet__check_oversize
    - mosquitto_property_add_int32
    - packet__alloc
    - log__printf
    - mosquitto_property_copy_all
    - mosquitto_property_free_all
    linkageType: ''
    returnType: int
    signature: int send__connack(struct mosquitto *context, uint8_t ack, uint8_t reason_code,
      const mosquitto_property *properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/mux_kqueue.c:40,1
    - Dst: kqueue
      Src: /src/mosquitto/src/mux_kqueue.c:43,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mux_kqueue.c:44,1
    - Dst: strerror
      Src: /src/mosquitto/src/mux_kqueue.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: mux_kqueue__init
    functionSourceFile: /src/mosquitto/src/mux_kqueue.c
    functionUses: 1
    functionsReached:
    - log__printf
    - kqueue
    - strerror
    - memset
    linkageType: ''
    returnType: int
    signature: int mux_kqueue__init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/mux_kqueue.c:56,1
    - Dst: EV_SET
      Src: /src/mosquitto/src/mux_kqueue.c:59,1
    - Dst: kevent
      Src: /src/mosquitto/src/mux_kqueue.c:60,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mux_kqueue.c:61,1
    - Dst: strerror
      Src: /src/mosquitto/src/mux_kqueue.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - listensock
    - listensock_count
    argTypes:
    - struct mosquitto__listener_sock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 67
    functionName: mux_kqueue__add_listeners
    functionSourceFile: /src/mosquitto/src/mux_kqueue.c
    functionUses: 1
    functionsReached:
    - EV_SET
    - strerror
    - memset
    - log__printf
    - kevent
    linkageType: ''
    returnType: int
    signature: int mux_kqueue__add_listeners(struct mosquitto__listener_sock *listensock,
      int listensock_count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EV_SET
      Src: /src/mosquitto/src/mux_kqueue.c:75,1
    - Dst: kevent
      Src: /src/mosquitto/src/mux_kqueue.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - listensock
    - listensock_count
    argTypes:
    - struct mosquitto__listener_sock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: mux_kqueue__delete_listeners
    functionSourceFile: /src/mosquitto/src/mux_kqueue.c
    functionUses: 1
    functionsReached:
    - kevent
    - EV_SET
    linkageType: ''
    returnType: int
    signature: int mux_kqueue__delete_listeners(struct mosquitto__listener_sock *listensock,
      int listensock_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: mux_kqueue__loop_setup
    functionSourceFile: /src/mosquitto/src/mux_kqueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mux_kqueue__loop_setup(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EV_SET
      Src: /src/mosquitto/src/mux_kqueue.c:96,1
    - Dst: kevent
      Src: /src/mosquitto/src/mux_kqueue.c:97,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mux_kqueue.c:98,1
    - Dst: strerror
      Src: /src/mosquitto/src/mux_kqueue.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: mux_kqueue__add_out
    functionSourceFile: /src/mosquitto/src/mux_kqueue.c
    functionUses: 1
    functionsReached:
    - log__printf
    - kevent
    - strerror
    - EV_SET
    linkageType: ''
    returnType: int
    signature: int mux_kqueue__add_out(struct mosquitto *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EV_SET
      Src: /src/mosquitto/src/mux_kqueue.c:112,1
    - Dst: kevent
      Src: /src/mosquitto/src/mux_kqueue.c:113,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mux_kqueue.c:114,1
    - Dst: strerror
      Src: /src/mosquitto/src/mux_kqueue.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: mux_kqueue__remove_out
    functionSourceFile: /src/mosquitto/src/mux_kqueue.c
    functionUses: 1
    functionsReached:
    - log__printf
    - kevent
    - strerror
    - EV_SET
    linkageType: ''
    returnType: int
    signature: int mux_kqueue__remove_out(struct mosquitto *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EV_SET
      Src: /src/mosquitto/src/mux_kqueue.c:127,1
    - Dst: kevent
      Src: /src/mosquitto/src/mux_kqueue.c:128,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mux_kqueue.c:129,1
    - Dst: strerror
      Src: /src/mosquitto/src/mux_kqueue.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 134
    functionName: mux_kqueue__new
    functionSourceFile: /src/mosquitto/src/mux_kqueue.c
    functionUses: 1
    functionsReached:
    - log__printf
    - kevent
    - strerror
    - EV_SET
    linkageType: ''
    returnType: int
    signature: int mux_kqueue__new(struct mosquitto *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EV_SET
      Src: /src/mosquitto/src/mux_kqueue.c:142,1
    - Dst: EV_SET
      Src: /src/mosquitto/src/mux_kqueue.c:143,1
    - Dst: kevent
      Src: /src/mosquitto/src/mux_kqueue.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 149
    functionName: mux_kqueue__delete
    functionSourceFile: /src/mosquitto/src/mux_kqueue.c
    functionUses: 1
    functionsReached:
    - kevent
    - EV_SET
    linkageType: ''
    returnType: int
    signature: int mux_kqueue__delete(struct mosquitto *context)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/mux_kqueue.c:167,1
    - Dst: kevent
      Src: /src/mosquitto/src/mux_kqueue.c:168,1
    - Dst: mosquitto_time
      Src: /src/mosquitto/src/mux_kqueue.c:173,1
    - Dst: time
      Src: /src/mosquitto/src/mux_kqueue.c:174,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mux_kqueue.c:179,1
    - Dst: strerror
      Src: /src/mosquitto/src/mux_kqueue.c:179,1
    - Dst: loop_handle_reads_writes
      Src: /src/mosquitto/src/mux_kqueue.c:188,1
    - Dst: net__socket_accept
      Src: /src/mosquitto/src/mux_kqueue.c:193,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 205
    functionName: mux_kqueue__handle
    functionSourceFile: /src/mosquitto/src/mux_kqueue.c
    functionUses: 1
    functionsReached:
    - mosquitto_time
    - loop_handle_reads_writes
    - memset
    - strerror
    - net__socket_accept
    - log__printf
    - kevent
    - time
    linkageType: ''
    returnType: int
    signature: int mux_kqueue__handle(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/mosquitto/src/mux_kqueue.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: mux_kqueue__cleanup
    functionSourceFile: /src/mosquitto/src/mux_kqueue.c
    functionUses: 1
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int mux_kqueue__cleanup(void)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: lws_service_fd
      Src: /src/mosquitto/src/mux_kqueue.c:232,1
    - Dst: lws_get_context
      Src: /src/mosquitto/src/mux_kqueue.c:232,1
    - Dst: getsockopt
      Src: /src/mosquitto/src/mux_kqueue.c:246,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/src/mux_kqueue.c:248,1
    - Dst: bridge__connect_step3
      Src: /src/mosquitto/src/mux_kqueue.c:251,1
    - Dst: do_disconnect
      Src: /src/mosquitto/src/mux_kqueue.c:256,1
    - Dst: packet__write
      Src: /src/mosquitto/src/mux_kqueue.c:260,1
    - Dst: do_disconnect
      Src: /src/mosquitto/src/mux_kqueue.c:262,1
    - Dst: packet__read
      Src: /src/mosquitto/src/mux_kqueue.c:277,1
    - Dst: http__read
      Src: /src/mosquitto/src/mux_kqueue.c:281,1
    - Dst: proxy_v2__read
      Src: /src/mosquitto/src/mux_kqueue.c:287,1
    - Dst: proxy_v1__read
      Src: /src/mosquitto/src/mux_kqueue.c:290,1
    - Dst: do_disconnect
      Src: /src/mosquitto/src/mux_kqueue.c:298,1
    - Dst: SSL_DATA_PENDING
      Src: /src/mosquitto/src/mux_kqueue.c:301,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 58
    argCount: 2
    argNames:
    - context
    - event
    argTypes:
    - struct mosquitto*
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 216
    functionDepth: 5
    functionLinenumber: 216
    functionLinenumberEnd: 303
    functionName: loop_handle_reads_writes
    functionSourceFile: /src/mosquitto/src/mux_kqueue.c
    functionUses: 2
    functionsReached:
    - proxy_v2__read
    - lws_service_fd
    - proxy_v1__read
    - do_disconnect
    - packet__read
    - bridge__connect_step3
    - getsockopt
    - packet__write
    - mosquitto__set_state
    - SSL_DATA_PENDING
    - lws_get_context
    - http__read
    linkageType: ''
    returnType: void
    signature: void loop_handle_reads_writes(struct mosquitto *context, short event)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/mosquitto/src/persist_read_v234.c:44,1
    - Dst: fread
      Src: /src/mosquitto/src/persist_read_v234.c:49,1
    - Dst: ntohs
      Src: /src/mosquitto/src/persist_read_v234.c:54,1
    - Dst: ntohl
      Src: /src/mosquitto/src/persist_read_v234.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - db_fptr
    - chunk
    - length
    argTypes:
    - FILE*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 58
    functionName: persist__chunk_header_read_v234
    functionSourceFile: /src/mosquitto/src/persist_read_v234.c
    functionUses: 1
    functionsReached:
    - ntohl
    - fread
    - ntohs
    linkageType: ''
    returnType: int
    signature: int persist__chunk_header_read_v234(FILE *db_fptr, uint32_t *chunk,
      uint32_t *length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read_v234.c:65,1
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read_v234.c:66,1
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read_v234.c:67,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_read_v234.c:71,1
    - Dst: strerror
      Src: /src/mosquitto/src/persist_read_v234.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - db_fptr
    - chunk
    argTypes:
    - FILE*
    - struct PF_cfg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: persist__chunk_cfg_read_v234
    functionSourceFile: /src/mosquitto/src/persist_read_v234.c
    functionUses: 1
    functionsReached:
    - log__printf
    - read_e
    - strerror
    linkageType: ''
    returnType: int
    signature: int persist__chunk_cfg_read_v234(FILE *db_fptr, struct PF_cfg *chunk)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: persist__read_string
      Src: /src/mosquitto/src/persist_read_v234.c:82,1
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read_v234.c:87,1
    - Dst: ntohs
      Src: /src/mosquitto/src/persist_read_v234.c:88,1
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read_v234.c:90,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_read_v234.c:95,1
    - Dst: strerror
      Src: /src/mosquitto/src/persist_read_v234.c:95,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read_v234.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - db_fptr
    - chunk
    - db_version
    argTypes:
    - FILE*
    - struct P_client*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 98
    functionName: persist__chunk_client_read_v234
    functionSourceFile: /src/mosquitto/src/persist_read_v234.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - read_e
    - strerror
    - log__printf
    - persist__read_string
    - ntohs
    linkageType: ''
    returnType: int
    signature: int persist__chunk_client_read_v234(FILE *db_fptr, struct P_client
      *chunk, uint32_t db_version)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: persist__read_string
      Src: /src/mosquitto/src/persist_read_v234.c:107,1
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read_v234.c:112,1
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read_v234.c:114,1
    - Dst: ntohs
      Src: /src/mosquitto/src/persist_read_v234.c:115,1
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read_v234.c:117,1
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read_v234.c:118,1
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read_v234.c:119,1
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read_v234.c:120,1
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read_v234.c:121,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_read_v234.c:127,1
    - Dst: strerror
      Src: /src/mosquitto/src/persist_read_v234.c:127,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read_v234.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - db_fptr
    - chunk
    argTypes:
    - FILE*
    - struct P_client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 130
    functionName: persist__chunk_client_msg_read_v234
    functionSourceFile: /src/mosquitto/src/persist_read_v234.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - read_e
    - strerror
    - log__printf
    - persist__read_string
    - ntohs
    linkageType: ''
    returnType: int
    signature: int persist__chunk_client_msg_read_v234(FILE *db_fptr, struct P_client_msg
      *chunk)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read_v234.c:139,1
    - Dst: persist__read_string
      Src: /src/mosquitto/src/persist_read_v234.c:141,1
    - Dst: persist__read_string
      Src: /src/mosquitto/src/persist_read_v234.c:147,1
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read_v234.c:151,1
    - Dst: ntohs
      Src: /src/mosquitto/src/persist_read_v234.c:152,1
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read_v234.c:155,1
    - Dst: ntohs
      Src: /src/mosquitto/src/persist_read_v234.c:156,1
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read_v234.c:159,1
    - Dst: persist__read_string
      Src: /src/mosquitto/src/persist_read_v234.c:161,1
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read_v234.c:166,1
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read_v234.c:167,1
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read_v234.c:169,1
    - Dst: ntohl
      Src: /src/mosquitto/src/persist_read_v234.c:170,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/persist_read_v234.c:177,1
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read_v234.c:182,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read_v234.c:189,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read_v234.c:190,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read_v234.c:191,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read_v234.c:192,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 3
    argNames:
    - db_fptr
    - chunk
    - db_version
    argTypes:
    - FILE*
    - struct P_base_msg*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 194
    functionName: persist__chunk_base_msg_read_v234
    functionSourceFile: /src/mosquitto/src/persist_read_v234.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - ntohl
    - mosquitto_malloc
    - read_e
    - persist__read_string
    - ntohs
    linkageType: ''
    returnType: int
    signature: int persist__chunk_base_msg_read_v234(FILE *db_fptr, struct P_base_msg
      *chunk, uint32_t db_version)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/mosquitto/src/persist_read_v234.c:201,1
    - Dst: log__printf
      Src: /src/mosquitto/src/persist_read_v234.c:202,1
    - Dst: strerror
      Src: /src/mosquitto/src/persist_read_v234.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - db_fptr
    - chunk
    argTypes:
    - FILE*
    - struct P_retain*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 208
    functionName: persist__chunk_retain_read_v234
    functionSourceFile: /src/mosquitto/src/persist_read_v234.c
    functionUses: 1
    functionsReached:
    - log__printf
    - fread
    - strerror
    linkageType: ''
    returnType: int
    signature: int persist__chunk_retain_read_v234(FILE *db_fptr, struct P_retain
      *chunk)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: persist__read_string
      Src: /src/mosquitto/src/persist_read_v234.c:215,1
    - Dst: persist__read_string
      Src: /src/mosquitto/src/persist_read_v234.c:220,1
    - Dst: read_e
      Src: /src/mosquitto/src/persist_read_v234.c:225,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read_v234.c:229,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/persist_read_v234.c:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - db_fptr
    - chunk
    argTypes:
    - FILE*
    - struct P_sub*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 232
    functionName: persist__chunk_sub_read_v234
    functionSourceFile: /src/mosquitto/src/persist_read_v234.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - persist__read_string
    - read_e
    linkageType: ''
    returnType: int
    signature: int persist__chunk_sub_read_v234(FILE *db_fptr, struct P_sub *chunk)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_subscribe.c:58,1
    - Dst: packet__read_uint16
      Src: /src/mosquitto/src/handle_subscribe.c:65,1
    - Dst: property__read_all
      Src: /src/mosquitto/src/handle_subscribe.c:73,1
    - Dst: mosquitto_property_read_varint
      Src: /src/mosquitto/src/handle_subscribe.c:85,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/handle_subscribe.c:90,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/handle_subscribe.c:95,1
    - Dst: memset
      Src: /src/mosquitto/src/handle_subscribe.c:100,1
    - Dst: packet__read_string
      Src: /src/mosquitto/src/handle_subscribe.c:103,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:104,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_subscribe.c:110,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:113,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:114,1
    - Dst: mosquitto_sub_topic_check
      Src: /src/mosquitto/src/handle_subscribe.c:117,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_subscribe.c:118,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:121,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:122,1
    - Dst: packet__read_byte
      Src: /src/mosquitto/src/handle_subscribe.c:126,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:127,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:128,1
    - Dst: strncmp
      Src: /src/mosquitto/src/handle_subscribe.c:131,1
    - Dst: strlen
      Src: /src/mosquitto/src/handle_subscribe.c:131,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:132,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:133,1
    - Dst: MQTT_SUB_OPT_GET_NO_LOCAL
      Src: /src/mosquitto/src/handle_subscribe.c:147,1
    - Dst: strncmp
      Src: /src/mosquitto/src/handle_subscribe.c:147,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:148,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:149,1
    - Dst: MQTT_SUB_OPT_GET_RETAIN_HANDLING
      Src: /src/mosquitto/src/handle_subscribe.c:152,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:154,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:155,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_subscribe.c:160,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:163,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:164,1
    - Dst: strlen
      Src: /src/mosquitto/src/handle_subscribe.c:174,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/src/handle_subscribe.c:175,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:177,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:178,1
    - Dst: snprintf
      Src: /src/mosquitto/src/handle_subscribe.c:181,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:184,1
    - Dst: mosquitto_acl_check
      Src: /src/mosquitto/src/handle_subscribe.c:190,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:203,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:204,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_subscribe.c:208,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_subscribe.c:210,1
    - Dst: plugin__handle_subscribe
      Src: /src/mosquitto/src/handle_subscribe.c:214,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:216,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:217,1
    - Dst: sub__add
      Src: /src/mosquitto/src/handle_subscribe.c:221,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:223,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:224,1
    - Dst: retain__queue
      Src: /src/mosquitto/src/handle_subscribe.c:229,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:230,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:231,1
    - Dst: retain__queue
      Src: /src/mosquitto/src/handle_subscribe.c:239,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:240,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:241,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_subscribe.c:246,1
    - Dst: plugin_persist__handle_subscription_add
      Src: /src/mosquitto/src/handle_subscribe.c:248,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:250,1
    - Dst: mosquitto_realloc
      Src: /src/mosquitto/src/handle_subscribe.c:252,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:258,1
    - Dst: fprintf
      Src: /src/mosquitto/src/handle_subscribe.c:268,1
    - Dst: send__suback
      Src: /src/mosquitto/src/handle_subscribe.c:272,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/handle_subscribe.c:275,1
    - Dst: db__message_write_queued_out
      Src: /src/mosquitto/src/handle_subscribe.c:282,1
    - Dst: db__message_write_inflight_out_latest
      Src: /src/mosquitto/src/handle_subscribe.c:286,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 205
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 30
    functionDepth: 8
    functionLinenumber: 30
    functionLinenumberEnd: 293
    functionName: handle__subscribe
    functionSourceFile: /src/mosquitto/src/handle_subscribe.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - property__read_all
    - packet__read_uint16
    - log__printf
    - mosquitto_property_free_all
    - sub__add
    - send__suback
    - mosquitto_sub_topic_check
    - mosquitto_acl_check
    - strncmp
    - packet__read_string
    - fprintf
    - mosquitto_malloc
    - plugin_persist__handle_subscription_add
    - strlen
    - mosquitto_property_read_varint
    - retain__queue
    - db__message_write_inflight_out_latest
    - snprintf
    - db__message_write_queued_out
    - MQTT_SUB_OPT_GET_NO_LOCAL
    - memset
    - mosquitto_realloc
    - packet__read_byte
    - MQTT_SUB_OPT_GET_RETAIN_HANDLING
    - plugin__handle_subscribe
    linkageType: ''
    returnType: int
    signature: int handle__subscribe(struct mosquitto *context)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: property__read_all
      Src: /src/mosquitto/src/handle_connack.c:42,1
    - Dst: mosquitto_property_read_byte
      Src: /src/mosquitto/src/handle_connack.c:48,1
    - Dst: mosquitto_property_read_int32
      Src: /src/mosquitto/src/handle_connack.c:55,1
    - Dst: mosquitto_property_read_int16
      Src: /src/mosquitto/src/handle_connack.c:65,1
    - Dst: db__message_reconnect_reset
      Src: /src/mosquitto/src/handle_connack.c:68,1
    - Dst: mosquitto_property_read_byte
      Src: /src/mosquitto/src/handle_connack.c:72,1
    - Dst: mosquitto_property_read_int16
      Src: /src/mosquitto/src/handle_connack.c:82,1
    - Dst: mosquitto_property_read_int16
      Src: /src/mosquitto/src/handle_connack.c:89,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/src/handle_connack.c:99,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 31
    functionDepth: 8
    functionLinenumber: 31
    functionLinenumberEnd: 102
    functionName: handle__connack_properties
    functionSourceFile: /src/mosquitto/src/handle_connack.c
    functionUses: 0
    functionsReached:
    - db__message_reconnect_reset
    - mosquitto_property_read_byte
    - property__read_all
    - mosquitto_property_read_int16
    - mosquitto_property_read_int32
    - mosquitto_property_free_all
    linkageType: ''
    returnType: int
    signature: int handle__connack_properties(struct mosquitto *context)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_connack.c:120,1
    - Dst: packet__read_byte
      Src: /src/mosquitto/src/handle_connack.c:121,1
    - Dst: packet__read_byte
      Src: /src/mosquitto/src/handle_connack.c:124,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_connack.c:133,1
    - Dst: handle__connack_properties
      Src: /src/mosquitto/src/handle_connack.c:142,1
    - Dst: bridge__on_connect
      Src: /src/mosquitto/src/handle_connack.c:151,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/src/handle_connack.c:157,1
    - Dst: db__message_write_queued_out
      Src: /src/mosquitto/src/handle_connack.c:158,1
    - Dst: db__message_write_inflight_out_all
      Src: /src/mosquitto/src/handle_connack.c:162,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_connack.c:169,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_connack.c:175,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_connack.c:178,1
    - Dst: mosquitto_reason_string
      Src: /src/mosquitto/src/handle_connack.c:178,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_connack.c:187,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_connack.c:190,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_connack.c:193,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_connack.c:196,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_connack.c:199,1
    - Dst: log__printf
      Src: /src/mosquitto/src/handle_connack.c:202,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 87
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 105
    functionDepth: 9
    functionLinenumber: 105
    functionLinenumberEnd: 208
    functionName: handle__connack
    functionSourceFile: /src/mosquitto/src/handle_connack.c
    functionUses: 1
    functionsReached:
    - db__message_write_inflight_out_all
    - bridge__on_connect
    - mosquitto__set_state
    - db__message_write_queued_out
    - mosquitto_reason_string
    - packet__read_byte
    - log__printf
    - handle__connack_properties
    linkageType: ''
    returnType: int
    signature: int handle__connack(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/mosquitto/src/net.c:80,1
    - Dst: net__init
      Src: /src/mosquitto/src/net.c:81,1
    - Dst: net__init_tls
      Src: /src/mosquitto/src/net.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: net__broker_init
    functionSourceFile: /src/mosquitto/src/net.c
    functionUses: 1
    functionsReached:
    - net__init_tls
    - socket
    - net__init
    linkageType: ''
    returnType: void
    signature: void net__broker_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/src/net.c:91,1
    - Dst: net__cleanup
      Src: /src/mosquitto/src/net.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: net__broker_cleanup
    functionSourceFile: /src/mosquitto/src/net.c
    functionUses: 1
    functionsReached:
    - net__cleanup
    - COMPAT_CLOSE
    linkageType: ''
    returnType: void
    signature: void net__broker_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatMessage
      Src: /src/mosquitto/src/net.c:103,1
    - Dst: WSAGetLastError
      Src: /src/mosquitto/src/net.c:104,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:106,1
    - Dst: LocalFree
      Src: /src/mosquitto/src/net.c:107,1
    - Dst: strerror
      Src: /src/mosquitto/src/net.c:109,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - log
    - format_str
    argTypes:
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 112
    functionName: net__print_error
    functionSourceFile: /src/mosquitto/src/net.c
    functionUses: 0
    functionsReached:
    - FormatMessage
    - LocalFree
    - WSAGetLastError
    - strerror
    - log__printf
    linkageType: ''
    returnType: void
    signature: void net__print_error(unsigned int log, const char *format_str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_CTX_get_ex_data
      Src: /src/mosquitto/src/net.c:287,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/mosquitto/src/net.c:287,1
    - Dst: SSL_get_ex_data
      Src: /src/mosquitto/src/net.c:290,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/mosquitto/src/net.c:293,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - preverify_ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 301
    functionName: client_certificate_verify
    functionSourceFile: /src/mosquitto/src/net.c
    functionUses: 0
    functionsReached:
    - X509_STORE_CTX_get_error
    - X509_STORE_CTX_get_ex_data
    - SSL_get_ex_data
    - SSL_get_ex_data_X509_STORE_CTX_idx
    linkageType: ''
    returnType: int
    signature: int client_certificate_verify(int preverify_ok, X509_STORE_CTX *ctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/mosquitto/src/net.c:319,1
    - Dst: SSL_get_ex_data
      Src: /src/mosquitto/src/net.c:324,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/net.c:333,1
    - Dst: mosquitto_psk_key_get
      Src: /src/mosquitto/src/net.c:338,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/net.c:339,1
    - Dst: mosquitto__hex2bin
      Src: /src/mosquitto/src/net.c:343,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/net.c:345,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/src/net.c:350,1
    - Dst: strlen
      Src: /src/mosquitto/src/net.c:350,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/src/net.c:351,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/src/net.c:354,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/net.c:356,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/net.c:361,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 4
    argNames:
    - ssl
    - identity
    - psk
    - max_psk_len
    argTypes:
    - SSL*
    - char*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 363
    functionName: psk_server_callback
    functionSourceFile: /src/mosquitto/src/net.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - mosquitto_strdup
    - mosquitto_calloc
    - SSL_get_ex_data
    - strlen
    - mosquitto_free
    - mosquitto_validate_utf8
    - mosquitto__hex2bin
    - mosquitto_psk_key_get
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int psk_server_callback(SSL *ssl, const char *identity, unsigned
      char *psk, unsigned int max_psk_len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/src/net.c:371,1
    - Dst: mosquitto_fopen
      Src: /src/mosquitto/src/net.c:375,1
    - Dst: fstat
      Src: /src/mosquitto/src/net.c:382,1
    - Dst: fileno
      Src: /src/mosquitto/src/net.c:382,1
    - Dst: fclose
      Src: /src/mosquitto/src/net.c:385,1
    - Dst: fprintf
      Src: /src/mosquitto/src/net.c:389,1
    - Dst: fclose
      Src: /src/mosquitto/src/net.c:390,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:394,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:398,1
    - Dst: strerror
      Src: /src/mosquitto/src/net.c:398,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - ssl
    - line
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 402
    functionName: tls_keylog_callback
    functionSourceFile: /src/mosquitto/src/net.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fstat
    - fclose
    - mosquitto_fopen
    - fileno
    - strerror
    - log__printf
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void tls_keylog_callback(const SSL *ssl, const char *line)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_free
      Src: /src/mosquitto/src/net.c:411,1
    - Dst: SSL_CTX_new
      Src: /src/mosquitto/src/net.c:415,1
    - Dst: TLS_server_method
      Src: /src/mosquitto/src/net.c:415,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:418,1
    - Dst: SSL_CTX_set_options
      Src: /src/mosquitto/src/net.c:425,1
    - Dst: SSL_CTX_set_options
      Src: /src/mosquitto/src/net.c:429,1
    - Dst: SSL_CTX_set_options
      Src: /src/mosquitto/src/net.c:435,1
    - Dst: strcmp
      Src: /src/mosquitto/src/net.c:437,1
    - Dst: SSL_CTX_set_options
      Src: /src/mosquitto/src/net.c:438,1
    - Dst: strcmp
      Src: /src/mosquitto/src/net.c:440,1
    - Dst: SSL_CTX_set_options
      Src: /src/mosquitto/src/net.c:441,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:443,1
    - Dst: SSL_CTX_set_options
      Src: /src/mosquitto/src/net.c:449,1
    - Dst: SSL_CTX_set_options
      Src: /src/mosquitto/src/net.c:453,1
    - Dst: SSL_CTX_set_mode
      Src: /src/mosquitto/src/net.c:458,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/mosquitto/src/net.c:461,1
    - Dst: SSL_CTX_set_options
      Src: /src/mosquitto/src/net.c:464,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:468,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:470,1
    - Dst: SSL_CTX_set_keylog_callback
      Src: /src/mosquitto/src/net.c:472,1
    - Dst: snprintf
      Src: /src/mosquitto/src/net.c:475,1
    - Dst: SSL_CTX_set_session_id_context
      Src: /src/mosquitto/src/net.c:476,1
    - Dst: strlen
      Src: /src/mosquitto/src/net.c:476,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/mosquitto/src/net.c:479,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:481,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/mosquitto/src/net.c:485,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:487,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/mosquitto/src/net.c:492,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:494,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 64
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct mosquitto__listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 500
    functionName: net__tls_server_ctx
    functionSourceFile: /src/mosquitto/src/net.c
    functionUses: 1
    functionsReached:
    - SSL_CTX_set_keylog_callback
    - SSL_CTX_free
    - SSL_CTX_new
    - TLS_server_method
    - SSL_CTX_set_mode
    - SSL_CTX_set_cipher_list
    - snprintf
    - SSL_CTX_set_options
    - SSL_CTX_set_session_id_context
    - strlen
    - SSL_CTX_set_dh_auto
    - strcmp
    - log__printf
    - SSL_CTX_set_ciphersuites
    linkageType: ''
    returnType: int
    signature: int net__tls_server_ctx(struct mosquitto__listener *listener)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_get_cert_store
      Src: /src/mosquitto/src/net.c:513,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:515,1
    - Dst: net__print_error
      Src: /src/mosquitto/src/net.c:516,1
    - Dst: X509_STORE_add_lookup
      Src: /src/mosquitto/src/net.c:519,1
    - Dst: X509_LOOKUP_file
      Src: /src/mosquitto/src/net.c:519,1
    - Dst: X509_load_crl_file
      Src: /src/mosquitto/src/net.c:520,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:522,1
    - Dst: net__print_error
      Src: /src/mosquitto/src/net.c:523,1
    - Dst: net__print_ssl_error
      Src: /src/mosquitto/src/net.c:524,1
    - Dst: X509_STORE_set_flags
      Src: /src/mosquitto/src/net.c:527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct mosquitto__listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 530
    functionName: net__load_crl_file
    functionSourceFile: /src/mosquitto/src/net.c
    functionUses: 0
    functionsReached:
    - X509_LOOKUP_file
    - net__print_ssl_error
    - X509_STORE_add_lookup
    - X509_load_crl_file
    - X509_STORE_set_flags
    - log__printf
    - net__print_error
    - SSL_CTX_get_cert_store
    linkageType: ''
    returnType: int
    signature: int net__load_crl_file(struct mosquitto__listener *listener)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_verify
      Src: /src/mosquitto/src/net.c:540,1
    - Dst: SSL_CTX_set_verify
      Src: /src/mosquitto/src/net.c:542,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/mosquitto/src/net.c:544,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:546,1
    - Dst: net__print_ssl_error
      Src: /src/mosquitto/src/net.c:547,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/mosquitto/src/net.c:551,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:553,1
    - Dst: net__print_ssl_error
      Src: /src/mosquitto/src/net.c:554,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/mosquitto/src/net.c:558,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:560,1
    - Dst: net__print_ssl_error
      Src: /src/mosquitto/src/net.c:561,1
    - Dst: net__load_crl_file
      Src: /src/mosquitto/src/net.c:566,1
    - Dst: UNUSED
      Src: /src/mosquitto/src/net.c:572,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct mosquitto__listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 575
    functionName: net__load_certificates
    functionSourceFile: /src/mosquitto/src/net.c
    functionUses: 1
    functionsReached:
    - SSL_CTX_use_certificate_chain_file
    - SSL_CTX_use_PrivateKey_file
    - SSL_CTX_check_private_key
    - net__load_crl_file
    - net__print_ssl_error
    - SSL_CTX_set_verify
    - log__printf
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int net__load_certificates(struct mosquitto__listener *listener)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_by_id
      Src: /src/mosquitto/src/net.c:591,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:593,1
    - Dst: net__print_ssl_error
      Src: /src/mosquitto/src/net.c:594,1
    - Dst: ENGINE_init
      Src: /src/mosquitto/src/net.c:597,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:598,1
    - Dst: net__print_ssl_error
      Src: /src/mosquitto/src/net.c:599,1
    - Dst: ENGINE_set_default
      Src: /src/mosquitto/src/net.c:602,1
    - Dst: net__get_ui_method
      Src: /src/mosquitto/src/net.c:605,1
    - Dst: ENGINE_ctrl_cmd
      Src: /src/mosquitto/src/net.c:607,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:608,1
    - Dst: net__print_ssl_error
      Src: /src/mosquitto/src/net.c:609,1
    - Dst: ENGINE_ctrl_cmd
      Src: /src/mosquitto/src/net.c:612,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:613,1
    - Dst: net__print_ssl_error
      Src: /src/mosquitto/src/net.c:614,1
    - Dst: ENGINE_load_private_key
      Src: /src/mosquitto/src/net.c:619,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:621,1
    - Dst: net__print_ssl_error
      Src: /src/mosquitto/src/net.c:622,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/mosquitto/src/net.c:625,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:626,1
    - Dst: net__print_ssl_error
      Src: /src/mosquitto/src/net.c:627,1
    - Dst: ENGINE_free
      Src: /src/mosquitto/src/net.c:631,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct mosquitto__listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 634
    functionName: net__load_engine
    functionSourceFile: /src/mosquitto/src/net.c
    functionUses: 0
    functionsReached:
    - net__print_ssl_error
    - ENGINE_load_private_key
    - SSL_CTX_use_PrivateKey
    - ENGINE_set_default
    - ENGINE_by_id
    - ENGINE_ctrl_cmd
    - net__get_ui_method
    - log__printf
    - ENGINE_init
    - ENGINE_free
    linkageType: ''
    returnType: int
    signature: int net__load_engine(struct mosquitto__listener *listener)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/mosquitto/src/net.c:645,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:648,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:650,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:652,1
    - Dst: SSL_CTX_load_verify_file
      Src: /src/mosquitto/src/net.c:658,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:660,1
    - Dst: net__print_ssl_error
      Src: /src/mosquitto/src/net.c:661,1
    - Dst: SSL_CTX_load_verify_dir
      Src: /src/mosquitto/src/net.c:666,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:668,1
    - Dst: net__print_ssl_error
      Src: /src/mosquitto/src/net.c:669,1
    - Dst: net__load_engine
      Src: /src/mosquitto/src/net.c:676,1
    - Dst: net__load_certificates
      Src: /src/mosquitto/src/net.c:681,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct mosquitto__listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 638
    functionDepth: 3
    functionLinenumber: 638
    functionLinenumberEnd: 682
    functionName: net__tls_load_verify
    functionSourceFile: /src/mosquitto/src/net.c
    functionUses: 1
    functionsReached:
    - net__load_certificates
    - net__print_ssl_error
    - SSL_CTX_load_verify_locations
    - SSL_CTX_load_verify_file
    - log__printf
    - SSL_CTX_load_verify_dir
    - net__load_engine
    linkageType: ''
    returnType: int
    signature: int net__tls_load_verify(struct mosquitto__listener *listener)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getifaddrs
      Src: /src/mosquitto/src/net.c:699,1
    - Dst: net__print_error
      Src: /src/mosquitto/src/net.c:700,1
    - Dst: strcasecmp
      Src: /src/mosquitto/src/net.c:709,1
    - Dst: memcmp
      Src: /src/mosquitto/src/net.c:715,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:719,1
    - Dst: memcpy
      Src: /src/mosquitto/src/net.c:723,1
    - Dst: freeifaddrs
      Src: /src/mosquitto/src/net.c:727,1
    - Dst: memcmp
      Src: /src/mosquitto/src/net.c:732,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:736,1
    - Dst: memcpy
      Src: /src/mosquitto/src/net.c:740,1
    - Dst: freeifaddrs
      Src: /src/mosquitto/src/net.c:746,1
    - Dst: freeifaddrs
      Src: /src/mosquitto/src/net.c:753,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:755,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:759,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 2
    argNames:
    - listener
    - rp
    argTypes:
    - struct mosquitto__listener*
    - struct addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 762
    functionName: net__bind_interface
    functionSourceFile: /src/mosquitto/src/net.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - freeifaddrs
    - log__printf
    - memcmp
    - memcpy
    - getifaddrs
    - net__print_error
    linkageType: ''
    returnType: int
    signature: int net__bind_interface(struct mosquitto__listener *listener, struct
      addrinfo *rp)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/mosquitto/src/net.c:782,1
    - Dst: memset
      Src: /src/mosquitto/src/net.c:783,1
    - Dst: getaddrinfo
      Src: /src/mosquitto/src/net.c:792,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:794,1
    - Dst: gai_strerror
      Src: /src/mosquitto/src/net.c:794,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:803,1
    - Dst: ntohs
      Src: /src/mosquitto/src/net.c:803,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:805,1
    - Dst: ntohs
      Src: /src/mosquitto/src/net.c:805,1
    - Dst: socket
      Src: /src/mosquitto/src/net.c:810,1
    - Dst: net__print_error
      Src: /src/mosquitto/src/net.c:812,1
    - Dst: mosquitto_realloc
      Src: /src/mosquitto/src/net.c:816,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:818,1
    - Dst: freeaddrinfo
      Src: /src/mosquitto/src/net.c:819,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/src/net.c:820,1
    - Dst: setsockopt
      Src: /src/mosquitto/src/net.c:828,1
    - Dst: setsockopt
      Src: /src/mosquitto/src/net.c:832,1
    - Dst: net__socket_nonblock
      Src: /src/mosquitto/src/net.c:835,1
    - Dst: freeaddrinfo
      Src: /src/mosquitto/src/net.c:836,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/net.c:837,1
    - Dst: net__bind_interface
      Src: /src/mosquitto/src/net.c:845,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/src/net.c:847,1
    - Dst: freeaddrinfo
      Src: /src/mosquitto/src/net.c:850,1
    - Dst: bind
      Src: /src/mosquitto/src/net.c:860,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:863,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:864,1
    - Dst: net__print_error
      Src: /src/mosquitto/src/net.c:867,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/src/net.c:868,1
    - Dst: freeaddrinfo
      Src: /src/mosquitto/src/net.c:869,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/net.c:870,1
    - Dst: listen
      Src: /src/mosquitto/src/net.c:874,1
    - Dst: net__print_error
      Src: /src/mosquitto/src/net.c:875,1
    - Dst: freeaddrinfo
      Src: /src/mosquitto/src/net.c:876,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/src/net.c:877,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/net.c:878,1
    - Dst: freeaddrinfo
      Src: /src/mosquitto/src/net.c:882,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/net.c:886,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 91
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct mosquitto__listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 766
    functionDepth: 2
    functionLinenumber: 766
    functionLinenumberEnd: 892
    functionName: net__socket_listen_tcp
    functionSourceFile: /src/mosquitto/src/net.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - listen
    - getaddrinfo
    - bind
    - net__print_error
    - snprintf
    - gai_strerror
    - COMPAT_CLOSE
    - net__socket_nonblock
    - socket
    - memset
    - mosquitto_realloc
    - freeaddrinfo
    - log__printf
    - setsockopt
    - net__bind_interface
    - ntohs
    linkageType: ''
    returnType: int
    signature: int net__socket_listen_tcp(struct mosquitto__listener *listener)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/src/net.c:908,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:909,1
    - Dst: unlink
      Src: /src/mosquitto/src/net.c:913,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:914,1
    - Dst: memset
      Src: /src/mosquitto/src/net.c:915,1
    - Dst: strncpy
      Src: /src/mosquitto/src/net.c:917,1
    - Dst: socket
      Src: /src/mosquitto/src/net.c:919,1
    - Dst: net__print_error
      Src: /src/mosquitto/src/net.c:921,1
    - Dst: mosquitto_realloc
      Src: /src/mosquitto/src/net.c:925,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:927,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/src/net.c:928,1
    - Dst: umask
      Src: /src/mosquitto/src/net.c:934,1
    - Dst: bind
      Src: /src/mosquitto/src/net.c:935,1
    - Dst: umask
      Src: /src/mosquitto/src/net.c:936,1
    - Dst: net__print_error
      Src: /src/mosquitto/src/net.c:939,1
    - Dst: listen
      Src: /src/mosquitto/src/net.c:943,1
    - Dst: net__print_error
      Src: /src/mosquitto/src/net.c:944,1
    - Dst: net__socket_nonblock
      Src: /src/mosquitto/src/net.c:948,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct mosquitto__listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 953
    functionName: net__socket_listen_unix
    functionSourceFile: /src/mosquitto/src/net.c
    functionUses: 0
    functionsReached:
    - listen
    - unlink
    - COMPAT_CLOSE
    - umask
    - net__socket_nonblock
    - strlen
    - socket
    - memset
    - mosquitto_realloc
    - log__printf
    - strncpy
    - bind
    - net__print_error
    linkageType: ''
    returnType: int
    signature: int net__socket_listen_unix(struct mosquitto__listener *listener)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: net__socket_listen_unix
      Src: /src/mosquitto/src/net.c:971,1
    - Dst: net__socket_listen_tcp
      Src: /src/mosquitto/src/net.c:975,1
    - Dst: net__tls_server_ctx
      Src: /src/mosquitto/src/net.c:985,1
    - Dst: net__tls_load_verify
      Src: /src/mosquitto/src/net.c:989,1
    - Dst: net__tls_server_ctx
      Src: /src/mosquitto/src/net.c:996,1
    - Dst: SSL_CTX_set_psk_server_callback
      Src: /src/mosquitto/src/net.c:1000,1
    - Dst: SSL_CTX_use_psk_identity_hint
      Src: /src/mosquitto/src/net.c:1002,1
    - Dst: log__printf
      Src: /src/mosquitto/src/net.c:1004,1
    - Dst: net__print_ssl_error
      Src: /src/mosquitto/src/net.c:1005,1
    - Dst: SSL_get_ex_new_index
      Src: /src/mosquitto/src/net.c:1012,1
    - Dst: SSL_get_ex_new_index
      Src: /src/mosquitto/src/net.c:1015,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct mosquitto__listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 961
    functionDepth: 4
    functionLinenumber: 961
    functionLinenumberEnd: 1022
    functionName: net__socket_listen
    functionSourceFile: /src/mosquitto/src/net.c
    functionUses: 1
    functionsReached:
    - SSL_CTX_use_psk_identity_hint
    - net__print_ssl_error
    - SSL_get_ex_new_index
    - net__socket_listen_unix
    - SSL_CTX_set_psk_server_callback
    - net__socket_listen_tcp
    - log__printf
    - net__tls_load_verify
    - net__tls_server_ctx
    linkageType: ''
    returnType: int
    signature: int net__socket_listen(struct mosquitto__listener *listener)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/net.c:1030,1
    - Dst: getpeername
      Src: /src/mosquitto/src/net.c:1032,1
    - Dst: ntohs
      Src: /src/mosquitto/src/net.c:1035,1
    - Dst: inet_ntop
      Src: /src/mosquitto/src/net.c:1037,1
    - Dst: ntohs
      Src: /src/mosquitto/src/net.c:1042,1
    - Dst: inet_ntop
      Src: /src/mosquitto/src/net.c:1044,1
    - Dst: getsockname
      Src: /src/mosquitto/src/net.c:1051,1
    - Dst: snprintf
      Src: /src/mosquitto/src/net.c:1052,1
    - Dst: snprintf
      Src: /src/mosquitto/src/net.c:1054,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 4
    argNames:
    - sock
    - buf
    - len
    - remote_port
    argTypes:
    - mosq_sock_t
    - char*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1061
    functionName: net__socket_get_address
    functionSourceFile: /src/mosquitto/src/net.c
    functionUses: 3
    functionsReached:
    - getsockname
    - inet_ntop
    - snprintf
    - memset
    - getpeername
    - ntohs
    linkageType: ''
    returnType: int
    signature: int net__socket_get_address(mosq_sock_t sock, char *buf, size_t len,
      uint16_t *remote_port)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_acl_check
      Src: /src/mosquitto/src/subs.c:76,1
    - Dst: MQTT_SUB_OPT_GET_QOS
      Src: /src/mosquitto/src/subs.c:80,1
    - Dst: mosquitto__mid_generate
      Src: /src/mosquitto/src/subs.c:92,1
    - Dst: MQTT_SUB_OPT_GET_RETAIN_AS_PUBLISHED
      Src: /src/mosquitto/src/subs.c:96,1
    - Dst: db__message_insert_outgoing
      Src: /src/mosquitto/src/subs.c:101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 5
    argNames:
    - leaf
    - topic
    - qos
    - retain
    - stored
    argTypes:
    - struct mosquitto__subleaf*
    - char*
    - uint8_t
    - int
    - struct mosquitto__base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 108
    functionName: subs__send
    functionSourceFile: /src/mosquitto/src/subs.c
    functionUses: 0
    functionsReached:
    - MQTT_SUB_OPT_GET_QOS
    - MQTT_SUB_OPT_GET_RETAIN_AS_PUBLISHED
    - mosquitto__mid_generate
    - db__message_insert_outgoing
    - mosquitto_acl_check
    linkageType: ''
    returnType: int
    signature: int subs__send(struct mosquitto__subleaf *leaf, const char *topic,
      uint8_t qos, int retain, struct mosquitto__base_msg *stored)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/src/subs.c:117,1
    - Dst: subs__send
      Src: /src/mosquitto/src/subs.c:119,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/src/subs.c:121,1
    - Dst: DL_APPEND
      Src: /src/mosquitto/src/subs.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - hier
    - topic
    - qos
    - retain
    - stored
    argTypes:
    - struct mosquitto__subhier*
    - char*
    - uint8_t
    - int
    - struct mosquitto__base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 130
    functionName: subs__shared_process
    functionSourceFile: /src/mosquitto/src/subs.c
    functionUses: 0
    functionsReached:
    - DL_APPEND
    - DL_DELETE
    - subs__send
    - HASH_ITER
    linkageType: ''
    returnType: int
    signature: int subs__shared_process(struct mosquitto__subhier *hier, const char
      *topic, uint8_t qos, int retain, struct mosquitto__base_msg *stored)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: subs__shared_process
      Src: /src/mosquitto/src/subs.c:139,1
    - Dst: MQTT_SUB_OPT_GET_NO_LOCAL
      Src: /src/mosquitto/src/subs.c:143,1
    - Dst: strcmp
      Src: /src/mosquitto/src/subs.c:143,1
    - Dst: subs__send
      Src: /src/mosquitto/src/subs.c:147,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 6
    argNames:
    - hier
    - source_id
    - topic
    - qos
    - retain
    - stored
    argTypes:
    - struct mosquitto__subhier*
    - char*
    - char*
    - uint8_t
    - int
    - struct mosquitto__base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 4
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: subs__process
    functionSourceFile: /src/mosquitto/src/subs.c
    functionUses: 0
    functionsReached:
    - subs__send
    - MQTT_SUB_OPT_GET_NO_LOCAL
    - subs__shared_process
    - strcmp
    linkageType: ''
    returnType: int
    signature: int subs__process(struct mosquitto__subhier *hier, const char *source_id,
      const char *topic, uint8_t qos, int retain, struct mosquitto__base_msg *stored)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/src/subs.c:169,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/subs.c:179,1
    - Dst: strlen
      Src: /src/mosquitto/src/subs.c:179,1
    - Dst: strcpy
      Src: /src/mosquitto/src/subs.c:186,1
    - Dst: DL_APPEND
      Src: /src/mosquitto/src/subs.c:188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - context
    - sub
    - head
    - newleaf
    argTypes:
    - struct mosquitto*
    - struct mosquitto_subscription*
    - struct mosquitto__subleaf**
    - struct mosquitto__subleaf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 192
    functionName: sub__add_leaf
    functionSourceFile: /src/mosquitto/src/subs.c
    functionUses: 0
    functionsReached:
    - DL_APPEND
    - mosquitto_calloc
    - strcpy
    - strlen
    - strcmp
    linkageType: ''
    returnType: int
    signature: int sub__add_leaf(struct mosquitto *context, const struct mosquitto_subscription
      *sub, struct mosquitto__subleaf **head, struct mosquitto__subleaf **newleaf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DL_DELETE
      Src: /src/mosquitto/src/subs.c:197,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/src/subs.c:199,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/subs.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - subhier
    - shared
    - leaf
    argTypes:
    - struct mosquitto__subhier*
    - struct mosquitto__subshared*
    - struct mosquitto__subleaf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 202
    functionName: sub__remove_shared_leaf
    functionSourceFile: /src/mosquitto/src/subs.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - DL_DELETE
    - HASH_DELETE
    linkageType: ''
    returnType: void
    signature: void sub__remove_shared_leaf(struct mosquitto__subhier *subhier, struct
      mosquitto__subshared *shared, struct mosquitto__subleaf *leaf)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/src/subs.c:214,1
    - Dst: HASH_VALUE
      Src: /src/mosquitto/src/subs.c:216,1
    - Dst: HASH_FIND_BYHASHVALUE
      Src: /src/mosquitto/src/subs.c:218,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/subs.c:220,1
    - Dst: strncpy
      Src: /src/mosquitto/src/subs.c:224,1
    - Dst: HASH_ADD_BYHASHVALUE
      Src: /src/mosquitto/src/subs.c:226,1
    - Dst: sub__add_leaf
      Src: /src/mosquitto/src/subs.c:229,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/src/subs.c:232,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/subs.c:233,1
    - Dst: mosquitto_realloc
      Src: /src/mosquitto/src/subs.c:252,1
    - Dst: sub__remove_shared_leaf
      Src: /src/mosquitto/src/subs.c:254,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/subs.c:255,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 4
    argNames:
    - context
    - sub
    - subhier
    - sharename
    argTypes:
    - struct mosquitto*
    - struct mosquitto_subscription*
    - struct mosquitto__subhier*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 275
    functionName: sub__add_shared
    functionSourceFile: /src/mosquitto/src/subs.c
    functionUses: 0
    functionsReached:
    - HASH_ADD_BYHASHVALUE
    - mosquitto_FREE
    - HASH_FIND_BYHASHVALUE
    - mosquitto_calloc
    - strlen
    - sub__add_leaf
    - mosquitto_realloc
    - HASH_DELETE
    - HASH_VALUE
    - strncpy
    - sub__remove_shared_leaf
    linkageType: ''
    returnType: int
    signature: int sub__add_shared(struct mosquitto *context, const struct mosquitto_subscription
      *sub, struct mosquitto__subhier *subhier, const char *sharename)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sub__add_leaf
      Src: /src/mosquitto/src/subs.c:284,1
    - Dst: mosquitto_realloc
      Src: /src/mosquitto/src/subs.c:303,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/src/subs.c:305,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/subs.c:306,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - context
    - sub
    - subhier
    argTypes:
    - struct mosquitto*
    - struct mosquitto_subscription*
    - struct mosquitto__subhier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 326
    functionName: sub__add_normal
    functionSourceFile: /src/mosquitto/src/subs.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - sub__add_leaf
    - DL_DELETE
    - mosquitto_realloc
    linkageType: ''
    returnType: int
    signature: int sub__add_normal(struct mosquitto *context, const struct mosquitto_subscription
      *sub, struct mosquitto__subhier *subhier)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/src/subs.c:337,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/subs.c:341,1
    - Dst: sub__add_hier_entry
      Src: /src/mosquitto/src/subs.c:344,1
    - Dst: sub__add_shared
      Src: /src/mosquitto/src/subs.c:356,1
    - Dst: sub__add_normal
      Src: /src/mosquitto/src/subs.c:358,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - context
    - sub
    - subhier
    - topics
    - sharename
    argTypes:
    - struct mosquitto*
    - struct mosquitto_subscription*
    - struct mosquitto__subhier*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 329
    functionDepth: 3
    functionLinenumber: 329
    functionLinenumberEnd: 363
    functionName: sub__add_context
    functionSourceFile: /src/mosquitto/src/subs.c
    functionUses: 0
    functionsReached:
    - sub__add_shared
    - sub__add_hier_entry
    - strlen
    - HASH_FIND
    - sub__add_normal
    linkageType: ''
    returnType: int
    signature: int sub__add_context(struct mosquitto *context, const struct mosquitto_subscription
      *sub, struct mosquitto__subhier *subhier, char *const *const topics, const char
      *sharename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DL_DELETE
      Src: /src/mosquitto/src/subs.c:376,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/src/subs.c:385,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - context
    - subhier
    - reason
    argTypes:
    - struct mosquitto*
    - struct mosquitto__subhier*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 396
    functionName: sub__remove_normal
    functionSourceFile: /src/mosquitto/src/subs.c
    functionUses: 0
    functionsReached:
    - mosquitto_free
    - DL_DELETE
    linkageType: ''
    returnType: int
    signature: int sub__remove_normal(struct mosquitto *context, struct mosquitto__subhier
      *subhier, uint8_t *reason)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/subs.c:403,1
    - Dst: strlen
      Src: /src/mosquitto/src/subs.c:403,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/src/subs.c:411,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/src/subs.c:422,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/src/subs.c:430,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/subs.c:431,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - context
    - subhier
    - reason
    - sharename
    argTypes:
    - struct mosquitto*
    - struct mosquitto__subhier*
    - uint8_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 443
    functionName: sub__remove_shared
    functionSourceFile: /src/mosquitto/src/subs.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - strlen
    - mosquitto_free
    - DL_DELETE
    - HASH_FIND
    - HASH_DELETE
    linkageType: ''
    returnType: int
    signature: int sub__remove_shared(struct mosquitto *context, struct mosquitto__subhier
      *subhier, uint8_t *reason, const char *sharename)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sub__remove_shared
      Src: /src/mosquitto/src/subs.c:452,1
    - Dst: sub__remove_normal
      Src: /src/mosquitto/src/subs.c:454,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/subs.c:458,1
    - Dst: strlen
      Src: /src/mosquitto/src/subs.c:458,1
    - Dst: sub__remove_recurse
      Src: /src/mosquitto/src/subs.c:460,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/src/subs.c:462,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/subs.c:463,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 5
    argNames:
    - context
    - subhier
    - topics
    - reason
    - sharename
    argTypes:
    - struct mosquitto*
    - struct mosquitto__subhier*
    - char**
    - uint8_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 467
    functionName: sub__remove_recurse
    functionSourceFile: /src/mosquitto/src/subs.c
    functionUses: 1
    functionsReached:
    - sub__remove_shared
    - mosquitto_FREE
    - sub__remove_recurse
    - sub__remove_normal
    - strlen
    - HASH_FIND
    - HASH_DELETE
    linkageType: ''
    returnType: int
    signature: int sub__remove_recurse(struct mosquitto *context, struct mosquitto__subhier
      *subhier, char **topics, uint8_t *reason, const char *sharename)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/subs.c:479,1
    - Dst: strlen
      Src: /src/mosquitto/src/subs.c:479,1
    - Dst: sub__search
      Src: /src/mosquitto/src/subs.c:482,1
    - Dst: subs__process
      Src: /src/mosquitto/src/subs.c:489,1
    - Dst: HASH_FIND_BYHASHVALUE
      Src: /src/mosquitto/src/subs.c:499,1
    - Dst: sub__search
      Src: /src/mosquitto/src/subs.c:502,1
    - Dst: subs__process
      Src: /src/mosquitto/src/subs.c:509,1
    - Dst: HASH_FIND_BYHASHVALUE
      Src: /src/mosquitto/src/subs.c:520,1
    - Dst: subs__process
      Src: /src/mosquitto/src/subs.c:526,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 7
    argNames:
    - subhier
    - split_topics
    - source_id
    - topic
    - qos
    - retain
    - stored
    argTypes:
    - struct mosquitto__subhier*
    - char**
    - char*
    - char*
    - uint8_t
    - int
    - struct mosquitto__base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 470
    functionDepth: 5
    functionLinenumber: 470
    functionLinenumberEnd: 539
    functionName: sub__search
    functionSourceFile: /src/mosquitto/src/subs.c
    functionUses: 1
    functionsReached:
    - HASH_FIND_BYHASHVALUE
    - strlen
    - HASH_FIND
    - sub__search
    - subs__process
    linkageType: ''
    returnType: int
    signature: int sub__search(struct mosquitto__subhier *subhier, char **split_topics,
      const char *source_id, const char *topic, uint8_t qos, int retain, struct mosquitto__base_msg
      *stored)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/src/subs.c:546,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/subs.c:548,1
    - Dst: log__printf
      Src: /src/mosquitto/src/subs.c:550,1
    - Dst: strncpy
      Src: /src/mosquitto/src/subs.c:556,1
    - Dst: HASH_ADD
      Src: /src/mosquitto/src/subs.c:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - parent
    - sibling
    - topic
    - len
    argTypes:
    - struct mosquitto__subhier*
    - struct mosquitto__subhier**
    - char*
    - uint16_t
    assertStmts:
    - condition: (sibling)
      pos:
        line_end: 545
        line_start: 545
        source_file: /src/mosquitto/src/subs.c
    constantsTouched: []
    func_position:
      end: 562
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 562
    functionName: sub__add_hier_entry
    functionSourceFile: /src/mosquitto/src/subs.c
    functionUses: 1
    functionsReached:
    - mosquitto_calloc
    - HASH_ADD
    - assert
    - log__printf
    - strncpy
    linkageType: ''
    returnType: struct mosquitto__subhier
    signature: struct mosquitto__subhier *sub__add_hier_entry(struct mosquitto__subhier
      *parent, struct mosquitto__subhier **sibling, const char *topic, uint16_t len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/src/subs.c:574,1
    - Dst: assert
      Src: /src/mosquitto/src/subs.c:575,1
    - Dst: sub__topic_tokenise
      Src: /src/mosquitto/src/subs.c:577,1
    - Dst: strlen
      Src: /src/mosquitto/src/subs.c:582,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/subs.c:584,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/subs.c:585,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/subs.c:590,1
    - Dst: sub__add_hier_entry
      Src: /src/mosquitto/src/subs.c:592,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/subs.c:594,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/subs.c:595,1
    - Dst: log__printf
      Src: /src/mosquitto/src/subs.c:596,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/subs.c:601,1
    - Dst: sub__add_hier_entry
      Src: /src/mosquitto/src/subs.c:603,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/subs.c:605,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/subs.c:606,1
    - Dst: log__printf
      Src: /src/mosquitto/src/subs.c:607,1
    - Dst: sub__add_context
      Src: /src/mosquitto/src/subs.c:612,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/subs.c:614,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/subs.c:615,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 2
    argNames:
    - context
    - sub
    argTypes:
    - struct mosquitto*
    - struct mosquitto_subscription*
    assertStmts:
    - condition: (sub->topic_filter)
      pos:
        line_end: 574
        line_start: 574
        source_file: /src/mosquitto/src/subs.c
    - condition: (sub)
      pos:
        line_end: 573
        line_start: 573
        source_file: /src/mosquitto/src/subs.c
    constantsTouched: []
    func_position:
      end: 618
      start: 565
    functionDepth: 4
    functionLinenumber: 565
    functionLinenumberEnd: 618
    functionName: sub__add
    functionSourceFile: /src/mosquitto/src/subs.c
    functionUses: 6
    functionsReached:
    - mosquitto_FREE
    - sub__add_hier_entry
    - sub__topic_tokenise
    - sub__add_context
    - assert
    - strlen
    - HASH_FIND
    - log__printf
    linkageType: ''
    returnType: int
    signature: int sub__add(struct mosquitto *context, const struct mosquitto_subscription
      *sub)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/src/subs.c:629,1
    - Dst: sub__topic_tokenise
      Src: /src/mosquitto/src/subs.c:631,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/subs.c:637,1
    - Dst: strlen
      Src: /src/mosquitto/src/subs.c:637,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/src/subs.c:639,1
    - Dst: strlen
      Src: /src/mosquitto/src/subs.c:639,1
    - Dst: sub__remove_recurse
      Src: /src/mosquitto/src/subs.c:643,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/subs.c:646,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/subs.c:647,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - context
    - sub
    - reason
    argTypes:
    - struct mosquitto*
    - char*
    - uint8_t*
    assertStmts:
    - condition: (sub)
      pos:
        line_end: 628
        line_start: 628
        source_file: /src/mosquitto/src/subs.c
    constantsTouched: []
    func_position:
      end: 650
      start: 621
    functionDepth: 3
    functionLinenumber: 621
    functionLinenumberEnd: 650
    functionName: sub__remove
    functionSourceFile: /src/mosquitto/src/subs.c
    functionUses: 3
    functionsReached:
    - mosquitto_FREE
    - sub__topic_tokenise
    - sub__remove_recurse
    - assert
    - strlen
    - HASH_FIND
    linkageType: ''
    returnType: int
    signature: int sub__remove(struct mosquitto *context, const char *sub, uint8_t
      *reason)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/src/subs.c:663,1
    - Dst: sub__topic_tokenise
      Src: /src/mosquitto/src/subs.c:665,1
    - Dst: db__msg_store_ref_inc
      Src: /src/mosquitto/src/subs.c:673,1
    - Dst: strlen
      Src: /src/mosquitto/src/subs.c:675,1
    - Dst: HASH_VALUE
      Src: /src/mosquitto/src/subs.c:676,1
    - Dst: HASH_FIND_BYHASHVALUE
      Src: /src/mosquitto/src/subs.c:677,1
    - Dst: sub__search
      Src: /src/mosquitto/src/subs.c:679,1
    - Dst: HASH_FIND_BYHASHVALUE
      Src: /src/mosquitto/src/subs.c:686,1
    - Dst: sub__search
      Src: /src/mosquitto/src/subs.c:688,1
    - Dst: retain__store
      Src: /src/mosquitto/src/subs.c:700,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/subs.c:707,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/subs.c:708,1
    - Dst: db__msg_store_ref_dec
      Src: /src/mosquitto/src/subs.c:710,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 5
    argNames:
    - source_id
    - topic
    - qos
    - retain
    - stored
    argTypes:
    - char*
    - char*
    - uint8_t
    - int
    - struct mosquitto__base_msg**
    assertStmts:
    - condition: (topic)
      pos:
        line_end: 662
        line_start: 662
        source_file: /src/mosquitto/src/subs.c
    constantsTouched: []
    func_position:
      end: 713
      start: 653
    functionDepth: 6
    functionLinenumber: 653
    functionLinenumberEnd: 713
    functionName: sub__messages_queue
    functionSourceFile: /src/mosquitto/src/subs.c
    functionUses: 3
    functionsReached:
    - mosquitto_FREE
    - HASH_FIND_BYHASHVALUE
    - sub__topic_tokenise
    - db__msg_store_ref_inc
    - assert
    - db__msg_store_ref_dec
    - strlen
    - sub__search
    - HASH_VALUE
    - retain__store
    linkageType: ''
    returnType: int
    signature: int sub__messages_queue(const char *source_id, const char *topic, uint8_t
      qos, int retain, struct mosquitto__base_msg **stored)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HASH_DELETE
      Src: /src/mosquitto/src/subs.c:730,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/subs.c:731,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - sub
    argTypes:
    - struct mosquitto__subhier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 742
    functionName: tmp_remove_subs
    functionSourceFile: /src/mosquitto/src/subs.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - HASH_DELETE
    linkageType: ''
    returnType: struct mosquitto__subhier
    signature: struct mosquitto__subhier *tmp_remove_subs(struct mosquitto__subhier
      *sub)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: plugin_persist__handle_subscription_delete
      Src: /src/mosquitto/src/subs.c:757,1
    - Dst: sub__remove_shared_leaf
      Src: /src/mosquitto/src/subs.c:765,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/src/subs.c:777,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/subs.c:783,1
    - Dst: tmp_remove_subs
      Src: /src/mosquitto/src/subs.c:791,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/subs.c:795,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 747
    functionDepth: 2
    functionLinenumber: 747
    functionLinenumberEnd: 800
    functionName: sub__clean_session
    functionSourceFile: /src/mosquitto/src/subs.c
    functionUses: 5
    functionsReached:
    - mosquitto_FREE
    - plugin_persist__handle_subscription_delete
    - DL_DELETE
    - tmp_remove_subs
    - sub__remove_shared_leaf
    linkageType: ''
    returnType: int
    signature: int sub__clean_session(struct mosquitto *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/src/subs.c:812,1
    - Dst: printf
      Src: /src/mosquitto/src/subs.c:814,1
    - Dst: printf
      Src: /src/mosquitto/src/subs.c:818,1
    - Dst: MQTT_SUB_OPT_GET_QOS
      Src: /src/mosquitto/src/subs.c:818,1
    - Dst: printf
      Src: /src/mosquitto/src/subs.c:820,1
    - Dst: MQTT_SUB_OPT_GET_QOS
      Src: /src/mosquitto/src/subs.c:820,1
    - Dst: printf
      Src: /src/mosquitto/src/subs.c:824,1
    - Dst: sub__tree_print
      Src: /src/mosquitto/src/subs.c:827,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - root
    - level
    argTypes:
    - struct mosquitto__subhier*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 829
    functionName: sub__tree_print
    functionSourceFile: /src/mosquitto/src/subs.c
    functionUses: 2
    functionsReached:
    - sub__tree_print
    - printf
    - MQTT_SUB_OPT_GET_QOS
    linkageType: ''
    returnType: void
    signature: void sub__tree_print(struct mosquitto__subhier *root, int level)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/src/subs.c:812,1
    - Dst: printf
      Src: /src/mosquitto/src/subs.c:814,1
    - Dst: printf
      Src: /src/mosquitto/src/subs.c:818,1
    - Dst: MQTT_SUB_OPT_GET_QOS
      Src: /src/mosquitto/src/subs.c:818,1
    - Dst: printf
      Src: /src/mosquitto/src/subs.c:820,1
    - Dst: MQTT_SUB_OPT_GET_QOS
      Src: /src/mosquitto/src/subs.c:820,1
    - Dst: printf
      Src: /src/mosquitto/src/subs.c:824,1
    - Dst: sub__tree_print
      Src: /src/mosquitto/src/subs.c:827,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 809
    functionDepth: 2
    functionLinenumber: 809
    functionLinenumberEnd: 828
    functionName: HASH_ITER
    functionSourceFile: /src/mosquitto/src/subs.c
    functionUses: 26
    functionsReached:
    - sub__tree_print
    - printf
    - MQTT_SUB_OPT_GET_QOS
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, root, branch, branch_tmp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_VALUE
      Src: /src/mosquitto/src/subs.c:834,1
    - Dst: HASH_VALUE
      Src: /src/mosquitto/src/subs.c:835,1
    - Dst: sub__add_hier_entry
      Src: /src/mosquitto/src/subs.c:837,1
    - Dst: sub__add_hier_entry
      Src: /src/mosquitto/src/subs.c:838,1
    - Dst: sub__add_hier_entry
      Src: /src/mosquitto/src/subs.c:839,1
    - Dst: strlen
      Src: /src/mosquitto/src/subs.c:839,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 846
    functionName: sub__init
    functionSourceFile: /src/mosquitto/src/subs.c
    functionUses: 1
    functionsReached:
    - strlen
    - sub__add_hier_entry
    - HASH_VALUE
    linkageType: ''
    returnType: int
    signature: int sub__init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _getmaxstdio
      Src: /src/mosquitto/src/mux_poll.c:66,1
    - Dst: sysconf
      Src: /src/mosquitto/src/mux_poll.c:68,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/mux_poll.c:71,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mux_poll.c:73,1
    - Dst: memset
      Src: /src/mosquitto/src/mux_poll.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 82
    functionName: mux_poll__init
    functionSourceFile: /src/mosquitto/src/mux_poll.c
    functionUses: 1
    functionsReached:
    - sysconf
    - mosquitto_calloc
    - memset
    - _getmaxstdio
    - log__printf
    linkageType: ''
    returnType: int
    signature: int mux_poll__init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - listensock
    - listensock_count
    argTypes:
    - struct mosquitto__listener_sock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 100
    functionName: mux_poll__add_listeners
    functionSourceFile: /src/mosquitto/src/mux_poll.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mux_poll__add_listeners(struct mosquitto__listener_sock *listensock,
      int listensock_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/src/mux_poll.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - listensock
    - listensock_count
    argTypes:
    - struct mosquitto__listener_sock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 117
    functionName: mux_poll__delete_listeners
    functionSourceFile: /src/mosquitto/src/mux_poll.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mux_poll__delete_listeners(struct mosquitto__listener_sock *listensock,
      int listensock_count)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - context
    - evt
    argTypes:
    - struct mosquitto*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 147
    functionName: mux_poll__add
    functionSourceFile: /src/mosquitto/src/mux_poll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mux_poll__add(struct mosquitto *context, uint16_t evt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mux_poll__add
      Src: /src/mosquitto/src/mux_poll.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: mux_poll__add_out
    functionSourceFile: /src/mosquitto/src/mux_poll.c
    functionUses: 1
    functionsReached:
    - mux_poll__add
    linkageType: ''
    returnType: int
    signature: int mux_poll__add_out(struct mosquitto *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mux_poll__new
      Src: /src/mosquitto/src/mux_poll.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 163
    functionName: mux_poll__remove_out
    functionSourceFile: /src/mosquitto/src/mux_poll.c
    functionUses: 1
    functionsReached:
    - mux_poll__new
    linkageType: ''
    returnType: int
    signature: int mux_poll__remove_out(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mux_poll__add
      Src: /src/mosquitto/src/mux_poll.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: mux_poll__new
    functionSourceFile: /src/mosquitto/src/mux_poll.c
    functionUses: 2
    functionsReached:
    - mux_poll__add
    linkageType: ''
    returnType: int
    signature: int mux_poll__new(struct mosquitto *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 195
    functionName: mux_poll__delete
    functionSourceFile: /src/mosquitto/src/mux_poll.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mux_poll__delete(struct mosquitto *context)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/mosquitto/src/mux_poll.c:211,1
    - Dst: WSAPoll
      Src: /src/mosquitto/src/mux_poll.c:213,1
    - Dst: mosquitto_time
      Src: /src/mosquitto/src/mux_poll.c:216,1
    - Dst: time
      Src: /src/mosquitto/src/mux_poll.c:217,1
    - Dst: WSAGetLastError
      Src: /src/mosquitto/src/mux_poll.c:221,1
    - Dst: Sleep
      Src: /src/mosquitto/src/mux_poll.c:226,1
    - Dst: log__printf
      Src: /src/mosquitto/src/mux_poll.c:230,1
    - Dst: strerror
      Src: /src/mosquitto/src/mux_poll.c:230,1
    - Dst: loop_handle_reads_writes
      Src: /src/mosquitto/src/mux_poll.c:233,1
    - Dst: net__socket_accept
      Src: /src/mosquitto/src/mux_poll.c:244,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - listensock
    - listensock_count
    argTypes:
    - struct mosquitto__listener_sock*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 251
    functionName: mux_poll__handle
    functionSourceFile: /src/mosquitto/src/mux_poll.c
    functionUses: 1
    functionsReached:
    - Sleep
    - log__printf
    - mosquitto_time
    - loop_handle_reads_writes
    - WSAGetLastError
    - strerror
    - net__socket_accept
    - poll
    - WSAPoll
    - time
    linkageType: ''
    returnType: int
    signature: int mux_poll__handle(struct mosquitto__listener_sock *listensock, int
      listensock_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/mux_poll.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 259
    functionName: mux_poll__cleanup
    functionSourceFile: /src/mosquitto/src/mux_poll.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    linkageType: ''
    returnType: int
    signature: int mux_poll__cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: broker_uptime
    functionSourceFile: /src/mosquitto/src/sys_tree.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t broker_uptime(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/mosquitto/src/sys_tree.c:164,1
    - Dst: db__messages_easy_queue
      Src: /src/mosquitto/src/sys_tree.c:165,1
    - Dst: mosquitto_time
      Src: /src/mosquitto/src/sys_tree.c:167,1
    - Dst: sys_tree__update
      Src: /src/mosquitto/src/sys_tree.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 171
    functionName: sys_tree__init
    functionSourceFile: /src/mosquitto/src/sys_tree.c
    functionUses: 1
    functionsReached:
    - db__messages_easy_queue
    - mosquitto_time
    - snprintf
    - sys_tree__update
    linkageType: ''
    returnType: void
    signature: void sys_tree__init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - m
    - value
    argTypes:
    - enum mosq_metric_type
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: metrics__int_inc
    functionSourceFile: /src/mosquitto/src/sys_tree.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void metrics__int_inc(enum mosq_metric_type m, int64_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - m
    - value
    argTypes:
    - enum mosq_metric_type
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: metrics__int_dec
    functionSourceFile: /src/mosquitto/src/sys_tree.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void metrics__int_dec(enum mosq_metric_type m, int64_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/mosquitto/src/sys_tree.c:198,1
    - Dst: snprintf
      Src: /src/mosquitto/src/sys_tree.c:199,1
    - Dst: db__messages_easy_queue
      Src: /src/mosquitto/src/sys_tree.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - buf
    - exponent
    - i_mult
    - m
    argTypes:
    - char*
    - double
    - double
    - struct metric_load*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 203
    functionName: calc_load
    functionSourceFile: /src/mosquitto/src/sys_tree.c
    functionUses: 0
    functionsReached:
    - db__messages_easy_queue
    - snprintf
    - fabs
    linkageType: ''
    returnType: void
    signature: void calc_load(char *buf, double exponent, double i_mult, struct metric_load
      *m)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: loop__update_next_event
      Src: /src/mosquitto/src/sys_tree.c:225,1
    - Dst: snprintf
      Src: /src/mosquitto/src/sys_tree.c:232,1
    - Dst: db__messages_easy_queue
      Src: /src/mosquitto/src/sys_tree.c:233,1
    - Dst: mosquitto_memory_used
      Src: /src/mosquitto/src/sys_tree.c:242,1
    - Dst: mosquitto_max_memory_used
      Src: /src/mosquitto/src/sys_tree.c:243,1
    - Dst: HASH_CNT
      Src: /src/mosquitto/src/sys_tree.c:245,1
    - Dst: HASH_CNT
      Src: /src/mosquitto/src/sys_tree.c:246,1
    - Dst: HASH_CNT
      Src: /src/mosquitto/src/sys_tree.c:247,1
    - Dst: HASH_CNT
      Src: /src/mosquitto/src/sys_tree.c:248,1
    - Dst: HASH_CNT
      Src: /src/mosquitto/src/sys_tree.c:248,1
    - Dst: exp
      Src: /src/mosquitto/src/sys_tree.c:254,1
    - Dst: exp
      Src: /src/mosquitto/src/sys_tree.c:255,1
    - Dst: exp
      Src: /src/mosquitto/src/sys_tree.c:256,1
    - Dst: calc_load
      Src: /src/mosquitto/src/sys_tree.c:260,1
    - Dst: calc_load
      Src: /src/mosquitto/src/sys_tree.c:262,1
    - Dst: calc_load
      Src: /src/mosquitto/src/sys_tree.c:264,1
    - Dst: snprintf
      Src: /src/mosquitto/src/sys_tree.c:274,1
    - Dst: db__messages_easy_queue
      Src: /src/mosquitto/src/sys_tree.c:276,1
    - Dst: db__messages_easy_queue
      Src: /src/mosquitto/src/sys_tree.c:279,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 1
    argNames:
    - force
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 212
    functionDepth: 4
    functionLinenumber: 212
    functionLinenumberEnd: 287
    functionName: sys_tree__update
    functionSourceFile: /src/mosquitto/src/sys_tree.c
    functionUses: 2
    functionsReached:
    - db__messages_easy_queue
    - calc_load
    - mosquitto_max_memory_used
    - snprintf
    - exp
    - loop__update_next_event
    - mosquitto_memory_used
    - HASH_CNT
    linkageType: ''
    returnType: void
    signature: void sys_tree__update(bool force)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_basic_auth.c:38,1
    - Dst: memset
      Src: /src/mosquitto/src/plugin_basic_auth.c:39,1
    - Dst: struct mosquitto__callback*::cb
      Src: /src/mosquitto/src/plugin_basic_auth.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - opts
    - context
    argTypes:
    - struct mosquitto__security_options*
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 53
    functionName: plugin__basic_auth
    functionSourceFile: /src/mosquitto/src/plugin_basic_auth.c
    functionUses: 0
    functionsReached:
    - struct mosquitto__callback*::cb
    - DL_FOREACH_SAFE
    - memset
    linkageType: ''
    returnType: int
    signature: int plugin__basic_auth(struct mosquitto__security_options *opts, struct
      mosquitto *context)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: plugin__basic_auth
      Src: /src/mosquitto/src/plugin_basic_auth.c:63,1
    - Dst: plugin__basic_auth
      Src: /src/mosquitto/src/plugin_basic_auth.c:75,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 113
    functionName: mosquitto_basic_auth
    functionSourceFile: /src/mosquitto/src/plugin_basic_auth.c
    functionUses: 3
    functionsReached:
    - plugin__basic_auth
    linkageType: ''
    returnType: int
    signature: int mosquitto_basic_auth(struct mosquitto *context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/plugin_client_offline.c:35,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_client_offline.c:38,1
    - Dst: struct mosquitto__callback*::cb
      Src: /src/mosquitto/src/plugin_client_offline.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - opts
    - context
    - reason
    argTypes:
    - struct mosquitto__security_options*
    - struct mosquitto*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 41
    functionName: plugin__handle_client_offline_single
    functionSourceFile: /src/mosquitto/src/plugin_client_offline.c
    functionUses: 0
    functionsReached:
    - struct mosquitto__callback*::cb
    - DL_FOREACH_SAFE
    - memset
    linkageType: ''
    returnType: void
    signature: void plugin__handle_client_offline_single(struct mosquitto__security_options
      *opts, struct mosquitto *context, int reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: plugin__handle_client_offline_single
      Src: /src/mosquitto/src/plugin_client_offline.c:47,1
    - Dst: plugin__handle_client_offline_single
      Src: /src/mosquitto/src/plugin_client_offline.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - context
    - reason
    argTypes:
    - struct mosquitto*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: plugin__handle_client_offline
    functionSourceFile: /src/mosquitto/src/plugin_client_offline.c
    functionUses: 1
    functionsReached:
    - plugin__handle_client_offline_single
    linkageType: ''
    returnType: void
    signature: void plugin__handle_client_offline(struct mosquitto *context, int reason)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/src/broker_control.c:50,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/src/broker_control.c:55,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/src/broker_control.c:56,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/mosquitto/src/broker_control.c:57,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/src/broker_control.c:58,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/src/broker_control.c:61,1
    - Dst: DL_FOREACH
      Src: /src/mosquitto/src/broker_control.c:65,1
    - Dst: cJSON_CreateString
      Src: /src/mosquitto/src/broker_control.c:66,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/src/broker_control.c:68,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/src/broker_control.c:71,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/src/broker_control.c:74,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - j_plugins
    - pid
    argTypes:
    - cJSON*
    - mosquitto_plugin_id_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 41
    functionDepth: 4
    functionLinenumber: 41
    functionLinenumberEnd: 76
    functionName: add_plugin_info
    functionSourceFile: /src/mosquitto/src/broker_control.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_AddNumberToObject
    - cJSON_AddArrayToObject
    - cJSON_AddItemToArray
    - cJSON_CreateString
    - DL_FOREACH
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int add_plugin_info(cJSON *j_plugins, mosquitto_plugin_id_t *pid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/src/broker_control.c:84,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/src/broker_control.c:86,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/src/broker_control.c:90,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/src/broker_control.c:91,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/src/broker_control.c:92,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/src/broker_control.c:95,1
    - Dst: cJSON_AddObjectToObject
      Src: /src/mosquitto/src/broker_control.c:96,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/src/broker_control.c:97,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/src/broker_control.c:103,1
    - Dst: add_plugin_info
      Src: /src/mosquitto/src/broker_control.c:109,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/src/broker_control.c:114,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/src/broker_control.c:119,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/src/broker_control.c:120,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 79
    functionDepth: 5
    functionLinenumber: 79
    functionLinenumberEnd: 122
    functionName: broker__process_list_plugins
    functionSourceFile: /src/mosquitto/src/broker_control.c
    functionUses: 0
    functionsReached:
    - mosquitto_log_printf
    - cJSON_Delete
    - mosquitto_control_command_reply
    - mosquitto_client_id
    - cJSON_AddArrayToObject
    - mosquitto_client_username
    - cJSON_AddItemToArray
    - add_plugin_info
    - cJSON_AddObjectToObject
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int broker__process_list_plugins(struct mosquitto_control_cmd *cmd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/src/broker_control.c:130,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/src/broker_control.c:134,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/mosquitto/src/broker_control.c:142,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/src/broker_control.c:143,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/src/broker_control.c:144,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/src/broker_control.c:146,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/src/broker_control.c:154,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - j_listeners
    - listener
    argTypes:
    - cJSON*
    - struct mosquitto__listener*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 125
    functionDepth: 4
    functionLinenumber: 125
    functionLinenumberEnd: 162
    functionName: add_listener
    functionSourceFile: /src/mosquitto/src/broker_control.c
    functionUses: 1
    functionsReached:
    - cJSON_AddNumberToObject
    - cJSON_AddItemToArray
    - cJSON_AddBoolToObject
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int add_listener(cJSON *j_listeners, struct mosquitto__listener *listener)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/src/broker_control.c:170,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/src/broker_control.c:172,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/src/broker_control.c:176,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/src/broker_control.c:177,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/src/broker_control.c:178,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/src/broker_control.c:181,1
    - Dst: cJSON_AddObjectToObject
      Src: /src/mosquitto/src/broker_control.c:182,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/src/broker_control.c:183,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/src/broker_control.c:189,1
    - Dst: add_listener
      Src: /src/mosquitto/src/broker_control.c:195,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/src/broker_control.c:200,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/src/broker_control.c:205,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/src/broker_control.c:206,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 165
    functionDepth: 5
    functionLinenumber: 165
    functionLinenumberEnd: 208
    functionName: broker__process_list_listeners
    functionSourceFile: /src/mosquitto/src/broker_control.c
    functionUses: 0
    functionsReached:
    - mosquitto_log_printf
    - cJSON_Delete
    - mosquitto_control_command_reply
    - mosquitto_client_id
    - cJSON_AddArrayToObject
    - mosquitto_client_username
    - cJSON_AddItemToArray
    - add_listener
    - cJSON_AddObjectToObject
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int broker__process_list_listeners(struct mosquitto_control_cmd *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/src/broker_control.c:215,1
    - Dst: mosquitto_control_generic_callback
      Src: /src/mosquitto/src/broker_control.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 211
    functionDepth: 7
    functionLinenumber: 211
    functionLinenumberEnd: 218
    functionName: broker_control_callback
    functionSourceFile: /src/mosquitto/src/broker_control.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - mosquitto_control_generic_callback
    linkageType: ''
    returnType: int
    signature: int broker_control_callback(int event, void *event_data, void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/broker_control.c:223,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/src/broker_control.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 228
    functionName: broker_control__init
    functionSourceFile: /src/mosquitto/src/broker_control.c
    functionUses: 1
    functionsReached:
    - mosquitto_callback_register
    - memset
    linkageType: ''
    returnType: void
    signature: void broker_control__init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/src/broker_control.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: broker_control__cleanup
    functionSourceFile: /src/mosquitto/src/broker_control.c
    functionUses: 1
    functionsReached:
    - mosquitto_callback_unregister
    linkageType: ''
    returnType: void
    signature: void broker_control__cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: broker_control__cleanup
      Src: /src/mosquitto/src/broker_control.c:239,1
    - Dst: broker_control__init
      Src: /src/mosquitto/src/broker_control.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 237
    functionDepth: 4
    functionLinenumber: 237
    functionLinenumberEnd: 241
    functionName: broker_control__reload
    functionSourceFile: /src/mosquitto/src/broker_control.c
    functionUses: 1
    functionsReached:
    - broker_control__init
    - broker_control__cleanup
    linkageType: ''
    returnType: void
    signature: void broker_control__reload(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/src/broker_control.c:255,1
    - Dst: strcasecmp
      Src: /src/mosquitto/src/broker_control.c:257,1
    - Dst: broker__process_list_plugins
      Src: /src/mosquitto/src/broker_control.c:258,1
    - Dst: strcasecmp
      Src: /src/mosquitto/src/broker_control.c:259,1
    - Dst: broker__process_list_listeners
      Src: /src/mosquitto/src/broker_control.c:260,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/src/broker_control.c:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - cmd
    - userdata
    argTypes:
    - struct mosquitto_control_cmd*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 251
    functionDepth: 6
    functionLinenumber: 251
    functionLinenumberEnd: 268
    functionName: broker__handle_control
    functionSourceFile: /src/mosquitto/src/broker_control.c
    functionUses: 0
    functionsReached:
    - broker__process_list_listeners
    - mosquitto_control_command_reply
    - strcasecmp
    - broker__process_list_plugins
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int broker__handle_control(struct mosquitto_control_cmd *cmd, void
      *userdata)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/src/plugin_acl_check.c:35,1
    - Dst: strpbrk
      Src: /src/mosquitto/src/plugin_acl_check.c:43,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_acl_check.c:44,1
    - Dst: strpbrk
      Src: /src/mosquitto/src/plugin_acl_check.c:47,1
    - Dst: log__printf
      Src: /src/mosquitto/src/plugin_acl_check.c:48,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - plugin
    - context
    - access
    argTypes:
    - mosquitto_plugin_id_t*
    - struct mosquitto*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 67
    functionName: acl__pre_check
    functionSourceFile: /src/mosquitto/src/plugin_acl_check.c
    functionUses: 3
    functionsReached:
    - log__printf
    - strpbrk
    - mosquitto_client_username
    linkageType: ''
    returnType: int
    signature: int acl__pre_check(mosquitto_plugin_id_t *plugin, struct mosquitto
      *context, int access)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/mosquitto/src/plugin_acl_check.c:79,1
    - Dst: mosquitto_topic_matches_sub
      Src: /src/mosquitto/src/plugin_acl_check.c:82,1
    - Dst: strncmp
      Src: /src/mosquitto/src/plugin_acl_check.c:91,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - topic
    - access
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 102
    functionName: acl__check_dollar
    functionSourceFile: /src/mosquitto/src/plugin_acl_check.c
    functionUses: 0
    functionsReached:
    - strncmp
    - mosquitto_topic_matches_sub
    linkageType: ''
    returnType: int
    signature: int acl__check_dollar(const char *topic, int access)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/src/plugin_acl_check.c:112,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/src/plugin_acl_check.c:119,1
    - Dst: memset
      Src: /src/mosquitto/src/plugin_acl_check.c:122,1
    - Dst: struct mosquitto__callback*::cb
      Src: /src/mosquitto/src/plugin_acl_check.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 8
    argNames:
    - opts
    - context
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    - access
    argTypes:
    - struct mosquitto__security_options*
    - struct mosquitto*
    - char*
    - uint32_t
    - void*
    - uint8_t
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 138
    functionName: plugin__acl_check
    functionSourceFile: /src/mosquitto/src/plugin_acl_check.c
    functionUses: 0
    functionsReached:
    - struct mosquitto__callback*::cb
    - DL_FOREACH_SAFE
    - memset
    linkageType: ''
    returnType: int
    signature: int plugin__acl_check(struct mosquitto__security_options *opts, struct
      mosquitto *context, const char *topic, uint32_t payloadlen, void *payload, uint8_t
      qos, bool retain, int access)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: acl__check_dollar
      Src: /src/mosquitto/src/plugin_acl_check.c:153,1
    - Dst: plugin__acl_check
      Src: /src/mosquitto/src/plugin_acl_check.c:166,1
    - Dst: plugin__acl_check
      Src: /src/mosquitto/src/plugin_acl_check.c:181,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 7
    argNames:
    - context
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    - access
    argTypes:
    - struct mosquitto*
    - char*
    - uint32_t
    - void*
    - uint8_t
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 203
    functionName: mosquitto_acl_check
    functionSourceFile: /src/mosquitto/src/plugin_acl_check.c
    functionUses: 9
    functionsReached:
    - plugin__acl_check
    - acl__check_dollar
    linkageType: ''
    returnType: int
    signature: int mosquitto_acl_check(struct mosquitto *context, const char *topic,
      uint32_t payloadlen, void *payload, uint8_t qos, bool retain, int access)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - i1
    - i2
    argTypes:
    - struct session_expiry_list*
    - struct session_expiry_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: session_expiry__cmp
    functionSourceFile: /src/mosquitto/src/session_expiry.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int session_expiry__cmp(struct session_expiry_list *i1, struct session_expiry_list
      *i2)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 61
    functionName: set_session_expiry_time
    functionSourceFile: /src/mosquitto/src/session_expiry.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_session_expiry_time(struct mosquitto *context)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/session_expiry.c:82,1
    - Dst: set_session_expiry_time
      Src: /src/mosquitto/src/session_expiry.c:88,1
    - Dst: DL_INSERT_INORDER
      Src: /src/mosquitto/src/session_expiry.c:91,1
    - Dst: plugin_persist__handle_client_update
      Src: /src/mosquitto/src/session_expiry.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 96
    functionName: session_expiry__add
    functionSourceFile: /src/mosquitto/src/session_expiry.c
    functionUses: 1
    functionsReached:
    - set_session_expiry_time
    - DL_INSERT_INORDER
    - plugin_persist__handle_client_update
    - mosquitto_calloc
    linkageType: ''
    returnType: int
    signature: int session_expiry__add(struct mosquitto *context)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/src/session_expiry.c:117,1
    - Dst: set_session_expiry_time
      Src: /src/mosquitto/src/session_expiry.c:126,1
    - Dst: DL_INSERT_INORDER
      Src: /src/mosquitto/src/session_expiry.c:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - context
    - expiry_time
    argTypes:
    - struct mosquitto*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 134
    functionName: session_expiry__add_from_persistence
    functionSourceFile: /src/mosquitto/src/session_expiry.c
    functionUses: 2
    functionsReached:
    - set_session_expiry_time
    - DL_INSERT_INORDER
    - mosquitto_calloc
    linkageType: ''
    returnType: int
    signature: int session_expiry__add_from_persistence(struct mosquitto *context,
      time_t expiry_time)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DL_DELETE
      Src: /src/mosquitto/src/session_expiry.c:140,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/src/session_expiry.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: session_expiry__remove
    functionSourceFile: /src/mosquitto/src/session_expiry.c
    functionUses: 3
    functionsReached:
    - mosquitto_FREE
    - DL_DELETE
    linkageType: ''
    returnType: void
    signature: void session_expiry__remove(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: session_expiry__remove
      Src: /src/mosquitto/src/session_expiry.c:154,1
    - Dst: will_delay__remove
      Src: /src/mosquitto/src/session_expiry.c:157,1
    - Dst: context__disconnect
      Src: /src/mosquitto/src/session_expiry.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 160
    functionName: session_expiry__remove_all
    functionSourceFile: /src/mosquitto/src/session_expiry.c
    functionUses: 1
    functionsReached:
    - will_delay__remove
    - context__disconnect
    - session_expiry__remove
    linkageType: ''
    returnType: void
    signature: void session_expiry__remove_all(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: session_expiry__remove
      Src: /src/mosquitto/src/session_expiry.c:154,1
    - Dst: will_delay__remove
      Src: /src/mosquitto/src/session_expiry.c:157,1
    - Dst: context__disconnect
      Src: /src/mosquitto/src/session_expiry.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: DL_FOREACH_SAFE
    functionSourceFile: /src/mosquitto/src/session_expiry.c
    functionUses: 44
    functionsReached:
    - will_delay__remove
    - context__disconnect
    - session_expiry__remove
    linkageType: ''
    returnType: void
    signature: void DL_FOREACH_SAFE(expiry_list, item, tmp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: loop__update_next_event
      Src: /src/mosquitto/src/session_expiry.c:177,1
    - Dst: session_expiry__remove
      Src: /src/mosquitto/src/session_expiry.c:188,1
    - Dst: log__printf
      Src: /src/mosquitto/src/session_expiry.c:191,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/src/session_expiry.c:193,1
    - Dst: will_delay__remove
      Src: /src/mosquitto/src/session_expiry.c:199,1
    - Dst: context__send_will
      Src: /src/mosquitto/src/session_expiry.c:200,1
    - Dst: plugin_persist__handle_client_delete
      Src: /src/mosquitto/src/session_expiry.c:201,1
    - Dst: context__add_to_disused
      Src: /src/mosquitto/src/session_expiry.c:202,1
    - Dst: loop__update_next_event
      Src: /src/mosquitto/src/session_expiry.c:208,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 212
    functionName: session_expiry__check
    functionSourceFile: /src/mosquitto/src/session_expiry.c
    functionUses: 2
    functionsReached:
    - plugin_persist__handle_client_delete
    - will_delay__remove
    - metrics__int_inc
    - context__send_will
    - loop__update_next_event
    - context__add_to_disused
    - session_expiry__remove
    - log__printf
    linkageType: ''
    returnType: void
    signature: void session_expiry__check(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: session_expiry__remove
      Src: /src/mosquitto/src/session_expiry.c:188,1
    - Dst: log__printf
      Src: /src/mosquitto/src/session_expiry.c:191,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/src/session_expiry.c:193,1
    - Dst: will_delay__remove
      Src: /src/mosquitto/src/session_expiry.c:199,1
    - Dst: context__send_will
      Src: /src/mosquitto/src/session_expiry.c:200,1
    - Dst: plugin_persist__handle_client_delete
      Src: /src/mosquitto/src/session_expiry.c:201,1
    - Dst: context__add_to_disused
      Src: /src/mosquitto/src/session_expiry.c:202,1
    - Dst: loop__update_next_event
      Src: /src/mosquitto/src/session_expiry.c:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 211
    functionName: DL_FOREACH_SAFE
    functionSourceFile: /src/mosquitto/src/session_expiry.c
    functionUses: 44
    functionsReached:
    - plugin_persist__handle_client_delete
    - will_delay__remove
    - metrics__int_inc
    - context__send_will
    - loop__update_next_event
    - context__add_to_disused
    - session_expiry__remove
    - log__printf
    linkageType: ''
    returnType: void
    signature: void DL_FOREACH_SAFE(expiry_list, item, tmp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: log__printf
      Src: /src/mosquitto/src/send_suback.c:36,1
    - Dst: mosquitto_property_get_remaining_length
      Src: /src/mosquitto/src/send_suback.c:40,1
    - Dst: packet__alloc
      Src: /src/mosquitto/src/send_suback.c:42,1
    - Dst: packet__write_uint16
      Src: /src/mosquitto/src/send_suback.c:46,1
    - Dst: property__write_all
      Src: /src/mosquitto/src/send_suback.c:50,1
    - Dst: packet__write_bytes
      Src: /src/mosquitto/src/send_suback.c:54,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/src/send_suback.c:57,1
    - Dst: packet__queue
      Src: /src/mosquitto/src/send_suback.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - context
    - mid
    - payloadlen
    - payload
    argTypes:
    - struct mosquitto*
    - uint16_t
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 59
    functionName: send__suback
    functionSourceFile: /src/mosquitto/src/send_suback.c
    functionUses: 1
    functionsReached:
    - packet__queue
    - mosquitto_property_get_remaining_length
    - property__write_all
    - metrics__int_inc
    - packet__write_bytes
    - packet__alloc
    - log__printf
    - packet__write_uint16
    linkageType: ''
    returnType: int
    signature: int send__suback(struct mosquitto *context, uint16_t mid, uint32_t
      payloadlen, const void *payload)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:45,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:45,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:47,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:52,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:54,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:64,1
    - Dst: snprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:65,1
    - Dst: snprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:66,1
    - Dst: get_password
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:67,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:71,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:75,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:78,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:79,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:80,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:81,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 3
    argNames:
    - argc
    - argv
    - j_command
    argTypes:
    - int
    - char*[]
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 30
    functionDepth: 4
    functionLinenumber: 30
    functionLinenumberEnd: 88
    functionName: dynsec_client__create
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c
    functionUses: 0
    functionsReached:
    - fprintf
    - snprintf
    - get_password
    - printf
    - strcmp
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_client__create(int argc, char *argv[], cJSON *j_command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:101,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - argc
    - argv
    - j_command
    argTypes:
    - int
    - char*[]
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 91
    functionDepth: 4
    functionLinenumber: 91
    functionLinenumberEnd: 109
    functionName: dynsec_client__delete
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c
    functionUses: 0
    functionsReached:
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_client__delete(int argc, char *argv[], cJSON *j_command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:122,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - argc
    - argv
    - j_command
    - command
    argTypes:
    - int
    - char*[]
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 112
    functionDepth: 4
    functionLinenumber: 112
    functionLinenumberEnd: 130
    functionName: dynsec_client__enable_disable
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c
    functionUses: 0
    functionsReached:
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_client__enable_disable(int argc, char *argv[], cJSON *j_command,
      const char *command)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:146,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:147,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:148,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - argc
    - argv
    - j_command
    argTypes:
    - int
    - char*[]
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 133
    functionDepth: 4
    functionLinenumber: 133
    functionLinenumberEnd: 155
    functionName: dynsec_client__set_id
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c
    functionUses: 0
    functionsReached:
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_client__set_id(int argc, char *argv[], cJSON *j_command)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:170,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:179,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:181,1
    - Dst: atoi
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:184,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:187,1
    - Dst: fopen
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:192,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:194,1
    - Dst: fseek
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:197,1
    - Dst: ftell
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:198,1
    - Dst: fseek
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:199,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:201,1
    - Dst: fclose
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:202,1
    - Dst: calloc
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:206,1
    - Dst: fclose
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:208,1
    - Dst: fread
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:211,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:212,1
    - Dst: fclose
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:213,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:214,1
    - Dst: fclose
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:217,1
    - Dst: cJSON_Parse
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:219,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:220,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:223,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:227,1
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:228,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:229,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:230,1
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:235,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:237,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:238,1
    - Dst: mosquitto_pw_new
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:240,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:241,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:242,1
    - Dst: mosquitto_pw_new
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:246,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:247,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:248,1
    - Dst: mosquitto_pw_set_param
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:251,1
    - Dst: mosquitto_pw_hash_encoded
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:253,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:254,1
    - Dst: mosquitto_pw_cleanup
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:255,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:257,1
    - Dst: cJSON_CreateString
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:261,1
    - Dst: mosquitto_pw_get_encoded
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:261,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:263,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:264,1
    - Dst: mosquitto_pw_cleanup
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:265,1
    - Dst: mosquitto_pw_cleanup
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:268,1
    - Dst: cJSON_DeleteItemFromObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:270,1
    - Dst: cJSON_DeleteItemFromObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:271,1
    - Dst: cJSON_DeleteItemFromObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:272,1
    - Dst: cJSON_DeleteItemFromObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:273,1
    - Dst: cJSON_AddItemToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:274,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:276,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:277,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:279,1
    - Dst: fopen
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:282,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:284,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:285,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:288,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:289,1
    - Dst: fclose
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:290,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:297,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 116
    argCount: 3
    argNames:
    - argc
    - argv
    - file
    argTypes:
    - int
    - char*[]
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 158
    functionDepth: 4
    functionLinenumber: 158
    functionLinenumberEnd: 299
    functionName: dynsec_client__file_set_password
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c
    functionUses: 0
    functionsReached:
    - mosquitto_pw_hash_encoded
    - mosquitto_pw_set_param
    - atoi
    - strcmp
    - cJSON_IsObject
    - cJSON_AddItemToObject
    - fseek
    - mosquitto_pw_new
    - calloc
    - cJSON_Delete
    - ftell
    - json_get_string
    - free
    - fread
    - cJSON_PrintUnformatted
    - cJSON_IsArray
    - fprintf
    - cJSON_GetObjectItem
    - cJSON_CreateString
    - mosquitto_pw_cleanup
    - cJSON_Parse
    - fclose
    - memset
    - fopen
    - cJSON_DeleteItemFromObject
    - mosquitto_pw_get_encoded
    linkageType: ''
    returnType: int
    signature: int dynsec_client__file_set_password(int argc, char *argv[], const
      char *file)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:235,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:237,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:238,1
    - Dst: mosquitto_pw_new
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:240,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:241,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:242,1
    - Dst: mosquitto_pw_new
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:246,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:247,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:248,1
    - Dst: mosquitto_pw_set_param
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:251,1
    - Dst: mosquitto_pw_hash_encoded
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:253,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:254,1
    - Dst: mosquitto_pw_cleanup
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:255,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:257,1
    - Dst: cJSON_CreateString
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:261,1
    - Dst: mosquitto_pw_get_encoded
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:261,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:263,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:264,1
    - Dst: mosquitto_pw_cleanup
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:265,1
    - Dst: mosquitto_pw_cleanup
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:268,1
    - Dst: cJSON_DeleteItemFromObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:270,1
    - Dst: cJSON_DeleteItemFromObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:271,1
    - Dst: cJSON_DeleteItemFromObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:272,1
    - Dst: cJSON_DeleteItemFromObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:273,1
    - Dst: cJSON_AddItemToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:274,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:276,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:277,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:279,1
    - Dst: fopen
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:282,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:284,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:285,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:288,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:289,1
    - Dst: fclose
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:290,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 234
    functionDepth: 4
    functionLinenumber: 234
    functionLinenumberEnd: 295
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c
    functionUses: 1
    functionsReached:
    - mosquitto_pw_new
    - mosquitto_pw_hash_encoded
    - cJSON_Delete
    - cJSON_PrintUnformatted
    - cJSON_AddItemToObject
    - free
    - fprintf
    - mosquitto_pw_set_param
    - json_get_string
    - fclose
    - cJSON_CreateString
    - mosquitto_pw_cleanup
    - cJSON_IsObject
    - strcmp
    - fopen
    - cJSON_DeleteItemFromObject
    - mosquitto_pw_get_encoded
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(j_client, j_clients)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:315,1
    - Dst: snprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:316,1
    - Dst: get_password
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:317,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:326,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:327,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:328,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - argc
    - argv
    - j_command
    argTypes:
    - int
    - char*[]
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 302
    functionDepth: 4
    functionLinenumber: 302
    functionLinenumberEnd: 335
    functionName: dynsec_client__set_password
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c
    functionUses: 0
    functionsReached:
    - get_password
    - snprintf
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_client__set_password(int argc, char *argv[], cJSON *j_command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:348,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - argc
    - argv
    - j_command
    argTypes:
    - int
    - char*[]
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 338
    functionDepth: 4
    functionLinenumber: 338
    functionLinenumberEnd: 356
    functionName: dynsec_client__get
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c
    functionUses: 0
    functionsReached:
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_client__get(int argc, char *argv[], cJSON *j_command)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:370,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:375,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:376,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:377,1
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:378,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - argc
    - argv
    - j_command
    - command
    argTypes:
    - int
    - char*[]
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 359
    functionDepth: 4
    functionLinenumber: 359
    functionLinenumberEnd: 385
    functionName: dynsec_client__add_remove_role
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c
    functionUses: 0
    functionsReached:
    - cJSON_AddIntToObject
    - atoi
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_client__add_remove_role(int argc, char *argv[], cJSON *j_command,
      const char *command)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:395,1
    - Dst: atoi
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:397,1
    - Dst: atoi
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:398,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:403,1
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:404,1
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c:405,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - argc
    - argv
    - j_command
    argTypes:
    - int
    - char*[]
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 388
    functionDepth: 4
    functionLinenumber: 388
    functionLinenumberEnd: 412
    functionName: dynsec_client__list_all
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c
    functionUses: 0
    functionsReached:
    - cJSON_AddIntToObject
    - atoi
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_client__list_all(int argc, char *argv[], cJSON *j_command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_printf.c:29,1
    - Dst: ctrl_shell__output
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_printf.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fmt
    - va
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: ctrl_shell_vprintf
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_printf.c
    functionUses: 0
    functionsReached:
    - ctrl_shell__output
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void ctrl_shell_vprintf(const char *fmt, va_list va)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_printf.c:38,1
    - Dst: ctrl_shell_vprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_printf.c:39,1
    - Dst: va_end
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_printf.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: ctrl_shell_printf
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_printf.c
    functionUses: 0
    functionsReached:
    - ctrl_shell_vprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: void ctrl_shell_printf(const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:44,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - argc
    - argv
    - j_command
    argTypes:
    - int
    - char*[]
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 34
    functionDepth: 4
    functionLinenumber: 34
    functionLinenumberEnd: 52
    functionName: dynsec_role__create
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c
    functionUses: 0
    functionsReached:
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_role__create(int argc, char *argv[], cJSON *j_command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:65,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - argc
    - argv
    - j_command
    argTypes:
    - int
    - char*[]
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 55
    functionDepth: 4
    functionLinenumber: 55
    functionLinenumberEnd: 73
    functionName: dynsec_role__delete
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c
    functionUses: 0
    functionsReached:
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_role__delete(int argc, char *argv[], cJSON *j_command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:86,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - argc
    - argv
    - j_command
    argTypes:
    - int
    - char*[]
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 76
    functionDepth: 4
    functionLinenumber: 76
    functionLinenumberEnd: 94
    functionName: dynsec_role__get
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c
    functionUses: 0
    functionsReached:
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_role__get(int argc, char *argv[], cJSON *j_command)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:104,1
    - Dst: atoi
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:106,1
    - Dst: atoi
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:107,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:112,1
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:113,1
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:114,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - argc
    - argv
    - j_command
    argTypes:
    - int
    - char*[]
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 97
    functionDepth: 4
    functionLinenumber: 97
    functionLinenumberEnd: 121
    functionName: dynsec_role__list_all
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c
    functionUses: 0
    functionsReached:
    - cJSON_AddIntToObject
    - atoi
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_role__list_all(int argc, char *argv[], cJSON *j_command)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:135,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:145,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:146,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:147,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:148,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:149,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:150,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:154,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:156,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:162,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:163,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:164,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:165,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:166,1
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:167,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 3
    argNames:
    - argc
    - argv
    - j_command
    argTypes:
    - int
    - char*[]
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 124
    functionDepth: 4
    functionLinenumber: 124
    functionLinenumberEnd: 174
    functionName: dynsec_role__add_acl
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c
    functionUses: 0
    functionsReached:
    - cJSON_AddIntToObject
    - strcasecmp
    - atoi
    - cJSON_AddBoolToObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_role__add_acl(int argc, char *argv[], cJSON *j_command)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:189,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:190,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:191,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:192,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:193,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:194,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:199,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:200,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:201,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c:202,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - argc
    - argv
    - j_command
    argTypes:
    - int
    - char*[]
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 177
    functionDepth: 4
    functionLinenumber: 177
    functionLinenumberEnd: 209
    functionName: dynsec_role__remove_acl
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_role__remove_acl(int argc, char *argv[], cJSON *j_command)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c
    functionUses: 225
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:42,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:44,1
    - Dst: completion_tree_cmd_add_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:45,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:47,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:48,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 50
    functionName: command_tree_create
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c
    functionUses: 0
    functionsReached:
    - calloc
    - completion_tree_cmd_add
    - completion_tree_cmd_add_arg_list
    linkageType: ''
    returnType: void
    signature: void command_tree_create(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:55,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:57,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:58,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:59,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:60,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:61,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:62,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:63,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:64,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:65,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:66,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:67,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:68,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:69,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:70,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:71,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:72,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:73,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:74,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:76,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:79,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:81,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:82,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:84,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:85,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:86,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:87,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:88,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:89,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:90,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 1
    argNames:
    - saveptr
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 93
    functionName: print_help
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c
    functionUses: 0
    functionsReached:
    - ctrl_shell_print_help_command
    - strcasecmp
    - strtok_r
    - ctrl_shell_printf
    linkageType: ''
    returnType: void
    signature: void print_help(char **saveptr)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_shell_callback_final
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:102,1
    - Dst: ctrl_shell_rtrim
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:106,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:107,1
    - Dst: add_history
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:108,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:110,1
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:114,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:116,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:120,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:121,1
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:122,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:124,1
    - Dst: snprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:127,1
    - Dst: readline
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:128,1
    - Dst: ctrl_shell_get_password
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:132,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:133,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:134,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:137,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:138,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:139,1
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:140,1
    - Dst: strncasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:142,1
    - Dst: strncasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:146,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:152,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:153,1
    - Dst: strncasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:156,1
    - Dst: strncasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:161,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:168,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:169,1
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:173,1
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:174,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:177,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:178,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:181,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:182,1
    - Dst: atoi
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:184,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:188,1
    - Dst: ctrl_shell__connect
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:195,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:196,1
    - Dst: print_help
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:197,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:198,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:201,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:204,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 92
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 205
    functionName: line_callback
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - ctrl_shell_callback_final
    - strdup
    - print_help
    - strcasecmp
    - readline
    - add_history
    - snprintf
    - ctrl_shell_get_password
    - ctrl_shell_printf
    - atoi
    - strlen
    - strtok_r
    - ctrl_shell_rtrim
    - free
    - ctrl_shell__connect
    linkageType: ''
    returnType: void
    signature: void line_callback(char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: completion_tree_free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: ctrl_shell__pre_connect_cleanup
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c
    functionUses: 0
    functionsReached:
    - completion_tree_free
    linkageType: ''
    returnType: void
    signature: void ctrl_shell__pre_connect_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: command_tree_create
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:217,1
    - Dst: ctrl_shell_completion_commands_set
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:218,1
    - Dst: ctrl_shell_line_callback_set
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:219,1
    - Dst: snprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 221
    functionName: ctrl_shell__pre_connect_init
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c
    functionUses: 0
    functionsReached:
    - ctrl_shell_completion_commands_set
    - ctrl_shell_line_callback_set
    - snprintf
    - command_tree_create
    linkageType: ''
    returnType: void
    signature: void ctrl_shell__pre_connect_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_io.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: ctrl_shell__output
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_io.c
    functionUses: 16
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void ctrl_shell__output(const char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_io.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - size
    - stream
    argTypes:
    - char*
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: ctrl_shell_fgets
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_io.c
    functionUses: 9
    functionsReached:
    - fgets
    linkageType: ''
    returnType: char
    signature: char *ctrl_shell_fgets(char *s, int size, FILE *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c
    functionUses: 225
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: completion_tree_arg_list_args_free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:45,1
    - Dst: completion_tree_arg_list_args_free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:46,1
    - Dst: completion_tree_arg_list_args_free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:47,1
    - Dst: calloc
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:53,1
    - Dst: completion_tree_cmd_new_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:56,1
    - Dst: completion_tree_cmd_new_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:61,1
    - Dst: completion_tree_cmd_new_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:66,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:70,1
    - Dst: completion_tree_cmd_add_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:71,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:73,1
    - Dst: completion_tree_cmd_append_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:74,1
    - Dst: completion_tree_cmd_append_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:75,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:77,1
    - Dst: completion_tree_cmd_append_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:78,1
    - Dst: completion_tree_cmd_append_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:79,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:81,1
    - Dst: completion_tree_cmd_append_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:82,1
    - Dst: completion_tree_cmd_append_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:83,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:86,1
    - Dst: completion_tree_cmd_append_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:87,1
    - Dst: completion_tree_cmd_add_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:89,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:90,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:91,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:92,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:93,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:94,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:95,1
    - Dst: completion_tree_cmd_add_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:97,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:98,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:99,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:102,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:103,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:104,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:106,1
    - Dst: completion_tree_cmd_append_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:107,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:109,1
    - Dst: completion_tree_cmd_append_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:110,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:112,1
    - Dst: completion_tree_cmd_append_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:113,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:115,1
    - Dst: completion_tree_cmd_append_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:116,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:118,1
    - Dst: completion_tree_cmd_append_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:119,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:121,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:123,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:125,1
    - Dst: completion_tree_cmd_append_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:126,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:128,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:130,1
    - Dst: completion_tree_cmd_append_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:131,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:133,1
    - Dst: completion_tree_cmd_append_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:134,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:136,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:137,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:138,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:140,1
    - Dst: completion_tree_cmd_append_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:141,1
    - Dst: completion_tree_cmd_append_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:142,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:144,1
    - Dst: completion_tree_cmd_append_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:145,1
    - Dst: completion_tree_cmd_append_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:146,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:148,1
    - Dst: completion_tree_cmd_append_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:149,1
    - Dst: completion_tree_cmd_append_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:150,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:153,1
    - Dst: completion_tree_cmd_append_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:154,1
    - Dst: completion_tree_cmd_add_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:156,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:157,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:158,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:159,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:160,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:161,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:162,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:165,1
    - Dst: completion_tree_cmd_append_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:166,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:168,1
    - Dst: completion_tree_cmd_append_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:169,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:171,1
    - Dst: completion_tree_cmd_append_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:172,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:175,1
    - Dst: completion_tree_cmd_append_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:176,1
    - Dst: completion_tree_cmd_add_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:178,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:179,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:180,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:184,1
    - Dst: completion_tree_cmd_append_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:185,1
    - Dst: completion_tree_cmd_add_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:187,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:188,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:189,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:193,1
    - Dst: completion_tree_cmd_append_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:194,1
    - Dst: completion_tree_cmd_add_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:196,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:197,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:198,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:199,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:203,1
    - Dst: completion_tree_cmd_add_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:205,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:206,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:207,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:208,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:209,1
    - Dst: completion_tree_cmd_add_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:211,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:212,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:213,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:216,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:217,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 126
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 219
    functionName: command_tree_create
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c
    functionUses: 1
    functionsReached:
    - calloc
    - completion_tree_cmd_add_arg_list
    - completion_tree_cmd_add
    - completion_tree_arg_list_args_free
    - completion_tree_arg_list_add_arg
    - completion_tree_cmd_append_arg_list
    - completion_tree_cmd_new_arg_list
    linkageType: ''
    returnType: void
    signature: void command_tree_create(void)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:224,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:226,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:227,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:228,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:229,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:230,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:231,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:232,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:233,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:234,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:235,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:236,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:237,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:238,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:239,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:240,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:241,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:242,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:243,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:244,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:245,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:246,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:247,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:248,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:249,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:250,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:251,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:252,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:253,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:254,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:255,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:256,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:257,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:258,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:259,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:260,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:261,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:262,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:263,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:264,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:265,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:266,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:267,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:268,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:269,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:270,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:271,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:272,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:273,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:274,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:275,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:276,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:277,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:278,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:279,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:280,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:281,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:282,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:283,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:284,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:285,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:286,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:287,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:288,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:289,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:290,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:291,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:292,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:293,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:294,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:295,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:296,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:297,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:298,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:299,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:300,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:301,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:302,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:303,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:304,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:305,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:306,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:307,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:308,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:309,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:310,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:311,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:312,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:313,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:314,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:315,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:316,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:317,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:318,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:319,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:320,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:321,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:322,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:323,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:324,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:325,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:326,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:327,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:328,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:329,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:330,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:331,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:332,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:333,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:334,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:335,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:336,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:337,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:338,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:339,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:340,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:341,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:342,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:343,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:344,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:345,1
    - Dst: ctrl_shell_print_help_final
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:347,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:350,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:351,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:352,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:354,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:355,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 163
    argCount: 1
    argNames:
    - saveptr
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 357
    functionName: print_help
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c
    functionUses: 1
    functionsReached:
    - ctrl_shell_print_help_command
    - strcasecmp
    - ctrl_shell_print_help_final
    - ctrl_shell_printf
    - strtok_r
    linkageType: ''
    returnType: void
    signature: void print_help(char **saveptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:364,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:367,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:368,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:369,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:370,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:372,1
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:376,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:379,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:380,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:382,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:386,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:387,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:388,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:389,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:390,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:391,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:392,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:392,1
    - Dst: ctrl_shell_publish_blocking
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:394,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - saveptr
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 360
    functionDepth: 4
    functionLinenumber: 360
    functionLinenumberEnd: 395
    functionName: send_set_default_acl_access
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - cJSON_AddArrayToObject
    - ctrl_shell_printf
    - cJSON_AddItemToArray
    - strtok_r
    - strcmp
    - ctrl_shell_publish_blocking
    - cJSON_AddBoolToObject
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int send_set_default_acl_access(char **saveptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:400,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:401,1
    - Dst: ctrl_shell_publish_blocking
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - command
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 398
    functionDepth: 4
    functionLinenumber: 398
    functionLinenumberEnd: 406
    functionName: list_update
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c
    functionUses: 0
    functionsReached:
    - ctrl_shell_publish_blocking
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int list_update(const char *command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:413,1
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:414,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:416,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:417,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:419,1
    - Dst: atoi
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:419,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:422,1
    - Dst: atoi
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:422,1
    - Dst: ctrl_shell_publish_blocking
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - command
    - saveptr
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 409
    functionDepth: 4
    functionLinenumber: 409
    functionLinenumberEnd: 426
    functionName: list_generic
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c
    functionUses: 0
    functionsReached:
    - cJSON_AddNumberToObject
    - atoi
    - strtok_r
    - ctrl_shell_publish_blocking
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int list_generic(const char *command, char **saveptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:431,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:433,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:434,1
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:437,1
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:442,1
    - Dst: ctrl_shell_get_password
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:444,1
    - Dst: ctrl_shell_get_password
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:445,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:447,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:451,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:452,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:459,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:460,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:461,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:462,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:464,1
    - Dst: ctrl_shell_publish_blocking
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:466,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - saveptr
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 429
    functionDepth: 4
    functionLinenumber: 429
    functionLinenumberEnd: 469
    functionName: send_create_client
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c
    functionUses: 0
    functionsReached:
    - ctrl_shell_get_password
    - ctrl_shell_printf
    - strtok_r
    - strcmp
    - ctrl_shell_publish_blocking
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int send_create_client(char **saveptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:474,1
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:475,1
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:476,1
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:477,1
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:478,1
    - Dst: atoi
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:483,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:490,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:494,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:495,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:496,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:497,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:498,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:499,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:502,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:503,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:507,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:507,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:508,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:509,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:513,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:514,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:515,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:516,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:517,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:518,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:519,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:519,1
    - Dst: ctrl_shell_publish_blocking
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:521,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 1
    argNames:
    - saveptr
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 472
    functionDepth: 4
    functionLinenumber: 472
    functionLinenumberEnd: 522
    functionName: send_add_role_acl
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c
    functionUses: 0
    functionsReached:
    - cJSON_AddNumberToObject
    - strcasecmp
    - atoi
    - ctrl_shell_printf
    - strtok_r
    - ctrl_shell_publish_blocking
    - cJSON_AddBoolToObject
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int send_add_role_acl(char **saveptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:527,1
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:528,1
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:529,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:532,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:536,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:537,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:538,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:539,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:540,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:541,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:545,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:546,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:550,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:551,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:552,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:553,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:554,1
    - Dst: ctrl_shell_publish_blocking
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:556,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - saveptr
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 525
    functionDepth: 4
    functionLinenumber: 525
    functionLinenumberEnd: 558
    functionName: send_remove_role_acl
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - ctrl_shell_printf
    - strtok_r
    - ctrl_shell_publish_blocking
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int send_remove_role_acl(char **saveptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:563,1
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:564,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:567,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:571,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:571,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:571,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:572,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:573,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:577,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:578,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:578,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:579,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:580,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:585,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:586,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:587,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:588,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:589,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:589,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:591,1
    - Dst: ctrl_shell_publish_blocking
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:594,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - command
    - objectname
    - saveptr
    argTypes:
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 561
    functionDepth: 4
    functionLinenumber: 561
    functionLinenumberEnd: 595
    functionName: send_modify
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - ctrl_shell_printf
    - strtok_r
    - ctrl_shell_publish_blocking
    - cJSON_AddBoolToObject
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int send_modify(const char *command, const char *objectname, char **saveptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:603,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:605,1
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:608,1
    - Dst: ctrl_shell_get_password
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:610,1
    - Dst: ctrl_shell_get_password
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:611,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:613,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:617,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:618,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:625,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:626,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:627,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:628,1
    - Dst: ctrl_shell_publish_blocking
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:630,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - saveptr
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 598
    functionDepth: 4
    functionLinenumber: 598
    functionLinenumberEnd: 631
    functionName: send_set_client_password
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c
    functionUses: 0
    functionsReached:
    - ctrl_shell_get_password
    - ctrl_shell_printf
    - strtok_r
    - strcmp
    - ctrl_shell_publish_blocking
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int send_set_client_password(char **saveptr)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_shell_callback_final
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:637,1
    - Dst: ctrl_shell_rtrim
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:640,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:641,1
    - Dst: add_history
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:642,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:644,1
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:649,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:652,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:656,1
    - Dst: ctrl_shell_command_generic_arg2
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:657,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:658,1
    - Dst: ctrl_shell_command_generic_arg2
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:659,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:660,1
    - Dst: ctrl_shell_command_generic_arg2
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:661,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:662,1
    - Dst: send_add_role_acl
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:663,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:664,1
    - Dst: send_create_client
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:665,1
    - Dst: list_update
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:666,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:668,1
    - Dst: ctrl_shell_command_generic_arg1
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:669,1
    - Dst: list_update
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:670,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:672,1
    - Dst: ctrl_shell_command_generic_arg1
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:673,1
    - Dst: list_update
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:674,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:676,1
    - Dst: ctrl_shell_command_generic_arg1
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:677,1
    - Dst: list_update
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:678,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:680,1
    - Dst: ctrl_shell_command_generic_arg1
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:681,1
    - Dst: list_update
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:682,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:684,1
    - Dst: ctrl_shell_command_generic_arg1
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:685,1
    - Dst: list_update
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:686,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:688,1
    - Dst: ctrl_shell_command_generic_arg1
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:689,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:690,1
    - Dst: ctrl_shell_command_generic_arg1
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:691,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:692,1
    - Dst: ctrl_shell_command_generic_arg0
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:693,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:694,1
    - Dst: ctrl_shell_command_generic_arg0
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:695,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:696,1
    - Dst: ctrl_shell_command_generic_arg1
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:697,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:698,1
    - Dst: ctrl_shell_command_generic_arg0
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:699,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:700,1
    - Dst: ctrl_shell_command_generic_arg1
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:701,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:702,1
    - Dst: ctrl_shell_command_generic_arg1
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:703,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:704,1
    - Dst: list_generic
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:706,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:707,1
    - Dst: list_generic
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:709,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:710,1
    - Dst: list_generic
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:712,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:713,1
    - Dst: ctrl_shell_command_generic_arg2
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:714,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:715,1
    - Dst: ctrl_shell_command_generic_arg2
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:716,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:717,1
    - Dst: ctrl_shell_command_generic_arg2
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:718,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:719,1
    - Dst: send_remove_role_acl
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:720,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:721,1
    - Dst: ctrl_shell_command_generic_arg1
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:722,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:723,1
    - Dst: ctrl_shell_command_generic_arg2
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:724,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:725,1
    - Dst: send_set_client_password
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:726,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:727,1
    - Dst: send_modify
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:728,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:729,1
    - Dst: send_modify
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:730,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:731,1
    - Dst: send_modify
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:732,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:733,1
    - Dst: send_set_default_acl_access
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:734,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:735,1
    - Dst: print_help
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:736,1
    - Dst: ctrl_shell_callback_final
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:738,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:739,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:743,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 135
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 634
    functionDepth: 5
    functionLinenumber: 634
    functionLinenumberEnd: 744
    functionName: line_callback
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c
    functionUses: 0
    functionsReached:
    - ctrl_shell_command_generic_arg2
    - send_remove_role_acl
    - send_modify
    - send_create_client
    - send_set_default_acl_access
    - send_add_role_acl
    - list_update
    - send_set_client_password
    - print_help
    - strcasecmp
    - ctrl_shell_command_generic_arg1
    - free
    - ctrl_shell_printf
    - strlen
    - strtok_r
    - ctrl_shell_command_generic_arg0
    - ctrl_shell_rtrim
    - add_history
    - ctrl_shell_callback_final
    - list_generic
    linkageType: ''
    returnType: void
    signature: void line_callback(char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsString
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:750,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:752,1
    - Dst: cJSON_PrintPreallocated
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:756,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:757,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:760,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - value
    - null_value
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 747
    functionDepth: 2
    functionLinenumber: 747
    functionLinenumberEnd: 762
    functionName: print_json_value
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c
    functionUses: 0
    functionsReached:
    - cJSON_PrintPreallocated
    - ctrl_shell_print_value
    - cJSON_IsString
    linkageType: ''
    returnType: void
    signature: void print_json_value(cJSON *value, const char *null_value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:769,1
    - Dst: cJSON_GetArraySize
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:769,1
    - Dst: ctrl_shell_print_label
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:770,1
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:772,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:774,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:777,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:779,1
    - Dst: print_json_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:780,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:780,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:781,1
    - Dst: cJSON_IsString
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:783,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:784,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:786,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 5
    argNames:
    - j_list
    - label
    - element_name
    - optional_element_name
    - optional_element_null_value
    argTypes:
    - cJSON*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 789
    functionName: print_json_array
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c
    functionUses: 0
    functionsReached:
    - cJSON_IsArray
    - cJSON_IsString
    - cJSON_GetArraySize
    - cJSON_GetObjectItem
    - json_get_string
    - print_json_value
    - ctrl_shell_print_value
    - cJSON_IsObject
    - ctrl_shell_print_label
    linkageType: ''
    returnType: void
    signature: void print_json_array(cJSON *j_list, const char *label, const char
      *element_name, const char *optional_element_name, const char *optional_element_null_value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:772,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:774,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:777,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:779,1
    - Dst: print_json_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:780,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:780,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:781,1
    - Dst: cJSON_IsString
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:783,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:784,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:786,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 787
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c
    functionUses: 1
    functionsReached:
    - cJSON_GetObjectItem
    - json_get_string
    - print_json_value
    - ctrl_shell_print_value
    - cJSON_IsObject
    - cJSON_IsString
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(j_elem, j_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:798,1
    - Dst: json_get_int64
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:799,1
    - Dst: json_get_int64
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:800,1
    - Dst: json_get_int64
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:801,1
    - Dst: json_get_int64
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:802,1
    - Dst: ctrl_shell_print_label_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:804,1
    - Dst: ctrl_shell_print_label_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:805,1
    - Dst: ctrl_shell_print_label_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:806,1
    - Dst: ctrl_shell_print_label_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - j_data
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 808
    functionName: print_details
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c
    functionUses: 0
    functionsReached:
    - json_get_int64
    - strlen
    - ctrl_shell_print_label_value
    linkageType: ''
    returnType: void
    signature: void print_details(cJSON *j_data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:815,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:817,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:822,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:823,1
    - Dst: ctrl_shell_print_label
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:826,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:827,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:830,1
    - Dst: ctrl_shell_print_label
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:831,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:832,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:835,1
    - Dst: cJSON_IsBool
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:836,1
    - Dst: cJSON_IsTrue
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:836,1
    - Dst: ctrl_shell_print_label
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:837,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:838,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:842,1
    - Dst: ctrl_shell_print_label
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:843,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:844,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:848,1
    - Dst: ctrl_shell_print_label
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:849,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:850,1
    - Dst: print_json_array
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:853,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:853,1
    - Dst: print_json_array
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:854,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:854,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - j_data
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 811
    functionDepth: 2
    functionLinenumber: 811
    functionLinenumberEnd: 855
    functionName: print_client
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c
    functionUses: 0
    functionsReached:
    - cJSON_IsBool
    - cJSON_IsTrue
    - cJSON_GetObjectItem
    - json_get_string
    - ctrl_shell_printf
    - ctrl_shell_print_value
    - ctrl_shell_print_label
    - print_json_array
    linkageType: ''
    returnType: void
    signature: void print_client(cJSON *j_data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:862,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:864,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:869,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:870,1
    - Dst: ctrl_shell_print_label
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:873,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:874,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:877,1
    - Dst: ctrl_shell_print_label
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:878,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:879,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:883,1
    - Dst: ctrl_shell_print_label
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:884,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:885,1
    - Dst: print_json_array
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:888,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:888,1
    - Dst: print_json_array
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:889,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:889,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - j_data
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 858
    functionDepth: 2
    functionLinenumber: 858
    functionLinenumberEnd: 890
    functionName: print_group
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c
    functionUses: 0
    functionsReached:
    - cJSON_GetObjectItem
    - json_get_string
    - ctrl_shell_printf
    - ctrl_shell_print_value
    - ctrl_shell_print_label
    - print_json_array
    linkageType: ''
    returnType: void
    signature: void print_group(cJSON *j_data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:897,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:899,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:904,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:905,1
    - Dst: ctrl_shell_print_label
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:908,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:909,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:912,1
    - Dst: ctrl_shell_print_label
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:913,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:914,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:918,1
    - Dst: ctrl_shell_print_label
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:919,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:920,1
    - Dst: json_get_bool
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:924,1
    - Dst: ctrl_shell_print_label
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:925,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:926,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:929,1
    - Dst: cJSON_GetArraySize
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:930,1
    - Dst: ctrl_shell_print_label
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:931,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:940,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:941,1
    - Dst: json_get_int
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:942,1
    - Dst: json_get_bool
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:943,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:947,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:947,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 1
    argNames:
    - j_data
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 893
    functionDepth: 2
    functionLinenumber: 893
    functionLinenumberEnd: 951
    functionName: print_role
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c
    functionUses: 0
    functionsReached:
    - cJSON_GetArraySize
    - cJSON_GetObjectItem
    - json_get_string
    - json_get_int
    - ctrl_shell_printf
    - strlen
    - ctrl_shell_print_value
    - ctrl_shell_print_label
    - json_get_bool
    linkageType: ''
    returnType: void
    signature: void print_role(cJSON *j_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:940,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:941,1
    - Dst: json_get_int
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:942,1
    - Dst: json_get_bool
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:943,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:947,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:947,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 949
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c
    functionUses: 1
    functionsReached:
    - json_get_int
    - json_get_string
    - strlen
    - ctrl_shell_print_value
    - json_get_bool
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(j_acl, j_acls)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:956,1
    - Dst: cJSON_GetArraySize
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:958,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:964,1
    - Dst: json_get_bool
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:965,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:968,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:968,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - j_data
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 954
    functionDepth: 1
    functionLinenumber: 954
    functionLinenumberEnd: 972
    functionName: print_default_acls
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c
    functionUses: 0
    functionsReached:
    - cJSON_GetArraySize
    - cJSON_GetObjectItem
    - json_get_string
    - strlen
    - ctrl_shell_print_value
    - json_get_bool
    linkageType: ''
    returnType: void
    signature: void print_default_acls(cJSON *j_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:964,1
    - Dst: json_get_bool
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:965,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:968,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:968,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 970
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c
    functionUses: 1
    functionsReached:
    - strlen
    - json_get_bool
    - ctrl_shell_print_value
    - json_get_string
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(j_acl, j_acls)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:977,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:979,1
    - Dst: completion_tree_arg_list_args_free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:980,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:984,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:987,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:989,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:992,1
    - Dst: completion_tree_arg_list_args_free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:993,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:997,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1000,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1002,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1005,1
    - Dst: completion_tree_arg_list_args_free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1006,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1010,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1013,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1015,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1018,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1021,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1022,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1023,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1024,1
    - Dst: print_details
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1025,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1026,1
    - Dst: print_client
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1027,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1028,1
    - Dst: print_group
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1029,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1030,1
    - Dst: print_role
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1031,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1032,1
    - Dst: print_default_acls
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1033,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 53
    argCount: 3
    argNames:
    - command
    - j_data
    - payload
    argTypes:
    - char*
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 1037
    functionName: response_callback
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c
    functionUses: 0
    functionsReached:
    - print_client
    - strcasecmp
    - cJSON_GetObjectItem
    - print_details
    - print_default_acls
    - print_group
    - completion_tree_arg_list_args_free
    - ctrl_shell_print_value
    - strcmp
    - completion_tree_arg_list_add_arg
    - print_role
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void response_callback(const char *command, cJSON *j_data, const char
      *payload)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:987,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:989,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 985
    functionDepth: 1
    functionLinenumber: 985
    functionLinenumberEnd: 990
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c
    functionUses: 1
    functionsReached:
    - ctrl_shell_print_value
    - completion_tree_arg_list_add_arg
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(client, clients)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1000,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1002,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1003
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c
    functionUses: 1
    functionsReached:
    - ctrl_shell_print_value
    - completion_tree_arg_list_add_arg
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(group, groups)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1013,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1016
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c
    functionUses: 1
    functionsReached:
    - ctrl_shell_print_value
    - completion_tree_arg_list_add_arg
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(role, roles)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: list_update
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1044,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1046,1
    - Dst: list_update
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1049,1
    - Dst: list_update
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1050,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1040
    functionDepth: 5
    functionLinenumber: 1040
    functionLinenumberEnd: 1051
    functionName: on_subscribe
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c
    functionUses: 2
    functionsReached:
    - ctrl_shell_printf
    - list_update
    linkageType: ''
    returnType: void
    signature: void on_subscribe(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: completion_tree_free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1056,1
    - Dst: completion_tree_arg_list_args_free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1059,1
    - Dst: completion_tree_arg_list_args_free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1060,1
    - Dst: completion_tree_arg_list_args_free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1061,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1063,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1064,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1054
    functionDepth: 1
    functionLinenumber: 1054
    functionLinenumberEnd: 1070
    functionName: ctrl_shell__dynsec_cleanup
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c
    functionUses: 0
    functionsReached:
    - completion_tree_free
    - free
    - completion_tree_arg_list_args_free
    linkageType: ''
    returnType: void
    signature: void ctrl_shell__dynsec_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: command_tree_create
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c:1075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - mod
    argTypes:
    - struct ctrl_shell__module*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1084
    functionName: ctrl_shell__dynsec_init
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c
    functionUses: 0
    functionsReached:
    - command_tree_create
    linkageType: ''
    returnType: void
    signature: void ctrl_shell__dynsec_init(struct ctrl_shell__module *mod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:34,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:35,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:37,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: broker__print_usage
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/broker.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void broker__print_usage(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:55,1
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:56,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:57,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:61,1
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:62,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:63,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:68,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:70,1
    - Dst: cJSON_IsNumber
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:71,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:72,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:75,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:76,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:79,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:80,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:83,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:84,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:87,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:88,1
    - Dst: cJSON_IsBool
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:88,1
    - Dst: cJSON_IsTrue
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:88,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:89,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - j_response
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 92
    functionName: print_listeners
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/broker.c
    functionUses: 0
    functionsReached:
    - cJSON_IsBool
    - cJSON_IsTrue
    - cJSON_IsArray
    - cJSON_IsNumber
    - fprintf
    - cJSON_GetObjectItem
    - json_get_string
    - printf
    - cJSON_IsObject
    linkageType: ''
    returnType: void
    signature: void print_listeners(cJSON *j_response)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:68,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:70,1
    - Dst: cJSON_IsNumber
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:71,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:72,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:75,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:76,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:79,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:80,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:83,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:84,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:87,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:88,1
    - Dst: cJSON_IsBool
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:88,1
    - Dst: cJSON_IsTrue
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:88,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:89,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 91
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/broker.c
    functionUses: 1
    functionsReached:
    - cJSON_IsBool
    - cJSON_IsTrue
    - cJSON_IsNumber
    - cJSON_GetObjectItem
    - json_get_string
    - printf
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(j_listener, j_listeners)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:101,1
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:102,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:103,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:107,1
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:108,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:109,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:114,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:115,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:118,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:120,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:121,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:124,1
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:125,1
    - Dst: cJSON_IsString
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:128,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:131,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:133,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 1
    argNames:
    - j_response
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 139
    functionName: print_plugin_info
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/broker.c
    functionUses: 0
    functionsReached:
    - cJSON_IsArray
    - fprintf
    - cJSON_GetObjectItem
    - json_get_string
    - printf
    - cJSON_IsObject
    - cJSON_IsString
    linkageType: ''
    returnType: void
    signature: void print_plugin_info(cJSON *j_response)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:114,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:115,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:118,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:120,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:121,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:124,1
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:125,1
    - Dst: cJSON_IsString
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:128,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:131,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:133,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 138
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/broker.c
    functionUses: 1
    functionsReached:
    - cJSON_IsArray
    - fprintf
    - cJSON_GetObjectItem
    - json_get_string
    - printf
    - cJSON_IsString
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(j_plugin, j_plugins)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsString
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:128,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:131,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/broker.c
    functionUses: 1
    functionsReached:
    - printf
    - cJSON_IsString
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(jtmp, j_eps)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:146,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:149,1
    - Dst: cJSON_Parse
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:150,1
    - Dst: cJSON_ParseWithLength
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:152,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:155,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:159,1
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:160,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:161,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:162,1
    - Dst: cJSON_GetArrayItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:166,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:168,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:169,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:173,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:175,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:176,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:181,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:182,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:184,1
    - Dst: print_plugin_info
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:185,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:186,1
    - Dst: print_listeners
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:187,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:192,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 3
    argNames:
    - ctrl
    - payloadlen
    - payload
    argTypes:
    - struct mosq_ctrl*
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 142
    functionDepth: 4
    functionLinenumber: 142
    functionLinenumberEnd: 193
    functionName: broker__payload_callback
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/broker.c
    functionUses: 0
    functionsReached:
    - cJSON_IsArray
    - cJSON_Delete
    - fprintf
    - strcasecmp
    - cJSON_GetObjectItem
    - json_get_string
    - print_plugin_info
    - cJSON_ParseWithLength
    - print_listeners
    - cJSON_GetArrayItem
    - cJSON_Parse
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void broker__payload_callback(struct mosq_ctrl *ctrl, long payloadlen,
      const void *payload)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:198,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:199,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - argc
    - argv
    - j_command
    argTypes:
    - int
    - char*[]
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 196
    functionDepth: 4
    functionLinenumber: 196
    functionLinenumberEnd: 208
    functionName: broker__list_plugins
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/broker.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int broker__list_plugins(int argc, char *argv[], cJSON *j_command)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:213,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:214,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - argc
    - argv
    - j_command
    argTypes:
    - int
    - char*[]
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 211
    functionDepth: 4
    functionLinenumber: 211
    functionLinenumberEnd: 223
    functionName: broker__list_listeners
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/broker.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int broker__list_listeners(int argc, char *argv[], cJSON *j_command)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:239,1
    - Dst: broker__print_usage
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:240,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:247,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:248,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:252,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:256,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:258,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:262,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:264,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:268,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:270,1
    - Dst: broker__list_plugins
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:271,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:272,1
    - Dst: broker__list_listeners
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:273,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:276,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:277,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:283,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:284,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/broker.c:286,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 3
    argNames:
    - argc
    - argv
    - ctrl
    argTypes:
    - int
    - char*[]
    - struct mosq_ctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 233
    functionDepth: 5
    functionLinenumber: 233
    functionLinenumberEnd: 291
    functionName: broker__main
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/broker.c
    functionUses: 0
    functionsReached:
    - broker__print_usage
    - cJSON_PrintUnformatted
    - cJSON_Delete
    - broker__list_plugins
    - strdup
    - fprintf
    - strcasecmp
    - cJSON_AddArrayToObject
    - cJSON_AddItemToArray
    - broker__list_listeners
    - cJSON_CreateObject
    linkageType: ''
    returnType: int
    signature: int broker__main(int argc, char *argv[], struct mosq_ctrl *ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:43,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:44,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:45,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:46,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:47,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:49,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:50,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:51,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:52,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:53,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:55,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:56,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:57,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:58,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:59,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:60,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:61,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:62,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:63,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:64,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:65,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:66,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:67,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:68,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:70,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:71,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:72,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:73,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:74,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:75,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:76,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:77,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:78,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:79,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:80,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:81,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:83,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:84,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:85,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:86,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:87,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:88,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:89,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:90,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:91,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:92,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:93,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:94,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:95,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 97
    functionName: dynsec__print_usage
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void dynsec__print_usage(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:111,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:113,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:117,1
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:118,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:119,1
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:124,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:126,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:127,1
    - Dst: cJSON_IsString
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:129,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:130,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - j_response
    - arrayname
    - keyname
    argTypes:
    - cJSON*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 133
    functionName: print_list
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c
    functionUses: 0
    functionsReached:
    - cJSON_IsArray
    - fprintf
    - cJSON_GetObjectItem
    - json_get_string
    - printf
    - cJSON_IsObject
    - cJSON_IsString
    linkageType: ''
    returnType: void
    signature: void print_list(cJSON *j_response, const char *arrayname, const char
      *keyname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:124,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:126,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:127,1
    - Dst: cJSON_IsString
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:129,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c
    functionUses: 1
    functionsReached:
    - printf
    - json_get_string
    - cJSON_IsObject
    - cJSON_IsString
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(j_elem, j_array)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsString
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:139,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:141,1
    - Dst: cJSON_PrintPreallocated
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:145,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:146,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - value
    - null_value
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 151
    functionName: print_json_value
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c
    functionUses: 2
    functionsReached:
    - cJSON_PrintPreallocated
    - printf
    - cJSON_IsString
    linkageType: ''
    returnType: void
    signature: void print_json_value(cJSON *value, const char *null_value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:158,1
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:160,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:163,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:166,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:168,1
    - Dst: print_json_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:169,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:169,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:170,1
    - Dst: cJSON_IsString
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:172,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:173,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:176,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:179,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 6
    argNames:
    - j_list
    - slen
    - label
    - element_name
    - optional_element_name
    - optional_element_null_value
    argTypes:
    - cJSON*
    - int
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 181
    functionName: print_json_array
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c
    functionUses: 2
    functionsReached:
    - cJSON_IsArray
    - cJSON_GetObjectItem
    - json_get_string
    - print_json_value
    - printf
    - cJSON_IsObject
    - cJSON_IsString
    linkageType: ''
    returnType: void
    signature: void print_json_array(cJSON *j_list, int slen, const char *label, const
      char *element_name, const char *optional_element_name, const char *optional_element_null_value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:160,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:163,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:166,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:168,1
    - Dst: print_json_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:169,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:169,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:170,1
    - Dst: cJSON_IsString
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:172,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:173,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 177
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c
    functionUses: 1
    functionsReached:
    - cJSON_GetObjectItem
    - json_get_string
    - print_json_value
    - printf
    - cJSON_IsObject
    - cJSON_IsString
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(j_elem, j_list)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:187,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:189,1
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:190,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:191,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:195,1
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:196,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:197,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:202,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:203,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:206,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:209,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:210,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:212,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:215,1
    - Dst: cJSON_IsBool
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:216,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:217,1
    - Dst: cJSON_IsTrue
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:217,1
    - Dst: print_json_array
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:220,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:220,1
    - Dst: print_json_array
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:221,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:221,1
    - Dst: print_json_array
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:222,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:222,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - j_response
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 223
    functionName: print_client
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c
    functionUses: 1
    functionsReached:
    - cJSON_IsBool
    - cJSON_IsTrue
    - fprintf
    - cJSON_GetObjectItem
    - json_get_string
    - strlen
    - printf
    - cJSON_IsObject
    - print_json_array
    linkageType: ''
    returnType: void
    signature: void print_client(cJSON *j_response)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:229,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:232,1
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:233,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:234,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:238,1
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:239,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:240,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:244,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:245,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:248,1
    - Dst: print_json_array
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:250,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:250,1
    - Dst: print_json_array
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:251,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - j_response
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 252
    functionName: print_group
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c
    functionUses: 1
    functionsReached:
    - fprintf
    - cJSON_GetObjectItem
    - json_get_string
    - strlen
    - printf
    - cJSON_IsObject
    - print_json_array
    linkageType: ''
    returnType: void
    signature: void print_group(cJSON *j_response)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:260,1
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:261,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:262,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:266,1
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:267,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:268,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:273,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:274,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:277,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:279,1
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:280,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:285,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:288,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:290,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:293,1
    - Dst: cJSON_IsBool
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:294,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:295,1
    - Dst: cJSON_IsTrue
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:295,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:299,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:300,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:302,1
    - Dst: cJSON_IsNumber
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:303,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:304,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:306,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:308,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 1
    argNames:
    - j_response
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 312
    functionName: print_role
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c
    functionUses: 1
    functionsReached:
    - cJSON_IsBool
    - cJSON_IsTrue
    - cJSON_IsArray
    - cJSON_IsNumber
    - fprintf
    - cJSON_GetObjectItem
    - json_get_string
    - printf
    - cJSON_IsObject
    linkageType: ''
    returnType: void
    signature: void print_role(cJSON *j_response)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:285,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:288,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:290,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:293,1
    - Dst: cJSON_IsBool
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:294,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:295,1
    - Dst: cJSON_IsTrue
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:295,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:299,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:300,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:302,1
    - Dst: cJSON_IsNumber
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:303,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:304,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:306,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:308,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 310
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c
    functionUses: 1
    functionsReached:
    - cJSON_IsBool
    - cJSON_IsTrue
    - cJSON_IsNumber
    - cJSON_GetObjectItem
    - json_get_string
    - printf
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(j_elem, j_array)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:320,1
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:321,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:322,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:326,1
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:327,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:328,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:332,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:333,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:336,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - j_response
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 337
    functionName: print_anonymous_group
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c
    functionUses: 0
    functionsReached:
    - fprintf
    - cJSON_GetObjectItem
    - json_get_string
    - printf
    - cJSON_IsObject
    linkageType: ''
    returnType: void
    signature: void print_anonymous_group(cJSON *j_response)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:344,1
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:345,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:346,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:350,1
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:351,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:352,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:360,1
    - Dst: json_get_bool
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:361,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:363,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:366,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - j_response
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 368
    functionName: print_default_acl_access
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c
    functionUses: 0
    functionsReached:
    - cJSON_IsArray
    - fprintf
    - cJSON_GetObjectItem
    - json_get_string
    - printf
    - cJSON_IsObject
    - json_get_bool
    linkageType: ''
    returnType: void
    signature: void print_default_acl_access(cJSON *j_response)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:360,1
    - Dst: json_get_bool
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:361,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:363,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 367
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c
    functionUses: 1
    functionsReached:
    - fprintf
    - json_get_bool
    - printf
    - json_get_string
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(j_acl, j_acls)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:376,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:379,1
    - Dst: cJSON_Parse
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:380,1
    - Dst: cJSON_ParseWithLength
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:382,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:385,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:389,1
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:390,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:391,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:392,1
    - Dst: cJSON_GetArrayItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:396,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:398,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:399,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:403,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:404,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:405,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:409,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:410,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:412,1
    - Dst: print_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:413,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:414,1
    - Dst: print_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:415,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:416,1
    - Dst: print_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:417,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:418,1
    - Dst: print_client
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:419,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:420,1
    - Dst: print_group
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:421,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:422,1
    - Dst: print_role
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:423,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:424,1
    - Dst: print_default_acl_access
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:425,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:426,1
    - Dst: print_anonymous_group
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:427,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:432,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 3
    argNames:
    - ctrl
    - payloadlen
    - payload
    argTypes:
    - struct mosq_ctrl*
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 371
    functionDepth: 4
    functionLinenumber: 371
    functionLinenumberEnd: 433
    functionName: dynsec__payload_callback
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c
    functionUses: 0
    functionsReached:
    - print_client
    - cJSON_IsArray
    - cJSON_Delete
    - fprintf
    - print_anonymous_group
    - strcasecmp
    - cJSON_GetObjectItem
    - json_get_string
    - print_list
    - print_group
    - cJSON_ParseWithLength
    - print_role
    - print_default_acl_access
    - cJSON_GetArrayItem
    - cJSON_Parse
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void dynsec__payload_callback(struct mosq_ctrl *ctrl, long payloadlen,
      const void *payload)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:456,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:457,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:458,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:459,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:464,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:466,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:469,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:473,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:474,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:480,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:484,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:485,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:486,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 3
    argNames:
    - argc
    - argv
    - j_command
    argTypes:
    - int
    - char*[]
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 443
    functionDepth: 4
    functionLinenumber: 443
    functionLinenumberEnd: 493
    functionName: dynsec__set_default_acl_access
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strcasecmp
    - cJSON_AddArrayToObject
    - cJSON_AddItemToArray
    - cJSON_AddBoolToObject
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec__set_default_acl_access(int argc, char *argv[], cJSON *j_command)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:498,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:499,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - argc
    - argv
    - j_command
    argTypes:
    - int
    - char*[]
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 496
    functionDepth: 4
    functionLinenumber: 496
    functionLinenumberEnd: 508
    functionName: dynsec__get_default_acl_access
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec__get_default_acl_access(int argc, char *argv[], cJSON *j_command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:522,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:527,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:528,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:529,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:532,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - j_acls
    - type
    - topic
    argTypes:
    - cJSON*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 518
    functionDepth: 4
    functionLinenumber: 518
    functionLinenumberEnd: 537
    functionName: init_add_acl_to_role
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_AddItemToArray
    - cJSON_AddBoolToObject
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: cJSON
    signature: cJSON *init_add_acl_to_role(cJSON *j_acls, const char *type, const
      char *topic)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:544,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:548,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:549,1
    - Dst: cJSON_CreateArray
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:553,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:555,1
    - Dst: cJSON_AddItemToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:558,1
    - Dst: init_add_acl_to_role
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:559,1
    - Dst: init_add_acl_to_role
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:560,1
    - Dst: init_add_acl_to_role
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:561,1
    - Dst: init_add_acl_to_role
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:562,1
    - Dst: init_add_acl_to_role
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:563,1
    - Dst: init_add_acl_to_role
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:564,1
    - Dst: init_add_acl_to_role
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:565,1
    - Dst: init_add_acl_to_role
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:566,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:569,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - rolename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 540
    functionDepth: 5
    functionLinenumber: 540
    functionLinenumberEnd: 573
    functionName: init_add_role
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c
    functionUses: 0
    functionsReached:
    - init_add_acl_to_role
    - cJSON_Delete
    - cJSON_CreateArray
    - cJSON_AddItemToObject
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: cJSON
    signature: cJSON *init_add_role(const char *rolename)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_pw_new
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:581,1
    - Dst: mosquitto_pw_hash_encoded
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:581,1
    - Dst: mosquitto_pw_cleanup
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:582,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:586,1
    - Dst: mosquitto_pw_cleanup
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:588,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:592,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:593,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:596,1
    - Dst: mosquitto_pw_cleanup
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:597,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:601,1
    - Dst: mosquitto_pw_get_encoded
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:601,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:602,1
    - Dst: mosquitto_pw_cleanup
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:603,1
    - Dst: mosquitto_pw_cleanup
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:606,1
    - Dst: cJSON_CreateArray
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:608,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:610,1
    - Dst: cJSON_AddItemToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:613,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:615,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:617,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:620,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:621,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:622,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 3
    argNames:
    - username
    - password
    - rolename
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 576
    functionDepth: 4
    functionLinenumber: 576
    functionLinenumberEnd: 627
    functionName: init_add_client
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c
    functionUses: 0
    functionsReached:
    - mosquitto_pw_new
    - mosquitto_pw_hash_encoded
    - cJSON_Delete
    - mosquitto_pw_get_encoded
    - cJSON_AddItemToArray
    - cJSON_CreateArray
    - mosquitto_pw_cleanup
    - cJSON_AddItemToObject
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: cJSON
    signature: cJSON *init_add_client(const char *username, const char *password,
      const char *rolename)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:635,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:640,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:641,1
    - Dst: cJSON_AddObjectToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:642,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:645,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:655,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:656,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:657,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:658,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:661,1
    - Dst: init_add_client
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:665,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:667,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:670,1
    - Dst: init_add_role
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:672,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:674,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:677,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - username
    - password
    - rolename
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 630
    functionDepth: 6
    functionLinenumber: 630
    functionLinenumberEnd: 680
    functionName: init_create
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c
    functionUses: 0
    functionsReached:
    - init_add_role
    - cJSON_Delete
    - init_add_client
    - cJSON_AddBoolToObject
    - cJSON_AddArrayToObject
    - cJSON_AddItemToArray
    - cJSON_AddObjectToObject
    - cJSON_CreateObject
    linkageType: ''
    returnType: cJSON
    signature: cJSON *init_create(const char *username, const char *password, const
      char *rolename)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:697,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:702,1
    - Dst: snprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:712,1
    - Dst: snprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:713,1
    - Dst: get_password
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:714,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:716,1
    - Dst: init_create
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:722,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:724,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:727,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:728,1
    - Dst: mosquitto_fopen
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:731,1
    - Dst: open
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:733,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:735,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:736,1
    - Dst: strerror
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:736,1
    - Dst: fdopen
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:739,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:742,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:743,1
    - Dst: fclose
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:744,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:746,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:747,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:751,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:752,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:753,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:754,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:755,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:756,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:757,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:758,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:759,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 56
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 684
    functionDepth: 7
    functionLinenumber: 684
    functionLinenumberEnd: 762
    functionName: dynsec_init
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c
    functionUses: 0
    functionsReached:
    - mosquitto_lib_cleanup
    - cJSON_PrintUnformatted
    - cJSON_Delete
    - fprintf
    - fdopen
    - snprintf
    - mosquitto_fopen
    - fclose
    - get_password
    - printf
    - strerror
    - open
    - free
    - init_create
    linkageType: ''
    returnType: int
    signature: int dynsec_init(int argc, char *argv[])
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:778,1
    - Dst: dynsec__print_usage
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:779,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:781,1
    - Dst: dynsec_init
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:782,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:783,1
    - Dst: dynsec_client__file_set_password
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:784,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:790,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:791,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:795,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:799,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:801,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:805,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:807,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:811,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:813,1
    - Dst: dynsec__set_default_acl_access
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:814,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:815,1
    - Dst: dynsec__get_default_acl_access
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:816,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:818,1
    - Dst: dynsec_client__create
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:819,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:820,1
    - Dst: dynsec_client__delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:821,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:822,1
    - Dst: dynsec_client__get
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:823,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:824,1
    - Dst: dynsec_client__list_all
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:825,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:826,1
    - Dst: dynsec_client__set_id
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:827,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:828,1
    - Dst: dynsec_client__set_password
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:829,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:830,1
    - Dst: dynsec_client__add_remove_role
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:831,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:832,1
    - Dst: dynsec_client__add_remove_role
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:833,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:834,1
    - Dst: dynsec_client__enable_disable
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:835,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:836,1
    - Dst: dynsec_client__enable_disable
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:837,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:839,1
    - Dst: dynsec_group__create
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:840,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:841,1
    - Dst: dynsec_group__delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:842,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:843,1
    - Dst: dynsec_group__get
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:844,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:845,1
    - Dst: dynsec_group__list_all
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:846,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:847,1
    - Dst: dynsec_group__add_remove_role
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:848,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:849,1
    - Dst: dynsec_group__add_remove_role
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:850,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:851,1
    - Dst: dynsec_group__add_remove_client
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:852,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:853,1
    - Dst: dynsec_group__add_remove_client
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:854,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:855,1
    - Dst: dynsec_group__set_anonymous
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:856,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:857,1
    - Dst: dynsec_group__get_anonymous
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:858,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:860,1
    - Dst: dynsec_role__create
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:861,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:862,1
    - Dst: dynsec_role__delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:863,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:864,1
    - Dst: dynsec_role__get
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:865,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:866,1
    - Dst: dynsec_role__list_all
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:867,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:868,1
    - Dst: dynsec_role__add_acl
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:869,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:870,1
    - Dst: dynsec_role__remove_acl
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:871,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:874,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:875,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:881,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:882,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:884,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c:888,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 134
    argCount: 3
    argNames:
    - argc
    - argv
    - ctrl
    argTypes:
    - int
    - char*[]
    - struct mosq_ctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 772
    functionDepth: 8
    functionLinenumber: 772
    functionLinenumberEnd: 891
    functionName: dynsec__main
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c
    functionUses: 0
    functionsReached:
    - dynsec__print_usage
    - dynsec_init
    - dynsec_client__list_all
    - dynsec_group__get_anonymous
    - dynsec_client__delete
    - dynsec_group__get
    - dynsec__set_default_acl_access
    - dynsec_group__delete
    - dynsec_client__set_id
    - cJSON_Delete
    - strcasecmp
    - dynsec_role__delete
    - dynsec_client__create
    - dynsec_role__remove_acl
    - dynsec_client__file_set_password
    - dynsec_role__create
    - dynsec_client__add_remove_role
    - cJSON_PrintUnformatted
    - dynsec_group__create
    - fprintf
    - cJSON_AddArrayToObject
    - dynsec_client__set_password
    - dynsec_role__add_acl
    - cJSON_AddItemToArray
    - dynsec_client__enable_disable
    - dynsec__get_default_acl_access
    - dynsec_client__get
    - dynsec_group__set_anonymous
    - cJSON_CreateObject
    - dynsec_group__add_remove_client
    - dynsec_role__list_all
    - strdup
    - dynsec_group__list_all
    - dynsec_group__add_remove_role
    - dynsec_role__get
    linkageType: ''
    returnType: int
    signature: int dynsec__main(int argc, char *argv[], struct mosq_ctrl *ctrl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c:40,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - argc
    - argv
    - j_command
    argTypes:
    - int
    - char*[]
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 30
    functionDepth: 4
    functionLinenumber: 30
    functionLinenumberEnd: 48
    functionName: dynsec_group__create
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c
    functionUses: 1
    functionsReached:
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_group__create(int argc, char *argv[], cJSON *j_command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c:61,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - argc
    - argv
    - j_command
    argTypes:
    - int
    - char*[]
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 69
    functionName: dynsec_group__delete
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c
    functionUses: 1
    functionsReached:
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_group__delete(int argc, char *argv[], cJSON *j_command)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c:74,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c:75,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - argc
    - argv
    - j_command
    argTypes:
    - int
    - char*[]
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 4
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: dynsec_group__get_anonymous
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c
    functionUses: 1
    functionsReached:
    - UNUSED
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_group__get_anonymous(int argc, char *argv[], cJSON *j_command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c:97,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - argc
    - argv
    - j_command
    argTypes:
    - int
    - char*[]
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 87
    functionDepth: 4
    functionLinenumber: 87
    functionLinenumberEnd: 105
    functionName: dynsec_group__set_anonymous
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c
    functionUses: 1
    functionsReached:
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_group__set_anonymous(int argc, char *argv[], cJSON *j_command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c:118,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - argc
    - argv
    - j_command
    argTypes:
    - int
    - char*[]
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 108
    functionDepth: 4
    functionLinenumber: 108
    functionLinenumberEnd: 126
    functionName: dynsec_group__get
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c
    functionUses: 1
    functionsReached:
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_group__get(int argc, char *argv[], cJSON *j_command)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c:140,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c:145,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c:146,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c:147,1
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c:148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - argc
    - argv
    - j_command
    - command
    argTypes:
    - int
    - char*[]
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 129
    functionDepth: 4
    functionLinenumber: 129
    functionLinenumberEnd: 155
    functionName: dynsec_group__add_remove_role
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c
    functionUses: 1
    functionsReached:
    - cJSON_AddIntToObject
    - atoi
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_group__add_remove_role(int argc, char *argv[], cJSON *j_command,
      const char *command)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c:165,1
    - Dst: atoi
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c:167,1
    - Dst: atoi
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c:168,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c:173,1
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c:174,1
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c:175,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - argc
    - argv
    - j_command
    argTypes:
    - int
    - char*[]
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 158
    functionDepth: 4
    functionLinenumber: 158
    functionLinenumberEnd: 182
    functionName: dynsec_group__list_all
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c
    functionUses: 1
    functionsReached:
    - cJSON_AddIntToObject
    - atoi
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_group__list_all(int argc, char *argv[], cJSON *j_command)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c:196,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c:201,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c:202,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c:203,1
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c:204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - argc
    - argv
    - j_command
    - command
    argTypes:
    - int
    - char*[]
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 185
    functionDepth: 4
    functionLinenumber: 185
    functionLinenumberEnd: 211
    functionName: dynsec_group__add_remove_client
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c
    functionUses: 1
    functionsReached:
    - cJSON_AddIntToObject
    - atoi
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_group__add_remove_client(int argc, char *argv[], cJSON *j_command,
      const char *command)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:40,1
    - Dst: struct mosq_ctrl*::payload_callback
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:43,1
    - Dst: mosquitto_disconnect_v5
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - mosq
    - obj
    - msg
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - struct mosquitto_message*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: on_message
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/client.c
    functionUses: 7
    functionsReached:
    - mosquitto_disconnect_v5
    - UNUSED
    - struct mosq_ctrl*::payload_callback
    linkageType: ''
    returnType: void
    signature: void on_message(struct mosquitto *mosq, void *obj, const struct mosquitto_message
      *msg, const mosquitto_property *properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:53,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:54,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:55,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:58,1
    - Dst: mosquitto_reason_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:58,1
    - Dst: mosquitto_disconnect_v5
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - mosq
    - obj
    - mid
    - reason_code
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: on_publish
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/client.c
    functionUses: 1
    functionsReached:
    - fprintf
    - mosquitto_disconnect_v5
    - UNUSED
    - mosquitto_reason_string
    linkageType: ''
    returnType: void
    signature: void on_publish(struct mosquitto *mosq, void *obj, int mid, int reason_code,
      const mosquitto_property *properties)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:69,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:70,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:75,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:75,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:76,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:78,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:82,1
    - Dst: mosquitto_reason_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:82,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:84,1
    - Dst: mosquitto_disconnect_v5
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:87,1
    - Dst: mosquitto_disconnect_v5
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 6
    argNames:
    - mosq
    - obj
    - mid
    - qos_count
    - granted_qos
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - int*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 93
    functionName: on_subscribe
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/client.c
    functionUses: 2
    functionsReached:
    - fprintf
    - mosquitto_disconnect_v5
    - mosquitto_publish
    - strlen
    - mosquitto_reason_string
    - UNUSED
    - free
    linkageType: ''
    returnType: void
    signature: void on_subscribe(struct mosquitto *mosq, void *obj, int mid, int qos_count,
      const int *granted_qos, const mosquitto_property *properties)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:100,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:101,1
    - Dst: mosquitto_subscribe
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:105,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:106,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:112,1
    - Dst: mosquitto_reason_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:112,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:114,1
    - Dst: mosquitto_reason_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:114,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:117,1
    - Dst: mosquitto_connack_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:117,1
    - Dst: mosquitto_disconnect_v5
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - mosq
    - obj
    - reason_code
    - flags
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 122
    functionName: on_connect
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/client.c
    functionUses: 12
    functionsReached:
    - fprintf
    - mosquitto_connack_string
    - mosquitto_disconnect_v5
    - mosquitto_reason_string
    - UNUSED
    - free
    - mosquitto_subscribe
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int reason_code,
      int flags, const mosquitto_property *properties)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:136,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:139,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:141,1
    - Dst: client_opts_set
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:142,1
    - Dst: mosquitto_connect_v5_callback_set
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:147,1
    - Dst: mosquitto_subscribe_v5_callback_set
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:148,1
    - Dst: mosquitto_publish_v5_callback_set
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:149,1
    - Dst: mosquitto_message_v5_callback_set
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:150,1
    - Dst: client_connect
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:152,1
    - Dst: time
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:157,1
    - Dst: time
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:158,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:159,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:163,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/apps/mosquitto_ctrl/client.c:164,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - struct mosq_ctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 166
    functionName: client_request_response
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/client.c
    functionUses: 0
    functionsReached:
    - mosquitto_connect_v5_callback_set
    - mosquitto_lib_cleanup
    - client_opts_set
    - fprintf
    - mosquitto_lib_init
    - mosquitto_subscribe_v5_callback_set
    - mosquitto_message_v5_callback_set
    - mosquitto_new
    - mosquitto_destroy
    - client_connect
    - time
    - mosquitto_loop
    - mosquitto_publish_v5_callback_set
    linkageType: ''
    returnType: int
    signature: int client_request_response(struct mosq_ctrl *ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c
    functionUses: 236
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:43,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:45,1
    - Dst: completion_tree_cmd_add_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:46,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:48,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:49,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:50,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:51,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 53
    functionName: command_tree_create
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c
    functionUses: 2
    functionsReached:
    - calloc
    - completion_tree_cmd_add
    - completion_tree_cmd_add_arg_list
    linkageType: ''
    returnType: void
    signature: void command_tree_create(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:58,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:60,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:61,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:62,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:63,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:64,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:65,1
    - Dst: ctrl_shell_print_help_final
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:67,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:70,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:71,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:72,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:74,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - saveptr
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 77
    functionName: print_help
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c
    functionUses: 2
    functionsReached:
    - ctrl_shell_print_help_command
    - strcasecmp
    - ctrl_shell_print_help_final
    - ctrl_shell_printf
    - strtok_r
    linkageType: ''
    returnType: void
    signature: void print_help(char **saveptr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_shell_callback_final
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:83,1
    - Dst: ctrl_shell_rtrim
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:86,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:87,1
    - Dst: add_history
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:88,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:90,1
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:95,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:98,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:102,1
    - Dst: ctrl_shell_command_generic_arg0
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:103,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:104,1
    - Dst: ctrl_shell_command_generic_arg0
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:105,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:106,1
    - Dst: print_help
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:107,1
    - Dst: ctrl_shell_callback_final
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:109,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:110,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:114,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 115
    functionName: line_callback
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c
    functionUses: 0
    functionsReached:
    - ctrl_shell_command_generic_arg0
    - ctrl_shell_callback_final
    - print_help
    - strcasecmp
    - add_history
    - ctrl_shell_printf
    - strlen
    - strtok_r
    - ctrl_shell_rtrim
    - free
    linkageType: ''
    returnType: void
    signature: void line_callback(char *line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:122,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:126,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:127,1
    - Dst: ctrl_shell_print_label
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:131,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:132,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:135,1
    - Dst: ctrl_shell_print_label
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:137,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:139,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - j_data
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 144
    functionName: print_plugins
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c
    functionUses: 0
    functionsReached:
    - cJSON_GetObjectItem
    - json_get_string
    - ctrl_shell_printf
    - ctrl_shell_print_value
    - ctrl_shell_print_label
    linkageType: ''
    returnType: void
    signature: void print_plugins(cJSON *j_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:126,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:127,1
    - Dst: ctrl_shell_print_label
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:131,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:132,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:135,1
    - Dst: ctrl_shell_print_label
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:137,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:139,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 143
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c
    functionUses: 1
    functionsReached:
    - cJSON_GetObjectItem
    - json_get_string
    - ctrl_shell_printf
    - ctrl_shell_print_value
    - ctrl_shell_print_label
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(j_plugin, j_plugins)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c
    functionUses: 1
    functionsReached:
    - ctrl_shell_print_value
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(j_endpoint, j_endpoints)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:151,1
    - Dst: json_get_int
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:158,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:159,1
    - Dst: json_get_bool
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:160,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:162,1
    - Dst: ctrl_shell_print_label
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:166,1
    - Dst: ctrl_shell_print_label
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:167,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:168,1
    - Dst: ctrl_shell_print_label
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:169,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:170,1
    - Dst: ctrl_shell_print_label
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:171,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - j_data
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 175
    functionName: print_listeners
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c
    functionUses: 1
    functionsReached:
    - cJSON_GetObjectItem
    - json_get_string
    - json_get_int
    - ctrl_shell_printf
    - ctrl_shell_print_value
    - ctrl_shell_print_label
    - json_get_bool
    linkageType: ''
    returnType: void
    signature: void print_listeners(cJSON *j_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_get_int
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:158,1
    - Dst: json_get_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:159,1
    - Dst: json_get_bool
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:160,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:162,1
    - Dst: ctrl_shell_print_label
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:166,1
    - Dst: ctrl_shell_print_label
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:167,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:168,1
    - Dst: ctrl_shell_print_label
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:169,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:170,1
    - Dst: ctrl_shell_print_label
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:171,1
    - Dst: ctrl_shell_print_value
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 173
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c
    functionUses: 1
    functionsReached:
    - json_get_string
    - json_get_int
    - ctrl_shell_printf
    - ctrl_shell_print_value
    - ctrl_shell_print_label
    - json_get_bool
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(j_listener, j_listeners)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:180,1
    - Dst: print_plugins
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:181,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:182,1
    - Dst: print_listeners
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:183,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - command
    - j_data
    - payload
    argTypes:
    - char*
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: handle_response
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c
    functionUses: 0
    functionsReached:
    - ctrl_shell_printf
    - print_listeners
    - strcmp
    - print_plugins
    linkageType: ''
    returnType: void
    signature: void handle_response(const char *command, cJSON *j_data, const char
      *payload)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: on_subscribe
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_subscribe(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: completion_tree_free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: ctrl_shell__broker_cleanup
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c
    functionUses: 0
    functionsReached:
    - completion_tree_free
    linkageType: ''
    returnType: void
    signature: void ctrl_shell__broker_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: command_tree_create
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - mod
    argTypes:
    - struct ctrl_shell__module*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 213
    functionName: ctrl_shell__broker_init
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c
    functionUses: 0
    functionsReached:
    - command_tree_create
    linkageType: ''
    returnType: void
    signature: void ctrl_shell__broker_init(struct ctrl_shell__module *mod)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c
    functionUses: 236
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - arg_list
    argTypes:
    - struct completion_tree_arg_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 45
    functionName: completion_tree_arg_list_args_free
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c
    functionUses: 3
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void completion_tree_arg_list_args_free(struct completion_tree_arg_list
      *arg_list)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: completion_tree_arg_list_args_free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c:57,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - arg_list
    argTypes:
    - struct completion_tree_arg_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: completion_tree_arg_list_free
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c
    functionUses: 0
    functionsReached:
    - free
    - completion_tree_arg_list_args_free
    linkageType: ''
    returnType: void
    signature: void completion_tree_arg_list_free(struct completion_tree_arg_list
      *arg_list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: completion_tree_arg_list_free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c:69,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c:71,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct completion_tree_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: completion_tree_cmd_free
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c
    functionUses: 0
    functionsReached:
    - free
    - completion_tree_arg_list_free
    linkageType: ''
    returnType: void
    signature: void completion_tree_cmd_free(struct completion_tree_cmd *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: completion_tree_cmd_free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c:87,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - tree
    argTypes:
    - struct completion_tree_root*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 4
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: completion_tree_free
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c
    functionUses: 3
    functionsReached:
    - free
    - completion_tree_cmd_free
    linkageType: ''
    returnType: void
    signature: void completion_tree_free(struct completion_tree_root *tree)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c:97,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c:97,1
    - Dst: strcpy
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c:102,1
    - Dst: completion_tree_arg_list_add_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - root
    - help_arg_list
    - name
    argTypes:
    - struct completion_tree_root*
    - struct completion_tree_arg_list*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 110
    functionName: completion_tree_cmd_add
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c
    functionUses: 3
    functionsReached:
    - strlen
    - calloc
    - completion_tree_arg_list_add_arg
    - strcpy
    linkageType: ''
    returnType: struct completion_tree_cmd
    signature: struct completion_tree_cmd *completion_tree_cmd_add(struct completion_tree_root
      *root, struct completion_tree_arg_list *help_arg_list, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: completion_tree_cmd_new_arg_list
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c
    functionUses: 1
    functionsReached:
    - calloc
    linkageType: ''
    returnType: struct completion_tree_arg_list
    signature: struct completion_tree_arg_list *completion_tree_cmd_new_arg_list(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - cmd
    - new_list
    argTypes:
    - struct completion_tree_cmd*
    - struct completion_tree_arg_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: completion_tree_cmd_append_arg_list
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c
    functionUses: 1
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: void completion_tree_cmd_append_arg_list(struct completion_tree_cmd
      *cmd, struct completion_tree_arg_list *new_list)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: completion_tree_cmd_new_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c:140,1
    - Dst: completion_tree_cmd_append_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - struct completion_tree_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 148
    functionName: completion_tree_cmd_add_arg_list
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c
    functionUses: 3
    functionsReached:
    - completion_tree_cmd_append_arg_list
    - completion_tree_cmd_new_arg_list
    linkageType: ''
    returnType: struct completion_tree_arg_list
    signature: struct completion_tree_arg_list *completion_tree_cmd_add_arg_list(struct
      completion_tree_cmd *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c:159,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c:159,1
    - Dst: strcpy
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - arg_list
    - name
    argTypes:
    - struct completion_tree_arg_list*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 168
    functionName: completion_tree_arg_list_add_arg
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c
    functionUses: 6
    functionsReached:
    - strlen
    - calloc
    - strcpy
    linkageType: ''
    returnType: void
    signature: void completion_tree_arg_list_add_arg(struct completion_tree_arg_list
      *arg_list, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct mosq_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: init_config
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/options.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_config(struct mosq_config *cfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:57,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:58,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:59,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:60,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:61,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:62,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:64,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:65,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:66,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:67,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:68,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:69,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:70,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:71,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:72,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:73,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:75,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:76,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:80,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:81,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:82,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct mosq_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 85
    functionName: client_config_cleanup
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/options.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void client_config_cleanup(struct mosq_config *cfg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: init_config
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:92,1
    - Dst: client_config_line_proc
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:95,1
    - Dst: client_config_load
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:101,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:108,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:112,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:116,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:122,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:126,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:132,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:134,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 3
    argNames:
    - cfg
    - argc
    - argv
    argTypes:
    - struct mosq_config*
    - int*
    - char**[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 140
    functionName: ctrl_config_parse
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/options.c
    functionUses: 0
    functionsReached:
    - client_config_load
    - fprintf
    - strdup
    - init_config
    - client_config_line_proc
    linkageType: ''
    returnType: int
    signature: int ctrl_config_parse(struct mosq_config *cfg, int *argc, char **argv[])
  - BBCount: 72
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:149,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:151,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:154,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:159,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:161,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:164,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:168,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:170,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:173,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:177,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:179,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:182,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:186,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:188,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:191,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:196,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:196,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:198,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:200,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:203,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:207,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:209,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:209,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:211,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:214,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:219,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:222,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:222,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:224,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:227,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:232,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:234,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:237,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:241,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:243,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:246,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:251,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:251,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:253,1
    - Dst: strncasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:260,1
    - Dst: strncasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:263,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:268,1
    - Dst: strchr
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:271,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:273,1
    - Dst: strchr
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:278,1
    - Dst: strchr
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:281,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:284,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:286,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:287,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:290,1
    - Dst: strchr
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:295,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:298,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:300,1
    - Dst: atoi
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:303,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:306,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:310,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:312,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:315,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:319,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:319,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:321,1
    - Dst: atoi
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:324,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:326,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:332,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:332,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:334,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:337,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:342,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:344,1
    - Dst: mosquitto__parse_socks_url
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:347,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:355,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:357,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:360,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:364,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:366,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:369,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:374,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:374,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:376,1
    - Dst: atoi
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:379,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:381,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:387,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:390,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:392,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:395,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:399,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:401,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:404,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:408,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:410,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:413,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:417,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:419,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:421,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:424,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:429,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:429,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:431,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:434,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:438,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:440,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:443,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:448,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:448,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:450,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:453,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:453,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:455,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:455,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:457,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:457,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:460,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:466,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:466,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:468,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:481,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 350
    argCount: 3
    argNames:
    - cfg
    - argc
    - argvp
    argTypes:
    - struct mosq_config*
    - int*
    - char**[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 483
    functionName: client_config_line_proc
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/options.c
    functionUses: 1
    functionsReached:
    - fprintf
    - strdup
    - strchr
    - atoi
    - strlen
    - mosquitto__parse_socks_url
    - strcmp
    - strncasecmp
    linkageType: ''
    returnType: int
    signature: int client_config_line_proc(struct mosq_config *cfg, int *argc, char
      **argvp[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:498,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:500,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:500,1
    - Dst: malloc
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:501,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:503,1
    - Dst: snprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:506,1
    - Dst: getenv
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:509,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:511,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:511,1
    - Dst: malloc
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:512,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:514,1
    - Dst: snprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:517,1
    - Dst: GetEnvironmentVariable
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:523,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:525,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:525,1
    - Dst: malloc
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:526,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:528,1
    - Dst: snprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:531,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 536
    functionName: get_default_cfg_location
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/options.c
    functionUses: 0
    functionsReached:
    - fprintf
    - snprintf
    - malloc
    - GetEnvironmentVariable
    - strlen
    - getenv
    linkageType: ''
    returnType: char
    signature: char *get_default_cfg_location(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:549,1
    - Dst: get_default_cfg_location
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:551,1
    - Dst: fopen
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:553,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:554,1
    - Dst: malloc
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:559,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:561,1
    - Dst: fclose
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:562,1
    - Dst: fgets
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:565,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:570,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:570,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:571,1
    - Dst: strtok
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:573,1
    - Dst: strtok
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:575,1
    - Dst: client_config_line_proc
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:582,1
    - Dst: fclose
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:584,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:585,1
    - Dst: fclose
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:590,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:591,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct mosq_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 594
    functionName: client_config_load
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/options.c
    functionUses: 1
    functionsReached:
    - fprintf
    - fclose
    - malloc
    - strtok
    - strlen
    - fgets
    - fopen
    - get_default_cfg_location
    - free
    - client_config_line_proc
    linkageType: ''
    returnType: int
    signature: int client_config_load(struct mosq_config *cfg)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:603,1
    - Dst: snprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:607,1
    - Dst: get_password
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:608,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:610,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:613,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:615,1
    - Dst: mosquitto_username_pw_set
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:620,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:621,1
    - Dst: mosquitto_string_option
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:625,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:626,1
    - Dst: mosquitto_tls_set
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:630,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:633,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:635,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:635,1
    - Dst: mosquitto_tls_psk_set
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:641,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:642,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:643,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:648,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:651,1
    - Dst: mosquitto_tls_insecure_set
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:654,1
    - Dst: mosquitto_string_option
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:655,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:656,1
    - Dst: mosquitto_string_option
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:659,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:660,1
    - Dst: mosquitto_string_option
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:663,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:664,1
    - Dst: mosquitto_tls_opts_set
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:667,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:668,1
    - Dst: mosquitto_socks5_set
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:674,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 71
    argCount: 2
    argNames:
    - mosq
    - cfg
    argTypes:
    - struct mosquitto*
    - struct mosq_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 681
    functionName: client_opts_set
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/options.c
    functionUses: 1
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_int_option
    - mosquitto_tls_insecure_set
    - fprintf
    - strdup
    - mosquitto_username_pw_set
    - snprintf
    - mosquitto_tls_psk_set
    - mosquitto_strerror
    - mosquitto_tls_opts_set
    - get_password
    - mosquitto_string_option
    - mosquitto_tls_set
    - mosquitto_socks5_set
    linkageType: ''
    returnType: int
    signature: int client_opts_set(struct mosquitto *mosq, struct mosq_config *cfg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_connect_bind_v5
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:711,1
    - Dst: strerror
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:715,1
    - Dst: FormatMessage
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:717,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:719,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:721,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:721,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - mosq
    - cfg
    argTypes:
    - struct mosquitto*
    - struct mosq_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 726
    functionName: client_connect
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/options.c
    functionUses: 1
    functionsReached:
    - FormatMessage
    - fprintf
    - mosquitto_strerror
    - mosquitto_connect_bind_v5
    - strerror
    linkageType: ''
    returnType: int
    signature: int client_connect(struct mosquitto *mosq, struct mosq_config *cfg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:740,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:744,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 777
    functionName: mosquitto__urldecode
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/options.c
    functionUses: 0
    functionsReached:
    - strlen
    - strchr
    linkageType: ''
    returnType: int
    signature: int mosquitto__urldecode(char *str)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:791,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:791,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:792,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:794,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:806,1
    - Dst: malloc
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:819,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:821,1
    - Dst: memcpy
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:824,1
    - Dst: malloc
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:832,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:834,1
    - Dst: memcpy
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:837,1
    - Dst: malloc
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:852,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:854,1
    - Dst: memcpy
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:857,1
    - Dst: malloc
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:868,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:870,1
    - Dst: memcpy
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:873,1
    - Dst: malloc
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:886,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:888,1
    - Dst: memcpy
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:891,1
    - Dst: malloc
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:898,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:900,1
    - Dst: memcpy
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:903,1
    - Dst: malloc
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:906,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:908,1
    - Dst: memcpy
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:911,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:917,1
    - Dst: mosquitto__urldecode
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:921,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:922,1
    - Dst: mosquitto__urldecode
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:925,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:926,1
    - Dst: atoi
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:930,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:932,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:935,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:947,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:948,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:949,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:950,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/options.c:951,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 153
    argCount: 2
    argNames:
    - cfg
    - url
    argTypes:
    - struct mosq_config*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 953
    functionName: mosquitto__parse_socks_url
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/options.c
    functionUses: 1
    functionsReached:
    - strncmp
    - fprintf
    - malloc
    - atoi
    - strlen
    - memcpy
    - mosquitto__urldecode
    - free
    linkageType: ''
    returnType: int
    signature: int mosquitto__parse_socks_url(struct mosq_config *cfg, char *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c
    functionUses: 236
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c:37,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c:39,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c:40,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c:40,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c:41,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c:44,1
    - Dst: mosquitto_username_pw_set
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c:47,1
    - Dst: mosquitto_tls_set
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c:50,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c:53,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c:55,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c:55,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c:59,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c:61,1
    - Dst: mosquitto_subscribe_callback_set
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c:62,1
    - Dst: mosquitto_publish_v5_callback_set
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c:63,1
    - Dst: mosquitto_message_callback_set
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c:64,1
    - Dst: ctrl_shell__connect_blocking
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c:65,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c:67,1
    - Dst: mosquitto_reason_string
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c:67,1
    - Dst: ctrl_shell__post_connect_init
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c:70,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 73
    functionName: ctrl_shell__connect
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c
    functionUses: 1
    functionsReached:
    - ctrl_shell__connect_blocking
    - mosquitto_message_callback_set
    - mosquitto_int_option
    - mosquitto_subscribe_callback_set
    - mosquitto_username_pw_set
    - ctrl_shell_printf
    - mosquitto_strerror
    - mosquitto_new
    - mosquitto_reason_string
    - strcmp
    - mosquitto_destroy
    - ctrl_shell__post_connect_init
    - mosquitto_tls_set
    - mosquitto_connect_callback_set
    - mosquitto_publish_v5_callback_set
    linkageType: ''
    returnType: int
    signature: int ctrl_shell__connect(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c:82,1
    - Dst: mosquitto_loop_stop
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c:83,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c:84,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c:88,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c:90,1
    - Dst: ctrl_shell__post_connect_cleanup
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c:94,1
    - Dst: ctrl_shell__pre_connect_init
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 96
    functionName: ctrl_shell__disconnect
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c
    functionUses: 0
    functionsReached:
    - ctrl_shell__pre_connect_init
    - mosquitto_loop_stop
    - mosquitto_disconnect
    - mosquitto_destroy
    - free
    - ctrl_shell__post_connect_cleanup
    linkageType: ''
    returnType: void
    signature: void ctrl_shell__disconnect(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_lib_version
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:41,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: print_version
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c
    functionUses: 1
    functionsReached:
    - mosquitto_lib_version
    - printf
    linkageType: ''
    returnType: void
    signature: void print_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:48,1
    - Dst: print_version
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:49,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:50,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:51,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:52,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:53,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: print_usage
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c
    functionUses: 3
    functionsReached:
    - print_version
    - printf
    linkageType: ''
    returnType: void
    signature: void print_usage(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:68,1
    - Dst: print_usage
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:70,1
    - Dst: memset
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:75,1
    - Dst: init_config
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:76,1
    - Dst: ctrl_config_parse
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:82,1
    - Dst: client_config_cleanup
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:84,1
    - Dst: print_usage
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:85,1
    - Dst: ctrl_shell__main
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:91,1
    - Dst: print_usage
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:97,1
    - Dst: client_config_cleanup
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:98,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:104,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:106,1
    - Dst: snprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:110,1
    - Dst: LIB_LOAD
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:111,1
    - Dst: LIB_SYM
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:113,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:117,1
    - Dst: l_ctrl_main
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:122,1
    - Dst: client_request_response
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:128,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:133,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:133,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:136,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:137,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:138,1
    - Dst: client_config_cleanup
      Src: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c:140,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 62
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 142
    functionName: main
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c
    functionUses: 98
    functionsReached:
    - client_config_cleanup
    - ctrl_shell__main
    - fprintf
    - print_usage
    - strcasecmp
    - snprintf
    - mosquitto_strerror
    - init_config
    - LIB_LOAD
    - memset
    - l_ctrl_main
    - client_request_response
    - LIB_SYM
    - ctrl_config_parse
    - free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/example.c:34,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/example.c:35,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/example.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: ctrl_help
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/example.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void ctrl_help(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/example.c:42,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/example.c:43,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/example.c:45,1
    - Dst: ctrl_help
      Src: /src/mosquitto/apps/mosquitto_ctrl/example.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - argc
    - argv
    - ctrl
    argTypes:
    - int
    - char*[]
    - struct mosq_ctrl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: ctrl_main
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/example.c
    functionUses: 1
    functionsReached:
    - ctrl_help
    - strcasecmp
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int ctrl_main(int argc, char *argv[], struct mosq_ctrl *ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 237
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: FREE
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 129
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:93,1
    - Dst: rl_resize_terminal
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - signal
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: signal_winch
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 0
    functionsReached:
    - rl_resize_terminal
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void signal_winch(int signal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - signal
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: signal_term
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void signal_term(int signal)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcgetattr
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:109,1
    - Dst: tcsetattr
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - set
    - flag
    argTypes:
    - bool
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: term_set_flag
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 0
    functionsReached:
    - tcsetattr
    - tcgetattr
    linkageType: ''
    returnType: void
    signature: void term_set_flag(bool set, unsigned int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: term_set_flag
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - echo
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: term_set_echo
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 0
    functionsReached:
    - term_set_flag
    linkageType: ''
    returnType: void
    signature: void term_set_echo(bool echo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: term_set_flag
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - canon
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: term_set_canon
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 0
    functionsReached:
    - term_set_flag
    linkageType: ''
    returnType: void
    signature: void term_set_canon(bool canon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:133,1
    - Dst: isspace
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:134,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: ctrl_shell_rtrim
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 3
    functionsReached:
    - strlen
    - isspace
    linkageType: ''
    returnType: void
    signature: void ctrl_shell_rtrim(char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:143,1
    - Dst: term_set_echo
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:144,1
    - Dst: ctrl_shell_fgets
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:145,1
    - Dst: term_set_echo
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:146,1
    - Dst: term_set_echo
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:149,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:150,1
    - Dst: ctrl_shell_rtrim
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 154
    functionName: ctrl_shell_get_password
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 3
    functionsReached:
    - ctrl_shell_printf
    - term_set_echo
    - ctrl_shell_fgets
    - ctrl_shell_rtrim
    linkageType: ''
    returnType: bool
    signature: bool ctrl_shell_get_password(char *buf, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:164,1
    - Dst: pthread_cond_timedwait
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:167,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 175
    functionName: response_wait
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 0
    functionsReached:
    - clock_gettime
    - pthread_cond_timedwait
    - ctrl_shell_printf
    linkageType: ''
    returnType: int
    signature: int response_wait(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:182,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:183,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:184,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:186,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:187,1
    - Dst: pthread_mutex_lock
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:189,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:191,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:191,1
    - Dst: FREE
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:192,1
    - Dst: response_wait
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:195,1
    - Dst: pthread_mutex_unlock
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:197,1
    - Dst: pthread_mutex_unlock
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:202,1
    - Dst: response_wait
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:207,1
    - Dst: pthread_mutex_unlock
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - j_command
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 178
    functionDepth: 4
    functionLinenumber: 178
    functionLinenumberEnd: 211
    functionName: ctrl_shell_publish_blocking
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 8
    functionsReached:
    - cJSON_PrintUnformatted
    - cJSON_Delete
    - FREE
    - response_wait
    - pthread_mutex_unlock
    - cJSON_AddArrayToObject
    - cJSON_AddItemToArray
    - mosquitto_publish
    - strlen
    - pthread_mutex_lock
    - cJSON_CreateObject
    linkageType: ''
    returnType: int
    signature: int ctrl_shell_publish_blocking(cJSON *j_command)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:216,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:218,1
    - Dst: mosquitto_loop_start
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:219,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:222,1
    - Dst: response_wait
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:224,1
    - Dst: pthread_mutex_unlock
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - hostname
    - port
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 226
    functionName: ctrl_shell__connect_blocking
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 1
    functionsReached:
    - mosquitto_loop_start
    - response_wait
    - pthread_mutex_unlock
    - mosquitto_connect
    - pthread_mutex_lock
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void ctrl_shell__connect_blocking(const char *hostname, int port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: ctrl_shell_line_callback_set
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ctrl_shell_line_callback_set(void (*callback)(char *line))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:237,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:238,1
    - Dst: ctrl_shell_publish_blocking
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - command
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 235
    functionDepth: 5
    functionLinenumber: 235
    functionLinenumberEnd: 241
    functionName: ctrl_shell_command_generic_arg0
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 2
    functionsReached:
    - ctrl_shell_publish_blocking
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int ctrl_shell_command_generic_arg0(const char *command)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:248,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:250,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:254,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:255,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:256,1
    - Dst: ctrl_shell_publish_blocking
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - command
    - itemlabel
    - saveptr
    argTypes:
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 244
    functionDepth: 5
    functionLinenumber: 244
    functionLinenumberEnd: 259
    functionName: ctrl_shell_command_generic_arg1
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 1
    functionsReached:
    - ctrl_shell_printf
    - strtok_r
    - ctrl_shell_publish_blocking
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int ctrl_shell_command_generic_arg1(const char *command, const char
      *itemlabel, char **saveptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:266,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:268,1
    - Dst: atoi
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:271,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:273,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:274,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:275,1
    - Dst: ctrl_shell_publish_blocking
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - command
    - itemlabel
    - saveptr
    argTypes:
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 262
    functionDepth: 5
    functionLinenumber: 262
    functionLinenumberEnd: 278
    functionName: ctrl_shell_command_generic_int_arg1
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 0
    functionsReached:
    - cJSON_AddNumberToObject
    - atoi
    - ctrl_shell_printf
    - strtok_r
    - ctrl_shell_publish_blocking
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int ctrl_shell_command_generic_int_arg1(const char *command, const
      char *itemlabel, char **saveptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:285,1
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:286,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:288,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:292,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:293,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:294,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:295,1
    - Dst: ctrl_shell_publish_blocking
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - command
    - itemlabel1
    - itemlabel2
    - saveptr
    argTypes:
    - char*
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 281
    functionDepth: 5
    functionLinenumber: 281
    functionLinenumberEnd: 298
    functionName: ctrl_shell_command_generic_arg2
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 1
    functionsReached:
    - ctrl_shell_printf
    - strtok_r
    - ctrl_shell_publish_blocking
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int ctrl_shell_command_generic_arg2(const char *command, const char
      *itemlabel1, const char *itemlabel2, char **saveptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:306,1
    - Dst: realloc
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:311,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:315,1
    - Dst: pthread_mutex_lock
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:318,1
    - Dst: mosquitto_subscribe
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:320,1
    - Dst: response_wait
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:322,1
    - Dst: pthread_mutex_unlock
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:323,1
    - Dst: module_on_subscribe
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - topic
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 301
    functionDepth: 3
    functionLinenumber: 301
    functionLinenumberEnd: 334
    functionName: ctrl_shell__subscribe_blocking
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 0
    functionsReached:
    - module_on_subscribe
    - response_wait
    - strdup
    - pthread_mutex_unlock
    - realloc
    - strcmp
    - pthread_mutex_lock
    - mosquitto_subscribe
    linkageType: ''
    returnType: int
    signature: int ctrl_shell__subscribe_blocking(const char *topic, void (*module_on_subscribe)(void))
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:339,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:341,1
    - Dst: ctrl_shell__disconnect
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:343,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:347,1
    - Dst: mod_cleanup
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:349,1
    - Dst: ctrl_shell__post_connect_init
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:351,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 356
    functionName: ctrl_shell_callback_final
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 3
    functionsReached:
    - strcasecmp
    - ctrl_shell__post_connect_init
    - mod_cleanup
    - ctrl_shell__disconnect
    linkageType: ''
    returnType: bool
    signature: bool ctrl_shell_callback_final(char *line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:361,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:362,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:363,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:364,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:365,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:366,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:367,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:368,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:369,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:370,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:371,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:372,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:373,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:375,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - command
    - modul
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 377
    functionName: ctrl_shell_print_help_final
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 2
    functionsReached:
    - ctrl_shell_print_help_command
    - strcasecmp
    - ctrl_shell_printf
    linkageType: ''
    returnType: void
    signature: void ctrl_shell_print_help_final(const char *command, const char *modul)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:391,1
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:396,1
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:399,1
    - Dst: FREE
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - start
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 404
    functionName: calc_generator_arg
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 0
    functionsReached:
    - strdup
    - strtok_r
    - FREE
    linkageType: ''
    returnType: void
    signature: void calc_generator_arg(int start)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:417,1
    - Dst: strncasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:433,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:435,1
    - Dst: strncasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:443,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:444,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - text
    - state
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 450
    functionName: completion_generator
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 0
    functionsReached:
    - strdup
    - strlen
    - strncasecmp
    linkageType: ''
    returnType: char
    signature: char *completion_generator(const char *text, int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - new_commands
    argTypes:
    - struct completion_tree_root*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 456
    functionName: ctrl_shell_completion_commands_set
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ctrl_shell_completion_commands_set(struct completion_tree_root
      *new_commands)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:463,1
    - Dst: calc_generator_arg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:466,1
    - Dst: rl_completion_matches
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 469
    functionName: completion_matcher
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 2
    functionsReached:
    - rl_completion_matches
    - UNUSED
    - calc_generator_arg
    linkageType: ''
    returnType: char
    signature: char **completion_matcher(const char *text, int start, int end)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:478,1
    - Dst: memset
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:483,1
    - Dst: getpeername
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:485,1
    - Dst: ntohs
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:488,1
    - Dst: inet_ntop
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:490,1
    - Dst: ntohs
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:495,1
    - Dst: inet_ntop
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:497,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - sock
    - buf
    - len
    - remote_port
    argTypes:
    - int
    - char*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 503
    functionName: my_get_address
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 0
    functionsReached:
    - inet_ntop
    - memset
    - getpeername
    - ntohs
    linkageType: ''
    returnType: int
    signature: int my_get_address(int sock, char *buf, size_t len, uint16_t *remote_port)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:508,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:509,1
    - Dst: mosquitto_subscribe
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:513,1
    - Dst: my_get_address
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:518,1
    - Dst: mosquitto_socket
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:518,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:519,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - mosq
    - userdata
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 520
    functionName: on_connect_reconnect
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 0
    functionsReached:
    - mosquitto_socket
    - my_get_address
    - ctrl_shell_printf
    - UNUSED
    - mosquitto_subscribe
    linkageType: ''
    returnType: void
    signature: void on_connect_reconnect(struct mosquitto *mosq, void *userdata, int
      rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:525,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:527,1
    - Dst: pthread_mutex_unlock
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:532,1
    - Dst: pthread_cond_signal
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - mosq
    - userdata
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 534
    functionName: ctrl_shell__on_connect
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 0
    functionsReached:
    - pthread_cond_signal
    - pthread_mutex_unlock
    - UNUSED
    - mosquitto_connect_callback_set
    linkageType: ''
    returnType: void
    signature: void ctrl_shell__on_connect(struct mosquitto *mosq, void *userdata,
      int rc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:539,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:540,1
    - Dst: cJSON_Parse
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:542,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:543,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:544,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:545,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:547,1
    - Dst: cJSON_GetArrayItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:548,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:549,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:550,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:551,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:553,1
    - Dst: response_callback
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:555,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:557,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:559,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:563,1
    - Dst: pthread_mutex_unlock
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:566,1
    - Dst: pthread_cond_signal
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:567,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - mosq
    - userdata
    - msg
    argTypes:
    - struct mosquitto*
    - void*
    - struct mosquitto_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 537
    functionDepth: 3
    functionLinenumber: 537
    functionLinenumberEnd: 568
    functionName: ctrl_shell__on_message
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - pthread_cond_signal
    - pthread_mutex_unlock
    - cJSON_GetObjectItem
    - response_callback
    - ctrl_shell_printf
    - strcmp
    - cJSON_GetArrayItem
    - cJSON_Parse
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void ctrl_shell__on_message(struct mosquitto *mosq, void *userdata,
      const struct mosquitto_message *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:573,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:574,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:575,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:576,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:579,1
    - Dst: pthread_mutex_unlock
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:584,1
    - Dst: pthread_cond_signal
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - mosq
    - userdata
    - mid
    - reason_code
    - props
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 571
    functionDepth: 2
    functionLinenumber: 571
    functionLinenumberEnd: 586
    functionName: ctrl_shell__on_publish
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 0
    functionsReached:
    - ctrl_shell_printf
    - pthread_mutex_unlock
    - UNUSED
    - pthread_cond_signal
    linkageType: ''
    returnType: void
    signature: void ctrl_shell__on_publish(struct mosquitto *mosq, void *userdata,
      int mid, int reason_code, const mosquitto_property *props)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:591,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:592,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:593,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:596,1
    - Dst: pthread_mutex_unlock
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:601,1
    - Dst: pthread_cond_signal
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - mosq
    - userdata
    - mid
    - qos_count
    - granted_qos
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 603
    functionName: ctrl_shell__on_subscribe
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 0
    functionsReached:
    - ctrl_shell_printf
    - pthread_mutex_unlock
    - UNUSED
    - pthread_cond_signal
    linkageType: ''
    returnType: void
    signature: void ctrl_shell__on_subscribe(struct mosquitto *mosq, void *userdata,
      int mid, int qos_count, const int *granted_qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:609,1
    - Dst: mod_init
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:610,1
    - Dst: ctrl_shell_completion_commands_set
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:616,1
    - Dst: ctrl_shell_line_callback_set
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:617,1
    - Dst: ctrl_shell__subscribe_blocking
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 606
    functionDepth: 4
    functionLinenumber: 606
    functionLinenumberEnd: 619
    functionName: ctrl_shell__load_module
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 1
    functionsReached:
    - mod_init
    - ctrl_shell__subscribe_blocking
    - memset
    - ctrl_shell_completion_commands_set
    - ctrl_shell_line_callback_set
    linkageType: ''
    returnType: void
    signature: void ctrl_shell__load_module(void (*mod_init)(struct ctrl_shell__module
      *mod))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 633
    functionName: set_no_colour
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_no_colour(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 646
    functionName: set_bg_light
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_bg_light(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 659
    functionName: set_bg_dark
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_bg_dark(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:667,1
    - Dst: fcntl
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:668,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:669,1
    - Dst: set_bg_dark
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:673,1
    - Dst: term_set_echo
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:675,1
    - Dst: term_set_canon
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:676,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:677,1
    - Dst: fflush
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:678,1
    - Dst: usleep
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:682,1
    - Dst: read
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:684,1
    - Dst: fcntl
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:686,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:687,1
    - Dst: term_set_echo
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:690,1
    - Dst: term_set_canon
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:691,1
    - Dst: sscanf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:700,1
    - Dst: set_bg_dark
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:710,1
    - Dst: set_bg_light
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:712,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 662
    functionDepth: 2
    functionLinenumber: 662
    functionLinenumberEnd: 715
    functionName: get_bg
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fcntl
    - usleep
    - read
    - ctrl_shell_printf
    - fflush
    - set_bg_dark
    - term_set_canon
    - set_bg_light
    - term_set_echo
    - sscanf
    linkageType: ''
    returnType: int
    signature: int get_bg(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FREE
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:720,1
    - Dst: FREE
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:722,1
    - Dst: FREE
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:724,1
    - Dst: ctrl_shell__pre_connect_cleanup
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:726,1
    - Dst: ctrl_shell__post_connect_cleanup
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:727,1
    - Dst: mod_cleanup
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:729,1
    - Dst: FREE
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:731,1
    - Dst: FREE
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:732,1
    - Dst: FREE
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:733,1
    - Dst: FREE
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:734,1
    - Dst: FREE
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:735,1
    - Dst: FREE
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:736,1
    - Dst: FREE
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:737,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 718
    functionDepth: 2
    functionLinenumber: 718
    functionLinenumberEnd: 738
    functionName: ctrl_shell__cleanup
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 1
    functionsReached:
    - mod_cleanup
    - FREE
    - ctrl_shell__pre_connect_cleanup
    - ctrl_shell__post_connect_cleanup
    linkageType: ''
    returnType: void
    signature: void ctrl_shell__cleanup(void)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:743,1
    - Dst: set_no_colour
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:750,1
    - Dst: get_bg
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:752,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:759,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:765,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:768,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:771,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:774,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:777,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:780,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:783,1
    - Dst: pthread_mutex_init
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:788,1
    - Dst: pthread_cond_init
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:789,1
    - Dst: rl_bind_key
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:794,1
    - Dst: signal
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:796,1
    - Dst: signal
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:797,1
    - Dst: signal
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:798,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:800,1
    - Dst: ctrl_shell__connect
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:803,1
    - Dst: ctrl_shell__cleanup
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:804,1
    - Dst: ctrl_shell__pre_connect_init
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:808,1
    - Dst: readline
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:813,1
    - Dst: line_callback
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:815,1
    - Dst: clear_history
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:818,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:820,1
    - Dst: ctrl_shell__cleanup
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:822,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 69
    argCount: 1
    argNames:
    - config
    argTypes:
    - struct mosq_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 741
    functionDepth: 3
    functionLinenumber: 741
    functionLinenumberEnd: 823
    functionName: ctrl_shell__main
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 94
    functionsReached:
    - ctrl_shell__pre_connect_init
    - strdup
    - rl_bind_key
    - readline
    - clear_history
    - get_bg
    - line_callback
    - ctrl_shell_printf
    - pthread_mutex_init
    - signal
    - memset
    - pthread_cond_init
    - ctrl_shell__cleanup
    - ctrl_shell__connect
    - set_no_colour
    linkageType: ''
    returnType: void
    signature: void ctrl_shell__main(struct mosq_config *config)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:828,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:828,1
    - Dst: sprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:831,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:831,1
    - Dst: sprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:834,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:834,1
    - Dst: sprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:836,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:836,1
    - Dst: sprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:838,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:838,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:840,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - level
    - label
    argTypes:
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 826
    functionDepth: 2
    functionLinenumber: 826
    functionLinenumberEnd: 842
    functionName: print_label
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 8
    functionsReached:
    - calloc
    - sprintf
    - ctrl_shell_printf
    - strlen
    - free
    linkageType: ''
    returnType: void
    signature: void print_label(unsigned int level, const char *label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_label
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:847,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - level
    - label
    argTypes:
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 845
    functionDepth: 3
    functionLinenumber: 845
    functionLinenumberEnd: 849
    functionName: ctrl_shell_print_label
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 8
    functionsReached:
    - ctrl_shell_printf
    - print_label
    linkageType: ''
    returnType: void
    signature: void ctrl_shell_print_label(unsigned int level, const char *label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:855,1
    - Dst: calloc
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:856,1
    - Dst: print_label
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:858,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:860,1
    - Dst: sprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:861,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:861,1
    - Dst: va_start
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:864,1
    - Dst: vsprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:865,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:865,1
    - Dst: va_end
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:866,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:868,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - level
    - label
    - align
    - fmt
    argTypes:
    - unsigned int
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 852
    functionDepth: 3
    functionLinenumber: 852
    functionLinenumberEnd: 870
    functionName: ctrl_shell_print_label_value
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 2
    functionsReached:
    - print_label
    - calloc
    - sprintf
    - ctrl_shell_printf
    - strlen
    - vsprintf
    - va_end
    - free
    - va_start
    linkageType: ''
    returnType: void
    signature: void ctrl_shell_print_label_value(unsigned int level, const char *label,
      int align, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:876,1
    - Dst: sprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:879,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:879,1
    - Dst: va_start
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:881,1
    - Dst: vsprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:882,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:882,1
    - Dst: va_end
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:883,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:884,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - level
    - fmt
    argTypes:
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 873
    functionDepth: 2
    functionLinenumber: 873
    functionLinenumberEnd: 886
    functionName: ctrl_shell_print_value
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 18
    functionsReached:
    - calloc
    - sprintf
    - ctrl_shell_printf
    - vsprintf
    - strlen
    - va_end
    - free
    - va_start
    linkageType: ''
    returnType: void
    signature: void ctrl_shell_print_value(unsigned int level, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 889
    functionDepth: 2
    functionLinenumber: 889
    functionLinenumberEnd: 892
    functionName: ctrl_shell_print_help_command
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 4
    functionsReached:
    - ctrl_shell_printf
    linkageType: ''
    returnType: void
    signature: void ctrl_shell_print_help_command(const char *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c:897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 895
    functionDepth: 2
    functionLinenumber: 895
    functionLinenumberEnd: 898
    functionName: ctrl_shell_print_help_desc
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
    functionUses: 0
    functionsReached:
    - ctrl_shell_printf
    linkageType: ''
    returnType: void
    signature: void ctrl_shell_print_help_desc(const char *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c
    functionUses: 246
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:41,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:43,1
    - Dst: completion_tree_cmd_add_arg_list
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:44,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:46,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:47,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:48,1
    - Dst: completion_tree_cmd_add
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 50
    functionName: command_tree_create
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c
    functionUses: 3
    functionsReached:
    - calloc
    - completion_tree_cmd_add
    - completion_tree_cmd_add_arg_list
    linkageType: ''
    returnType: void
    signature: void command_tree_create(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:55,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:57,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:58,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:59,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:60,1
    - Dst: ctrl_shell_print_help_command
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:61,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:62,1
    - Dst: ctrl_shell_print_help_final
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:64,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:67,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:69,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:70,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:72,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:73,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:74,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:75,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:76,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:77,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:78,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - saveptr
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 81
    functionName: print_help
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c
    functionUses: 3
    functionsReached:
    - ctrl_shell_print_help_command
    - strcasecmp
    - ctrl_shell_print_help_final
    - ctrl_shell_printf
    - strtok_r
    linkageType: ''
    returnType: void
    signature: void print_help(char **saveptr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ctrl_shell_callback_final
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:97,1
    - Dst: ctrl_shell_rtrim
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:101,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:102,1
    - Dst: add_history
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:103,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:105,1
    - Dst: strtok_r
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:111,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:114,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:119,1
    - Dst: snprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:120,1
    - Dst: ctrl_shell__load_module
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:123,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:128,1
    - Dst: print_help
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:130,1
    - Dst: ctrl_shell_callback_final
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:133,1
    - Dst: ctrl_shell_printf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:134,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:138,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 94
    functionDepth: 5
    functionLinenumber: 94
    functionLinenumberEnd: 139
    functionName: line_callback
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c
    functionUses: 1
    functionsReached:
    - ctrl_shell_callback_final
    - print_help
    - strcasecmp
    - ctrl_shell__load_module
    - add_history
    - snprintf
    - ctrl_shell_printf
    - strlen
    - strtok_r
    - ctrl_shell_rtrim
    - free
    linkageType: ''
    returnType: void
    signature: void line_callback(char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: completion_tree_free
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 5
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: ctrl_shell__post_connect_cleanup
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c
    functionUses: 2
    functionsReached:
    - completion_tree_free
    linkageType: ''
    returnType: void
    signature: void ctrl_shell__post_connect_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: command_tree_create
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:151,1
    - Dst: ctrl_shell_completion_commands_set
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:153,1
    - Dst: ctrl_shell_line_callback_set
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:154,1
    - Dst: snprintf
      Src: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 157
    functionName: ctrl_shell__post_connect_init
    functionSourceFile: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c
    functionUses: 2
    functionsReached:
    - ctrl_shell_completion_commands_set
    - ctrl_shell_line_callback_set
    - snprintf
    - command_tree_create
    linkageType: ''
    returnType: void
    signature: void ctrl_shell__post_connect_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmpfile
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: mpw_tmpfile
    functionSourceFile: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c
    functionUses: 0
    functionsReached:
    - tmpfile
    linkageType: ''
    returnType: FILE
    signature: FILE *mpw_tmpfile(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:86,1
    - Dst: strcpy
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:90,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:92,1
    - Dst: umask
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:101,1
    - Dst: mkstemp
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:102,1
    - Dst: unlink
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:106,1
    - Dst: fdopen
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 109
    functionName: mpw_tmpfile
    functionSourceFile: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c
    functionUses: 0
    functionsReached:
    - unlink
    - fdopen
    - umask
    - strcpy
    - RAND_bytes
    - strlen
    - mkstemp
    linkageType: ''
    returnType: FILE
    signature: FILE *mpw_tmpfile(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:115,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:116,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:117,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:118,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:119,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:120,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:121,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:122,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:123,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:124,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:125,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 127
    functionName: print_usage
    functionSourceFile: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c
    functionUses: 4
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_usage(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:136,1
    - Dst: mosquitto_pw_new
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:139,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:140,1
    - Dst: mosquitto_pw_set_param
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:145,1
    - Dst: mosquitto_pw_hash_encoded
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:148,1
    - Dst: mosquitto_pw_cleanup
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:150,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:151,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:155,1
    - Dst: mosquitto_pw_get_encoded
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:155,1
    - Dst: mosquitto_pw_cleanup
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - fptr
    - username
    - password
    - iterations
    argTypes:
    - FILE*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 159
    functionName: output_new_password
    functionSourceFile: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c
    functionUses: 0
    functionsReached:
    - mosquitto_pw_new
    - mosquitto_pw_hash_encoded
    - fprintf
    - mosquitto_pw_set_param
    - mosquitto_pw_cleanup
    - mosquitto_pw_get_encoded
    linkageType: ''
    returnType: int
    signature: int output_new_password(FILE *fptr, const char *username, const char
      *password, int iterations)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:174,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:176,1
    - Dst: malloc
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:180,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:182,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:183,1
    - Dst: feof
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:187,1
    - Dst: mosquitto_fgets
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:187,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:189,1
    - Dst: malloc
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:191,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:193,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:194,1
    - Dst: memcpy
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:198,1
    - Dst: strtok
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:200,1
    - Dst: strtok
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:201,1
    - Dst: mosquitto_trimblanks
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:203,1
    - Dst: mosquitto_trimblanks
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:204,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:207,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:208,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:210,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:211,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:212,1
    - Dst: cb
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:216,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:221,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:222,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 3
    argNames:
    - fptr
    - ftmp
    - helper
    argTypes:
    - FILE*
    - FILE*
    - struct cb_helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 225
    functionName: pwfile_iterate
    functionSourceFile: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c
    functionUses: 0
    functionsReached:
    - mosquitto_fgets
    - fprintf
    - strtok
    - feof
    - malloc
    - strlen
    - memcpy
    - free
    - mosquitto_trimblanks
    - cb
    linkageType: ''
    returnType: int
    signature: "int pwfile_iterate(FILE *fptr, FILE *ftmp,\n\t\tint (*cb)(FILE *,
      FILE *, const char *, const char *, const char *, struct cb_helper *),\n\t\tstruct
      cb_helper *helper)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:233,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:234,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:235,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:237,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - fptr
    - ftmp
    - username
    - password
    - line
    - helper
    argTypes:
    - FILE*
    - FILE*
    - char*
    - char*
    - char*
    - struct cb_helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 245
    functionName: delete_pwuser_cb
    functionSourceFile: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c
    functionUses: 0
    functionsReached:
    - fprintf
    - UNUSED
    - strcmp
    linkageType: ''
    returnType: int
    signature: int delete_pwuser_cb(FILE *fptr, FILE *ftmp, const char *username,
      const char *password, const char *line, struct cb_helper *helper)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:253,1
    - Dst: pwfile_iterate
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:255,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - fptr
    - ftmp
    - username
    argTypes:
    - FILE*
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 262
    functionName: delete_pwuser
    functionSourceFile: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c
    functionUses: 0
    functionsReached:
    - fprintf
    - pwfile_iterate
    - memset
    linkageType: ''
    returnType: int
    signature: int delete_pwuser(FILE *fptr, FILE *ftmp, const char *username)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:270,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:271,1
    - Dst: output_new_password
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:274,1
    - Dst: output_new_password
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - fptr
    - ftmp
    - username
    - password
    - line
    - helper
    argTypes:
    - FILE*
    - FILE*
    - char*
    - char*
    - char*
    - struct cb_helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 278
    functionName: update_file_cb
    functionSourceFile: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c
    functionUses: 0
    functionsReached:
    - output_new_password
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int update_file_cb(FILE *fptr, FILE *ftmp, const char *username, const
      char *password, const char *line, struct cb_helper *helper)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pwfile_iterate
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fptr
    - ftmp
    argTypes:
    - FILE*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: update_file
    functionSourceFile: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c
    functionUses: 0
    functionsReached:
    - pwfile_iterate
    linkageType: ''
    returnType: int
    signature: int update_file(FILE *fptr, FILE *ftmp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:294,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:295,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:297,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:299,1
    - Dst: output_new_password
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - fptr
    - ftmp
    - username
    - password
    - line
    - helper
    argTypes:
    - FILE*
    - FILE*
    - char*
    - char*
    - char*
    - struct cb_helper*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 306
    functionName: update_pwuser_cb
    functionSourceFile: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c
    functionUses: 0
    functionsReached:
    - fprintf
    - output_new_password
    - UNUSED
    - strcmp
    linkageType: ''
    returnType: int
    signature: int update_pwuser_cb(FILE *fptr, FILE *ftmp, const char *username,
      const char *password, const char *line, struct cb_helper *helper)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:314,1
    - Dst: pwfile_iterate
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:318,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:321,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:324,1
    - Dst: output_new_password
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - fptr
    - ftmp
    - username
    - password
    - iterations
    argTypes:
    - FILE*
    - FILE*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 327
    functionName: update_pwuser
    functionSourceFile: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c
    functionUses: 0
    functionsReached:
    - pwfile_iterate
    - output_new_password
    - printf
    - memset
    linkageType: ''
    returnType: int
    signature: int update_pwuser(FILE *fptr, FILE *ftmp, const char *username, const
      char *password, int iterations)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rewind
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:335,1
    - Dst: rewind
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:336,1
    - Dst: _chsize
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:339,1
    - Dst: fileno
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:339,1
    - Dst: ftruncate
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:341,1
    - Dst: fileno
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:341,1
    - Dst: feof
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:346,1
    - Dst: fread
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:347,1
    - Dst: fwrite
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:349,1
    - Dst: feof
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:353,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - FILE*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 357
    functionName: copy_contents
    functionSourceFile: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c
    functionUses: 0
    functionsReached:
    - rewind
    - _chsize
    - fwrite
    - feof
    - fileno
    - ftruncate
    - fread
    linkageType: ''
    returnType: int
    signature: int copy_contents(FILE *src, FILE *dest)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_fopen
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:365,1
    - Dst: umask
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:368,1
    - Dst: mkstemp
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:369,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:371,1
    - Dst: fdopen
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:374,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:377,1
    - Dst: copy_contents
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:381,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:382,1
    - Dst: fclose
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:383,1
    - Dst: fclose
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:386,1
    - Dst: rewind
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - backup_file
    - fptr
    argTypes:
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 389
    functionName: create_backup
    functionSourceFile: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c
    functionUses: 0
    functionsReached:
    - rewind
    - fprintf
    - fdopen
    - fclose
    - umask
    - mosquitto_fopen
    - mkstemp
    - copy_contents
    linkageType: ''
    returnType: int
    signature: int create_backup(char *backup_file, FILE *fptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_password__reset_term
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:394,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:396,1
    - Dst: exit
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - signal
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: handle_sigint
    functionSourceFile: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c
    functionUses: 0
    functionsReached:
    - exit
    - UNUSED
    - get_password__reset_term
    linkageType: ''
    returnType: void
    signature: void handle_sigint(int signal)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:410,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:412,1
    - Dst: iscntrl
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:416,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:417,1
    - Dst: strchr
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:421,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:422,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - username
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 427
    functionName: is_username_valid
    functionSourceFile: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strlen
    - iscntrl
    - strchr
    linkageType: ''
    returnType: bool
    signature: bool is_username_valid(const char *username)
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:455,1
    - Dst: signal
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:456,1
    - Dst: OpenSSL_add_all_digests
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:459,1
    - Dst: OPENSSL_init_crypto
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:461,1
    - Dst: print_usage
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:467,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:473,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:475,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:478,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:480,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:482,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:485,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:489,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:491,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:493,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:495,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:497,1
    - Dst: atoi
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:500,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:503,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:506,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:514,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:518,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:522,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:526,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:533,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:536,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:546,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:549,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:559,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:567,1
    - Dst: print_usage
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:580,1
    - Dst: is_username_valid
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:584,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:587,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:588,1
    - Dst: _fullpath
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:594,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:596,1
    - Dst: realpath
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:600,1
    - Dst: strdup
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:603,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:605,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:609,1
    - Dst: strerror
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:609,1
    - Dst: get_password
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:618,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:620,1
    - Dst: mosquitto_fopen
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:628,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:630,1
    - Dst: strerror
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:630,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:631,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:634,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:637,1
    - Dst: output_new_password
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:639,1
    - Dst: fclose
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:640,1
    - Dst: mosquitto_fopen
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:643,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:645,1
    - Dst: strerror
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:645,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:646,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:650,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:650,1
    - Dst: malloc
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:651,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:653,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:654,1
    - Dst: snprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:657,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:658,1
    - Dst: create_backup
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:661,1
    - Dst: fclose
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:662,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:663,1
    - Dst: mpw_tmpfile
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:667,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:669,1
    - Dst: strerror
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:669,1
    - Dst: fclose
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:670,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:671,1
    - Dst: delete_pwuser
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:675,1
    - Dst: update_file
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:677,1
    - Dst: update_pwuser
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:681,1
    - Dst: get_password
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:683,1
    - Dst: update_pwuser
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:686,1
    - Dst: fclose
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:691,1
    - Dst: fclose
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:692,1
    - Dst: unlink
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:693,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:694,1
    - Dst: copy_contents
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:698,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:699,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:700,1
    - Dst: fclose
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:703,1
    - Dst: fclose
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:704,1
    - Dst: unlink
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:709,1
    - Dst: free
      Src: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c:711,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 246
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 436
    functionDepth: 3
    functionLinenumber: 436
    functionLinenumberEnd: 715
    functionName: main
    functionSourceFile: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c
    functionUses: 98
    functionsReached:
    - OPENSSL_init_crypto
    - update_pwuser
    - delete_pwuser
    - atoi
    - is_username_valid
    - printf
    - strcmp
    - unlink
    - mosquitto_fopen
    - malloc
    - OpenSSL_add_all_digests
    - signal
    - copy_contents
    - strerror
    - mpw_tmpfile
    - free
    - fprintf
    - print_usage
    - strlen
    - _fullpath
    - realpath
    - strdup
    - fclose
    - snprintf
    - get_password
    - update_file
    - output_new_password
    - create_backup
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcgetattr
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:48,1
    - Dst: tcsetattr
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: get_password__reset_term
    functionSourceFile: /src/mosquitto/apps/mosquitto_passwd/get_password.c
    functionUses: 1
    functionsReached:
    - tcsetattr
    - tcgetattr
    linkageType: ''
    returnType: void
    signature: void get_password__reset_term(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:62,1
    - Dst: GetStdHandle
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:63,1
    - Dst: GetConsoleMode
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:64,1
    - Dst: SetConsoleMode
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:68,1
    - Dst: ReadConsole
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:69,1
    - Dst: SetConsoleMode
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:70,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:73,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:73,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:74,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:76,1
    - Dst: SetConsoleMode
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:79,1
    - Dst: memset
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:86,1
    - Dst: tcgetattr
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:87,1
    - Dst: tcsetattr
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:89,1
    - Dst: fgets
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:91,1
    - Dst: get_password__reset_term
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:92,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:97,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:97,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:97,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:98,1
    - Dst: strlen
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:100,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 106
    functionName: gets_quiet
    functionSourceFile: /src/mosquitto/apps/mosquitto_passwd/get_password.c
    functionUses: 0
    functionsReached:
    - GetConsoleMode
    - tcsetattr
    - tcgetattr
    - get_password__reset_term
    - ReadConsole
    - strlen
    - fgets
    - memset
    - GetStdHandle
    - SetConsoleMode
    linkageType: ''
    returnType: int
    signature: int gets_quiet(char *s, int len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:115,1
    - Dst: fflush
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:116,1
    - Dst: gets_quiet
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:117,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:119,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:123,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:126,1
    - Dst: fflush
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:127,1
    - Dst: gets_quiet
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:128,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:130,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:134,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:136,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:138,1
    - Dst: strncpy
      Src: /src/mosquitto/apps/mosquitto_passwd/get_password.c:144,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 5
    argNames:
    - prompt
    - verify_prompt
    - quiet
    - password
    - len
    argTypes:
    - char*
    - char*
    - bool
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 146
    functionName: get_password
    functionSourceFile: /src/mosquitto/apps/mosquitto_passwd/get_password.c
    functionUses: 8
    functionsReached:
    - fprintf
    - gets_quiet
    - fflush
    - printf
    - strcmp
    - strncpy
    linkageType: ''
    returnType: int
    signature: int get_password(const char *prompt, const char *verify_prompt, bool
      quiet, char *password, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:27,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:28,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:29,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:30,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:31,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:33,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:35,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:37,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:38,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:39,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:40,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:41,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:42,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:43,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:44,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:45,1
    - Dst: printf
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 47
    functionName: print_usage
    functionSourceFile: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c
    functionUses: 5
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_usage(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: print_usage
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:57,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:63,1
    - Dst: print_usage
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:64,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:66,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:68,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:70,1
    - Dst: atoi
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:73,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:75,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:84,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:88,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:91,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:93,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:95,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:97,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:99,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:102,1
    - Dst: send_signal
      Src: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c:106,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 109
    functionName: main
    functionSourceFile: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c
    functionUses: 98
    functionsReached:
    - send_signal
    - fprintf
    - print_usage
    - atoi
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - msig
    argTypes:
    - enum mosq_sig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 53
    functionName: msig_to_string
    functionSourceFile: /src/mosquitto/apps/mosquitto_signal/signal_windows.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *msig_to_string(enum mosq_sig msig)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EnumProcesses
      Src: /src/mosquitto/apps/mosquitto_signal/signal_windows.c:61,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_signal/signal_windows.c:62,1
    - Dst: OpenProcess
      Src: /src/mosquitto/apps/mosquitto_signal/signal_windows.c:69,1
    - Dst: EnumProcessModules
      Src: /src/mosquitto/apps/mosquitto_signal/signal_windows.c:73,1
    - Dst: GetModuleBaseName
      Src: /src/mosquitto/apps/mosquitto_signal/signal_windows.c:74,1
    - Dst: strcasecmp
      Src: /src/mosquitto/apps/mosquitto_signal/signal_windows.c:75,1
    - Dst: GetProcessId
      Src: /src/mosquitto/apps/mosquitto_signal/signal_windows.c:76,1
    - Dst: send_signal
      Src: /src/mosquitto/apps/mosquitto_signal/signal_windows.c:77,1
    - Dst: CloseHandle
      Src: /src/mosquitto/apps/mosquitto_signal/signal_windows.c:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - msig
    argTypes:
    - enum mosq_signal
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 84
    functionName: signal_all
    functionSourceFile: /src/mosquitto/apps/mosquitto_signal/signal_windows.c
    functionUses: 0
    functionsReached:
    - EnumProcesses
    - CloseHandle
    - send_signal
    - GetProcessId
    - fprintf
    - strcasecmp
    - OpenProcess
    - EnumProcessModules
    - GetModuleBaseName
    linkageType: ''
    returnType: void
    signature: void signal_all(enum mosq_signal msig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/mosquitto/apps/mosquitto_signal/signal_windows.c:93,1
    - Dst: msig_to_string
      Src: /src/mosquitto/apps/mosquitto_signal/signal_windows.c:93,1
    - Dst: OpenEvent
      Src: /src/mosquitto/apps/mosquitto_signal/signal_windows.c:94,1
    - Dst: PulseEvent
      Src: /src/mosquitto/apps/mosquitto_signal/signal_windows.c:96,1
    - Dst: CloseHandle
      Src: /src/mosquitto/apps/mosquitto_signal/signal_windows.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pid
    - msig
    argTypes:
    - int
    - enum mosq_signal
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 99
    functionName: send_signal
    functionSourceFile: /src/mosquitto/apps/mosquitto_signal/signal_windows.c
    functionUses: 2
    functionsReached:
    - PulseEvent
    - CloseHandle
    - snprintf
    - msig_to_string
    - OpenEvent
    linkageType: ''
    returnType: void
    signature: void send_signal(int pid, enum mosq_signal msig)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/mosquitto/apps/mosquitto_signal/signal_unix.c:42,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_signal/signal_unix.c:44,1
    - Dst: strerror
      Src: /src/mosquitto/apps/mosquitto_signal/signal_unix.c:44,1
    - Dst: readdir
      Src: /src/mosquitto/apps/mosquitto_signal/signal_unix.c:48,1
    - Dst: atoi
      Src: /src/mosquitto/apps/mosquitto_signal/signal_unix.c:53,1
    - Dst: snprintf
      Src: /src/mosquitto/apps/mosquitto_signal/signal_unix.c:55,1
    - Dst: fopen
      Src: /src/mosquitto/apps/mosquitto_signal/signal_unix.c:56,1
    - Dst: fgets
      Src: /src/mosquitto/apps/mosquitto_signal/signal_unix.c:58,1
    - Dst: strrchr
      Src: /src/mosquitto/apps/mosquitto_signal/signal_unix.c:59,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/mosquitto_signal/signal_unix.c:65,1
    - Dst: kill
      Src: /src/mosquitto/apps/mosquitto_signal/signal_unix.c:66,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_signal/signal_unix.c:67,1
    - Dst: strerror
      Src: /src/mosquitto/apps/mosquitto_signal/signal_unix.c:67,1
    - Dst: fclose
      Src: /src/mosquitto/apps/mosquitto_signal/signal_unix.c:71,1
    - Dst: closedir
      Src: /src/mosquitto/apps/mosquitto_signal/signal_unix.c:77,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 1
    argNames:
    - sig
    argTypes:
    - enum mosq_signal
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 78
    functionName: signal_all
    functionSourceFile: /src/mosquitto/apps/mosquitto_signal/signal_unix.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strrchr
    - snprintf
    - atoi
    - fclose
    - fgets
    - strerror
    - readdir
    - strcmp
    - opendir
    - closedir
    - fopen
    - kill
    linkageType: ''
    returnType: void
    signature: void signal_all(enum mosq_signal sig)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/mosquitto/apps/mosquitto_signal/signal_unix.c:108,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/mosquitto_signal/signal_unix.c:109,1
    - Dst: strerror
      Src: /src/mosquitto/apps/mosquitto_signal/signal_unix.c:109,1
    - Dst: signal_all
      Src: /src/mosquitto/apps/mosquitto_signal/signal_unix.c:112,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - pid
    - msig
    argTypes:
    - int
    - enum mosq_signal
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 114
    functionName: send_signal
    functionSourceFile: /src/mosquitto/apps/mosquitto_signal/signal_unix.c
    functionUses: 2
    functionsReached:
    - fprintf
    - strerror
    - kill
    - signal_all
    linkageType: ''
    returnType: void
    signature: void send_signal(int pid, enum mosq_signal msig)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: mosquitto_malloc
    functionSourceFile: /src/mosquitto/apps/db_dump/json.c
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mosquitto_malloc(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: mosquitto_free
    functionSourceFile: /src/mosquitto/apps/db_dump/json.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mosquitto_free(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: _mosquitto_malloc
    functionSourceFile: /src/mosquitto/apps/db_dump/json.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _mosquitto_malloc(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: _mosquitto_free
    functionSourceFile: /src/mosquitto/apps/db_dump/json.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _mosquitto_free(A)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/apps/db_dump/json.c:53,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/db_dump/json.c:55,1
    - Dst: exit
      Src: /src/mosquitto/apps/db_dump/json.c:56,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/apps/db_dump/json.c:59,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/apps/db_dump/json.c:60,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/apps/db_dump/json.c:61,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/apps/db_dump/json.c:62,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/apps/db_dump/json.c:63,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/db_dump/json.c:66,1
    - Dst: exit
      Src: /src/mosquitto/apps/db_dump/json.c:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 69
    functionName: json_init
    functionSourceFile: /src/mosquitto/apps/db_dump/json.c
    functionUses: 1
    functionsReached:
    - fprintf
    - exit
    - cJSON_AddArrayToObject
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void json_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Print
      Src: /src/mosquitto/apps/db_dump/json.c:74,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/json.c:75,1
    - Dst: free
      Src: /src/mosquitto/apps/db_dump/json.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: json_print
    functionSourceFile: /src/mosquitto/apps/db_dump/json.c
    functionUses: 0
    functionsReached:
    - printf
    - free
    - cJSON_Print
    linkageType: ''
    returnType: void
    signature: void json_print(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Delete
      Src: /src/mosquitto/apps/db_dump/json.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: json_cleanup
    functionSourceFile: /src/mosquitto/apps/db_dump/json.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    linkageType: ''
    returnType: void
    signature: void json_cleanup(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/apps/db_dump/json.c:90,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/apps/db_dump/json.c:91,1
    - Dst: cJSON_AddUIntToObject
      Src: /src/mosquitto/apps/db_dump/json.c:93,1
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/apps/db_dump/json.c:94,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/mosquitto/apps/db_dump/json.c:95,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/mosquitto/apps/db_dump/json.c:96,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/mosquitto/apps/db_dump/json.c:97,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/mosquitto/apps/db_dump/json.c:98,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/db_dump/json.c:99,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/db_dump/json.c:101,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/db_dump/json.c:104,1
    - Dst: mosquitto_base64_encode
      Src: /src/mosquitto/apps/db_dump/json.c:108,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/db_dump/json.c:109,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/apps/db_dump/json.c:110,1
    - Dst: mosquitto_properties_to_json
      Src: /src/mosquitto/apps/db_dump/json.c:114,1
    - Dst: cJSON_AddItemToObject
      Src: /src/mosquitto/apps/db_dump/json.c:116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct P_base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 86
    functionDepth: 4
    functionLinenumber: 86
    functionLinenumberEnd: 119
    functionName: json_add_base_msg
    functionSourceFile: /src/mosquitto/apps/db_dump/json.c
    functionUses: 0
    functionsReached:
    - cJSON_AddIntToObject
    - cJSON_AddNumberToObject
    - mosquitto_properties_to_json
    - cJSON_AddUIntToObject
    - cJSON_AddItemToArray
    - mosquitto_free
    - mosquitto_base64_encode
    - cJSON_AddItemToObject
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: void
    signature: void json_add_base_msg(struct P_base_msg *chunk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/apps/db_dump/json.c:126,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/apps/db_dump/json.c:127,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/db_dump/json.c:129,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/db_dump/json.c:131,1
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/apps/db_dump/json.c:133,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/mosquitto/apps/db_dump/json.c:134,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/mosquitto/apps/db_dump/json.c:135,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/mosquitto/apps/db_dump/json.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct P_client*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 122
    functionDepth: 4
    functionLinenumber: 122
    functionLinenumberEnd: 138
    functionName: json_add_client
    functionSourceFile: /src/mosquitto/apps/db_dump/json.c
    functionUses: 0
    functionsReached:
    - cJSON_AddIntToObject
    - cJSON_AddNumberToObject
    - cJSON_AddItemToArray
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: void
    signature: void json_add_client(struct P_client *chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/apps/db_dump/json.c:145,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/apps/db_dump/json.c:146,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/db_dump/json.c:148,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/mosquitto/apps/db_dump/json.c:149,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/mosquitto/apps/db_dump/json.c:150,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/mosquitto/apps/db_dump/json.c:151,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/mosquitto/apps/db_dump/json.c:152,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/mosquitto/apps/db_dump/json.c:153,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/mosquitto/apps/db_dump/json.c:154,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/mosquitto/apps/db_dump/json.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct P_client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 141
    functionDepth: 4
    functionLinenumber: 141
    functionLinenumberEnd: 156
    functionName: json_add_client_msg
    functionSourceFile: /src/mosquitto/apps/db_dump/json.c
    functionUses: 0
    functionsReached:
    - cJSON_AddItemToArray
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: void
    signature: void json_add_client_msg(struct P_client_msg *chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/apps/db_dump/json.c:163,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/apps/db_dump/json.c:164,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/db_dump/json.c:166,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/apps/db_dump/json.c:167,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/mosquitto/apps/db_dump/json.c:168,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/mosquitto/apps/db_dump/json.c:169,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/mosquitto/apps/db_dump/json.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct P_sub*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 4
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: json_add_subscription
    functionSourceFile: /src/mosquitto/apps/db_dump/json.c
    functionUses: 0
    functionsReached:
    - cJSON_AddItemToArray
    - cJSON_AddNumberToObject
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: void
    signature: void json_add_subscription(struct P_sub *chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/apps/db_dump/json.c:178,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/apps/db_dump/json.c:179,1
    - Dst: cJSON_AddUIntToObject
      Src: /src/mosquitto/apps/db_dump/json.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct P_retain*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: json_add_retained_msg
    functionSourceFile: /src/mosquitto/apps/db_dump/json.c
    functionUses: 0
    functionsReached:
    - cJSON_AddItemToArray
    - cJSON_AddUIntToObject
    - cJSON_CreateObject
    linkageType: ''
    returnType: void
    signature: void json_add_retained_msg(struct P_retain *chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 10
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/apps/db_dump/stubs.c
    functionUses: 250
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 15
    functionName: context__init
    functionSourceFile: /src/mosquitto/apps/db_dump/stubs.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: struct mosquitto
    signature: struct mosquitto *context__init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/db_dump/stubs.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: context__add_to_by_id
    functionSourceFile: /src/mosquitto/apps/db_dump/stubs.c
    functionUses: 5
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void context__add_to_by_id(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/db_dump/stubs.c:26,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/db_dump/stubs.c:26,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/db_dump/stubs.c:26,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/db_dump/stubs.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - source
    - base_msg
    - message_expiry_interval
    - origin
    argTypes:
    - struct mosquitto*
    - struct mosquitto__base_msg*
    - uint32_t*
    - enum mosquitto_msg_origin
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: db__message_store
    functionSourceFile: /src/mosquitto/apps/db_dump/stubs.c
    functionUses: 5
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int db__message_store(const struct mosquitto *source, struct mosquitto__base_msg
      *base_msg, uint32_t *message_expiry_interval, enum mosquitto_msg_origin origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/db_dump/stubs.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - base_msg
    argTypes:
    - struct mosquitto__base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: db__msg_store_ref_inc
    functionSourceFile: /src/mosquitto/apps/db_dump/stubs.c
    functionUses: 5
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void db__msg_store_ref_inc(struct mosquitto__base_msg *base_msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/db_dump/stubs.c:38,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/db_dump/stubs.c:38,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/db_dump/stubs.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - level
    - fmt
    argTypes:
    - struct mosquitto*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: log__printf
    functionSourceFile: /src/mosquitto/apps/db_dump/stubs.c
    functionUses: 139
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int log__printf(struct mosquitto *mosq, unsigned int level, const char
      *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/db_dump/stubs.c:44,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/db_dump/stubs.c:44,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/db_dump/stubs.c:44,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/db_dump/stubs.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - topic
    - base_msg
    - split_topics
    - persist
    argTypes:
    - char*
    - struct mosquitto__base_msg*
    - char**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: retain__store
    functionSourceFile: /src/mosquitto/apps/db_dump/stubs.c
    functionUses: 4
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int retain__store(const char *topic, struct mosquitto__base_msg *base_msg,
      char **split_topics, bool persist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/db_dump/stubs.c:50,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/db_dump/stubs.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - context
    - sub
    argTypes:
    - struct mosquitto*
    - struct mosquitto_subscription*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: sub__add
    functionSourceFile: /src/mosquitto/apps/db_dump/stubs.c
    functionUses: 6
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int sub__add(struct mosquitto *context, const struct mosquitto_subscription
      *sub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/db_dump/stubs.c:56,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/db_dump/stubs.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg_data
    - msg
    argTypes:
    - struct mosquitto_msg_data*
    - struct mosquitto__client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: db__msg_add_to_inflight_stats
    functionSourceFile: /src/mosquitto/apps/db_dump/stubs.c
    functionUses: 6
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void db__msg_add_to_inflight_stats(struct mosquitto_msg_data *msg_data,
      struct mosquitto__client_msg *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/db_dump/stubs.c:62,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/db_dump/stubs.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg_data
    - msg
    argTypes:
    - struct mosquitto_msg_data*
    - struct mosquitto__client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: db__msg_add_to_queued_stats
    functionSourceFile: /src/mosquitto/apps/db_dump/stubs.c
    functionUses: 5
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void db__msg_add_to_queued_stats(struct mosquitto_msg_data *msg_data,
      struct mosquitto__client_msg *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/apps/db_dump/stubs.c:68,1
    - Dst: UNUSED
      Src: /src/mosquitto/apps/db_dump/stubs.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - context
    - expiry_time
    argTypes:
    - struct mosquitto*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: session_expiry__add_from_persistence
    functionSourceFile: /src/mosquitto/apps/db_dump/stubs.c
    functionUses: 2
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int session_expiry__add_from_persistence(struct mosquitto *context,
      time_t expiry_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: mosquitto_malloc
    functionSourceFile: /src/mosquitto/apps/db_dump/db_dump.c
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mosquitto_malloc(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: mosquitto_free
    functionSourceFile: /src/mosquitto/apps/db_dump/db_dump.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mosquitto_free(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: _mosquitto_malloc
    functionSourceFile: /src/mosquitto/apps/db_dump/db_dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _mosquitto_malloc(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: _mosquitto_free
    functionSourceFile: /src/mosquitto/apps/db_dump/db_dump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _mosquitto_free(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/mosquitto/apps/db_dump/db_dump.c:84,1
    - Dst: free
      Src: /src/mosquitto/apps/db_dump/db_dump.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct P_sub*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: free__sub
    functionSourceFile: /src/mosquitto/apps/db_dump/db_dump.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free__sub(struct P_sub *chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/mosquitto/apps/db_dump/db_dump.c:91,1
    - Dst: free
      Src: /src/mosquitto/apps/db_dump/db_dump.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct P_client*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: free__client
    functionSourceFile: /src/mosquitto/apps/db_dump/db_dump.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free__client(struct P_client *chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/mosquitto/apps/db_dump/db_dump.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct P_client_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: free__client_msg
    functionSourceFile: /src/mosquitto/apps/db_dump/db_dump.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free__client_msg(struct P_client_msg *chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/mosquitto/apps/db_dump/db_dump.c:104,1
    - Dst: free
      Src: /src/mosquitto/apps/db_dump/db_dump.c:105,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/apps/db_dump/db_dump.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct P_base_msg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: free__base_msg
    functionSourceFile: /src/mosquitto/apps/db_dump/db_dump.c
    functionUses: 0
    functionsReached:
    - free
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void free__base_msg(struct P_base_msg *chunk)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/apps/db_dump/db_dump.c:117,1
    - Dst: persist__chunk_cfg_read_v56
      Src: /src/mosquitto/apps/db_dump/db_dump.c:120,1
    - Dst: persist__chunk_cfg_read_v234
      Src: /src/mosquitto/apps/db_dump/db_dump.c:122,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:125,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:130,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:133,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:136,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:139,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:142,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:147,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - db_fd
    - length
    argTypes:
    - FILE*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 151
    functionName: dump__cfg_chunk_process
    functionSourceFile: /src/mosquitto/apps/db_dump/db_dump.c
    functionUses: 0
    functionsReached:
    - fprintf
    - persist__chunk_cfg_read_v234
    - persist__chunk_cfg_read_v56
    - printf
    - memset
    linkageType: ''
    returnType: int
    signature: int dump__cfg_chunk_process(FILE *db_fd, uint32_t length)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/apps/db_dump/db_dump.c:162,1
    - Dst: persist__chunk_client_read_v56
      Src: /src/mosquitto/apps/db_dump/db_dump.c:165,1
    - Dst: persist__chunk_client_read_v234
      Src: /src/mosquitto/apps/db_dump/db_dump.c:167,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:170,1
    - Dst: calloc
      Src: /src/mosquitto/apps/db_dump/db_dump.c:175,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:177,1
    - Dst: free
      Src: /src/mosquitto/apps/db_dump/db_dump.c:178,1
    - Dst: strdup
      Src: /src/mosquitto/apps/db_dump/db_dump.c:181,1
    - Dst: HASH_ADD_KEYPTR
      Src: /src/mosquitto/apps/db_dump/db_dump.c:182,1
    - Dst: strlen
      Src: /src/mosquitto/apps/db_dump/db_dump.c:182,1
    - Dst: json_add_client
      Src: /src/mosquitto/apps/db_dump/db_dump.c:186,1
    - Dst: print__client
      Src: /src/mosquitto/apps/db_dump/db_dump.c:189,1
    - Dst: free__client
      Src: /src/mosquitto/apps/db_dump/db_dump.c:191,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - db_fd
    - length
    argTypes:
    - FILE*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 154
    functionDepth: 5
    functionLinenumber: 154
    functionLinenumberEnd: 194
    functionName: dump__client_chunk_process
    functionSourceFile: /src/mosquitto/apps/db_dump/db_dump.c
    functionUses: 0
    functionsReached:
    - calloc
    - print__client
    - fprintf
    - strdup
    - strlen
    - persist__chunk_client_read_v234
    - persist__chunk_client_read_v56
    - memset
    - HASH_ADD_KEYPTR
    - json_add_client
    - free
    - free__client
    linkageType: ''
    returnType: int
    signature: int dump__client_chunk_process(FILE *db_fd, uint32_t length)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/apps/db_dump/db_dump.c:206,1
    - Dst: persist__chunk_client_msg_read_v56
      Src: /src/mosquitto/apps/db_dump/db_dump.c:208,1
    - Dst: persist__chunk_client_msg_read_v234
      Src: /src/mosquitto/apps/db_dump/db_dump.c:210,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:213,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/apps/db_dump/db_dump.c:218,1
    - Dst: strlen
      Src: /src/mosquitto/apps/db_dump/db_dump.c:218,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/apps/db_dump/db_dump.c:223,1
    - Dst: json_add_client_msg
      Src: /src/mosquitto/apps/db_dump/db_dump.c:231,1
    - Dst: print__client_msg
      Src: /src/mosquitto/apps/db_dump/db_dump.c:234,1
    - Dst: free__client_msg
      Src: /src/mosquitto/apps/db_dump/db_dump.c:236,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - db_fd
    - length
    argTypes:
    - FILE*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 197
    functionDepth: 5
    functionLinenumber: 197
    functionLinenumberEnd: 238
    functionName: dump__client_msg_chunk_process
    functionSourceFile: /src/mosquitto/apps/db_dump/db_dump.c
    functionUses: 0
    functionsReached:
    - fprintf
    - json_add_client_msg
    - persist__chunk_client_msg_read_v56
    - strlen
    - persist__chunk_client_msg_read_v234
    - memset
    - HASH_FIND
    - free__client_msg
    - print__client_msg
    linkageType: ''
    returnType: int
    signature: int dump__client_msg_chunk_process(FILE *db_fd, uint32_t length)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/apps/db_dump/db_dump.c:252,1
    - Dst: persist__chunk_base_msg_read_v56
      Src: /src/mosquitto/apps/db_dump/db_dump.c:254,1
    - Dst: persist__chunk_base_msg_read_v234
      Src: /src/mosquitto/apps/db_dump/db_dump.c:256,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:259,1
    - Dst: time
      Src: /src/mosquitto/apps/db_dump/db_dump.c:264,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/apps/db_dump/db_dump.c:274,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:276,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/apps/db_dump/db_dump.c:277,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/apps/db_dump/db_dump.c:278,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/apps/db_dump/db_dump.c:279,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/apps/db_dump/db_dump.c:280,1
    - Dst: db__message_store
      Src: /src/mosquitto/apps/db_dump/db_dump.c:292,1
    - Dst: json_add_base_msg
      Src: /src/mosquitto/apps/db_dump/db_dump.c:296,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/apps/db_dump/db_dump.c:299,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/apps/db_dump/db_dump.c:300,1
    - Dst: HASH_ADD
      Src: /src/mosquitto/apps/db_dump/db_dump.c:308,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:310,1
    - Dst: calloc
      Src: /src/mosquitto/apps/db_dump/db_dump.c:315,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:317,1
    - Dst: HASH_ADD
      Src: /src/mosquitto/apps/db_dump/db_dump.c:322,1
    - Dst: print__base_msg
      Src: /src/mosquitto/apps/db_dump/db_dump.c:326,1
    - Dst: free__base_msg
      Src: /src/mosquitto/apps/db_dump/db_dump.c:328,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 70
    argCount: 2
    argNames:
    - db_fptr
    - length
    argTypes:
    - FILE*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 241
    functionDepth: 5
    functionLinenumber: 241
    functionLinenumberEnd: 331
    functionName: dump__base_msg_chunk_process
    functionSourceFile: /src/mosquitto/apps/db_dump/db_dump.c
    functionUses: 0
    functionsReached:
    - persist__chunk_base_msg_read_v56
    - calloc
    - print__base_msg
    - mosquitto_calloc
    - fprintf
    - HASH_ADD
    - persist__chunk_base_msg_read_v234
    - mosquitto_free
    - free__base_msg
    - memset
    - json_add_base_msg
    - db__message_store
    - time
    linkageType: ''
    returnType: int
    signature: int dump__base_msg_chunk_process(FILE *db_fptr, uint32_t length)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:341,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:344,1
    - Dst: persist__chunk_retain_read_v56
      Src: /src/mosquitto/apps/db_dump/db_dump.c:348,1
    - Dst: persist__chunk_retain_read_v234
      Src: /src/mosquitto/apps/db_dump/db_dump.c:350,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:353,1
    - Dst: json_add_retained_msg
      Src: /src/mosquitto/apps/db_dump/db_dump.c:358,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:362,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - db_fd
    - length
    argTypes:
    - FILE*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 334
    functionDepth: 4
    functionLinenumber: 334
    functionLinenumberEnd: 365
    functionName: dump__retain_chunk_process
    functionSourceFile: /src/mosquitto/apps/db_dump/db_dump.c
    functionUses: 0
    functionsReached:
    - persist__chunk_retain_read_v234
    - json_add_retained_msg
    - fprintf
    - printf
    - persist__chunk_retain_read_v56
    linkageType: ''
    returnType: int
    signature: int dump__retain_chunk_process(FILE *db_fd, uint32_t length)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/apps/db_dump/db_dump.c:376,1
    - Dst: persist__chunk_sub_read_v56
      Src: /src/mosquitto/apps/db_dump/db_dump.c:378,1
    - Dst: persist__chunk_sub_read_v234
      Src: /src/mosquitto/apps/db_dump/db_dump.c:380,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:383,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/apps/db_dump/db_dump.c:388,1
    - Dst: strlen
      Src: /src/mosquitto/apps/db_dump/db_dump.c:388,1
    - Dst: json_add_subscription
      Src: /src/mosquitto/apps/db_dump/db_dump.c:396,1
    - Dst: print__sub
      Src: /src/mosquitto/apps/db_dump/db_dump.c:399,1
    - Dst: free__sub
      Src: /src/mosquitto/apps/db_dump/db_dump.c:401,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - db_fd
    - length
    argTypes:
    - FILE*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 368
    functionDepth: 5
    functionLinenumber: 368
    functionLinenumberEnd: 404
    functionName: dump__sub_chunk_process
    functionSourceFile: /src/mosquitto/apps/db_dump/db_dump.c
    functionUses: 0
    functionsReached:
    - json_add_subscription
    - fprintf
    - free__sub
    - persist__chunk_sub_read_v234
    - strlen
    - persist__chunk_sub_read_v56
    - memset
    - HASH_FIND
    - print__sub
    linkageType: ''
    returnType: int
    signature: int dump__sub_chunk_process(FILE *db_fd, uint32_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:413,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 417
    functionName: report_client_stats
    functionSourceFile: /src/mosquitto/apps/db_dump/db_dump.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void report_client_stats(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:413,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 415
    functionName: HASH_ITER
    functionSourceFile: /src/mosquitto/apps/db_dump/db_dump.c
    functionUses: 26
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh_id, clients_by_id, cc, cc_tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_DELETE
      Src: /src/mosquitto/apps/db_dump/db_dump.c:426,1
    - Dst: free
      Src: /src/mosquitto/apps/db_dump/db_dump.c:427,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/apps/db_dump/db_dump.c:431,1
    - Dst: free
      Src: /src/mosquitto/apps/db_dump/db_dump.c:432,1
    - Dst: free
      Src: /src/mosquitto/apps/db_dump/db_dump.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 435
    functionName: cleanup_client_stats
    functionSourceFile: /src/mosquitto/apps/db_dump/db_dump.c
    functionUses: 0
    functionsReached:
    - free
    - HASH_DELETE
    linkageType: ''
    returnType: void
    signature: void cleanup_client_stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_DELETE
      Src: /src/mosquitto/apps/db_dump/db_dump.c:426,1
    - Dst: free
      Src: /src/mosquitto/apps/db_dump/db_dump.c:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: HASH_ITER
    functionSourceFile: /src/mosquitto/apps/db_dump/db_dump.c
    functionUses: 26
    functionsReached:
    - free
    - HASH_DELETE
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, msgs_by_id, msg, msg_tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_DELETE
      Src: /src/mosquitto/apps/db_dump/db_dump.c:431,1
    - Dst: free
      Src: /src/mosquitto/apps/db_dump/db_dump.c:432,1
    - Dst: free
      Src: /src/mosquitto/apps/db_dump/db_dump.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 434
    functionName: HASH_ITER
    functionSourceFile: /src/mosquitto/apps/db_dump/db_dump.c
    functionUses: 26
    functionsReached:
    - free
    - HASH_DELETE
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh_id, clients_by_id, cc, cc_tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/apps/db_dump/db_dump.c:442,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/apps/db_dump/db_dump.c:443,1
    - Dst: free
      Src: /src/mosquitto/apps/db_dump/db_dump.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 446
    functionName: cleanup_msg_store
    functionSourceFile: /src/mosquitto/apps/db_dump/db_dump.c
    functionUses: 0
    functionsReached:
    - free
    - HASH_DELETE
    - HASH_ITER
    linkageType: ''
    returnType: void
    signature: void cleanup_msg_store()
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/apps/db_dump/db_dump.c:469,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/db_dump/db_dump.c:473,1
    - Dst: strcmp
      Src: /src/mosquitto/apps/db_dump/db_dump.c:477,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:482,1
    - Dst: json_init
      Src: /src/mosquitto/apps/db_dump/db_dump.c:487,1
    - Dst: memset
      Src: /src/mosquitto/apps/db_dump/db_dump.c:490,1
    - Dst: fopen
      Src: /src/mosquitto/apps/db_dump/db_dump.c:491,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:493,1
    - Dst: read_e
      Src: /src/mosquitto/apps/db_dump/db_dump.c:496,1
    - Dst: memcmp
      Src: /src/mosquitto/apps/db_dump/db_dump.c:497,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:499,1
    - Dst: read_e
      Src: /src/mosquitto/apps/db_dump/db_dump.c:502,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:504,1
    - Dst: read_e
      Src: /src/mosquitto/apps/db_dump/db_dump.c:506,1
    - Dst: ntohl
      Src: /src/mosquitto/apps/db_dump/db_dump.c:507,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:509,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:514,1
    - Dst: persist__chunk_header_read
      Src: /src/mosquitto/apps/db_dump/db_dump.c:518,1
    - Dst: dump__cfg_chunk_process
      Src: /src/mosquitto/apps/db_dump/db_dump.c:521,1
    - Dst: dump__base_msg_chunk_process
      Src: /src/mosquitto/apps/db_dump/db_dump.c:527,1
    - Dst: dump__client_msg_chunk_process
      Src: /src/mosquitto/apps/db_dump/db_dump.c:533,1
    - Dst: dump__retain_chunk_process
      Src: /src/mosquitto/apps/db_dump/db_dump.c:539,1
    - Dst: dump__sub_chunk_process
      Src: /src/mosquitto/apps/db_dump/db_dump.c:545,1
    - Dst: dump__client_chunk_process
      Src: /src/mosquitto/apps/db_dump/db_dump.c:551,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:557,1
    - Dst: ftell
      Src: /src/mosquitto/apps/db_dump/db_dump.c:557,1
    - Dst: fseek
      Src: /src/mosquitto/apps/db_dump/db_dump.c:558,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:559,1
    - Dst: strerror
      Src: /src/mosquitto/apps/db_dump/db_dump.c:559,1
    - Dst: fprintf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:566,1
    - Dst: fclose
      Src: /src/mosquitto/apps/db_dump/db_dump.c:570,1
    - Dst: json_print
      Src: /src/mosquitto/apps/db_dump/db_dump.c:573,1
    - Dst: json_cleanup
      Src: /src/mosquitto/apps/db_dump/db_dump.c:574,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:577,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:578,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:579,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:580,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:581,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/db_dump.c:582,1
    - Dst: report_client_stats
      Src: /src/mosquitto/apps/db_dump/db_dump.c:585,1
    - Dst: cleanup_client_stats
      Src: /src/mosquitto/apps/db_dump/db_dump.c:586,1
    - Dst: cleanup_msg_store
      Src: /src/mosquitto/apps/db_dump/db_dump.c:587,1
    - Dst: cleanup_msg_store
      Src: /src/mosquitto/apps/db_dump/db_dump.c:591,1
    - Dst: fclose
      Src: /src/mosquitto/apps/db_dump/db_dump.c:593,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 126
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 455
    functionDepth: 6
    functionLinenumber: 455
    functionLinenumberEnd: 596
    functionName: main
    functionSourceFile: /src/mosquitto/apps/db_dump/db_dump.c
    functionUses: 98
    functionsReached:
    - cleanup_msg_store
    - printf
    - strcmp
    - fseek
    - ftell
    - dump__client_chunk_process
    - cleanup_client_stats
    - json_init
    - read_e
    - strerror
    - memcmp
    - dump__cfg_chunk_process
    - dump__client_msg_chunk_process
    - dump__base_msg_chunk_process
    - fprintf
    - json_print
    - dump__retain_chunk_process
    - persist__chunk_header_read
    - ntohl
    - dump__sub_chunk_process
    - report_client_stats
    - fclose
    - memset
    - json_cleanup
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:37,1
    - Dst: mosquitto_property_identifier
      Src: /src/mosquitto/apps/db_dump/print.c:40,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:43,1
    - Dst: mosquitto_property_byte_value
      Src: /src/mosquitto/apps/db_dump/print.c:43,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:47,1
    - Dst: mosquitto_property_string_value
      Src: /src/mosquitto/apps/db_dump/print.c:47,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:51,1
    - Dst: mosquitto_property_string_value
      Src: /src/mosquitto/apps/db_dump/print.c:51,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:55,1
    - Dst: mosquitto_property_binary_value
      Src: /src/mosquitto/apps/db_dump/print.c:56,1
    - Dst: mosquitto_property_binary_value_length
      Src: /src/mosquitto/apps/db_dump/print.c:57,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:58,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:60,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:64,1
    - Dst: mosquitto_property_string_name
      Src: /src/mosquitto/apps/db_dump/print.c:64,1
    - Dst: mosquitto_property_string_value
      Src: /src/mosquitto/apps/db_dump/print.c:64,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:68,1
    - Dst: mosquitto_property_identifier
      Src: /src/mosquitto/apps/db_dump/print.c:68,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/apps/db_dump/print.c:72,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - properties
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 74
    functionName: print__properties
    functionSourceFile: /src/mosquitto/apps/db_dump/print.c
    functionUses: 0
    functionsReached:
    - mosquitto_property_identifier
    - mosquitto_property_binary_value_length
    - mosquitto_property_string_value
    - mosquitto_property_byte_value
    - mosquitto_property_binary_value
    - printf
    - mosquitto_property_string_name
    - mosquitto_property_next
    linkageType: ''
    returnType: void
    signature: void print__properties(mosquitto_property *properties)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:79,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:80,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:81,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:83,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:86,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:88,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:89,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - chunk
    - length
    argTypes:
    - struct P_client*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: print__client
    functionSourceFile: /src/mosquitto/apps/db_dump/print.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print__client(struct P_client *chunk, uint32_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:96,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:97,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:98,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:99,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:100,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:101,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:102,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:103,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:104,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:105,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - chunk
    - length
    argTypes:
    - struct P_client_msg*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 109
    functionName: print__client_msg
    functionSourceFile: /src/mosquitto/apps/db_dump/print.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print__client_msg(struct P_client_msg *chunk, uint32_t length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:116,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:117,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:118,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:121,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:122,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:123,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:124,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:125,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:126,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:127,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/apps/db_dump/print.c:132,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:133,1
    - Dst: print__properties
      Src: /src/mosquitto/apps/db_dump/print.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - chunk
    - length
    argTypes:
    - struct P_base_msg*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 137
    functionName: print__base_msg
    functionSourceFile: /src/mosquitto/apps/db_dump/print.c
    functionUses: 1
    functionsReached:
    - print__properties
    - printf
    - mosquitto_validate_utf8
    linkageType: ''
    returnType: void
    signature: void print__base_msg(struct P_base_msg *chunk, uint32_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:142,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:143,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:144,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:145,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:146,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:147,1
    - Dst: printf
      Src: /src/mosquitto/apps/db_dump/print.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - chunk
    - length
    argTypes:
    - struct P_sub*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 149
    functionName: print__sub
    functionSourceFile: /src/mosquitto/apps/db_dump/print.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print__sub(struct P_sub *chunk, uint32_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosqpp::mosquittopp
      Src: /src/mosquitto/include/mosquitto/libmosquittopp.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 211
    functionName: mosqpp::mosquittopp
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 1
    functionsReached:
    - mosqpp::mosquittopp
    linkageType: ''
    returnType: class mosqpp_EXPORT
    signature: class mosqpp_EXPORT mosquittopp
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: mosqpp::on_pre_connect
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_pre_connect()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: mosqpp::on_connect
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_connect(int /*rc*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: mosqpp::on_connect_with_flags
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_connect_with_flags(int /*rc*/, int /*flags*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: mosqpp::on_connect_v5
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_connect_v5(int /*rc*/, int /*flags*/, const mosquitto_property
      * /*props*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: mosqpp::on_disconnect
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(int /*rc*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: mosqpp::on_disconnect_v5
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect_v5(int /*rc*/, const mosquitto_property * /*props*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: mosqpp::on_publish
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_publish(int /*mid*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: mosqpp::on_publish_v5
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_publish_v5(int /*mid*/, int /*reason_code*/, const mosquitto_property
      * /*props*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 178
    functionName: mosqpp::on_message
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_message(const struct mosquitto_message * /*message*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: mosqpp::on_message_v5
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_message_v5(const struct mosquitto_message * /*message*/, const
      mosquitto_property * /*props*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: mosqpp::on_subscribe
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_subscribe(int /*mid*/, int /*qos_count*/, const int * /*granted_qos*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: mosqpp::on_subscribe_v5
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_subscribe_v5(int /*mid*/, int /*qos_count*/, const int * /*granted_qos*/,
      const mosquitto_property * /*props*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: mosqpp::on_unsubscribe
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_unsubscribe(int /*mid*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: mosqpp::on_unsubscribe_v5
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_unsubscribe_v5(int /*mid*/, const mosquitto_property * /*props*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: mosqpp::on_log
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_log(int /*level*/, const char * /*str*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: mosqpp::on_error
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: mosqpp::on_ext_auth
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int on_ext_auth(const char * /*auth_method*/, uint16_t /*auth_data_len*/,
      const void * /*auth_data*/, const mosquitto_property * /*props*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosqpp::mosquittopp
      Src: /src/mosquitto/include/mosquitto/libmosquittopp.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 211
    functionName: mosqpp::mosquittopp
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 2
    functionsReached:
    - mosqpp::mosquittopp
    linkageType: ''
    returnType: class mosqpp_EXPORT
    signature: class mosqpp_EXPORT mosquittopp
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: mosqpp::on_pre_connect
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_pre_connect()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: mosqpp::on_connect
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_connect(int /*rc*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: mosqpp::on_connect_with_flags
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_connect_with_flags(int /*rc*/, int /*flags*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: mosqpp::on_connect_v5
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_connect_v5(int /*rc*/, int /*flags*/, const mosquitto_property
      * /*props*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: mosqpp::on_disconnect
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect(int /*rc*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: mosqpp::on_disconnect_v5
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_disconnect_v5(int /*rc*/, const mosquitto_property * /*props*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: mosqpp::on_publish
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_publish(int /*mid*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: mosqpp::on_publish_v5
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_publish_v5(int /*mid*/, int /*reason_code*/, const mosquitto_property
      * /*props*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 178
    functionName: mosqpp::on_message
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_message(const struct mosquitto_message * /*message*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: mosqpp::on_message_v5
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_message_v5(const struct mosquitto_message * /*message*/, const
      mosquitto_property * /*props*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: mosqpp::on_subscribe
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_subscribe(int /*mid*/, int /*qos_count*/, const int * /*granted_qos*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: mosqpp::on_subscribe_v5
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_subscribe_v5(int /*mid*/, int /*qos_count*/, const int * /*granted_qos*/,
      const mosquitto_property * /*props*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: mosqpp::on_unsubscribe
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_unsubscribe(int /*mid*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: mosqpp::on_unsubscribe_v5
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_unsubscribe_v5(int /*mid*/, const mosquitto_property * /*props*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: mosqpp::on_log
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_log(int /*level*/, const char * /*str*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: mosqpp::on_error
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void on_error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: mosqpp::on_ext_auth
    functionSourceFile: /src/mosquitto/include/mosquitto/libmosquittopp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int on_ext_auth(const char * /*auth_method*/, uint16_t /*auth_data_len*/,
      const void * /*auth_data*/, const mosquitto_property * /*props*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 148
    functionName: MOSQUITTO_PLUGIN_DECLARE_VERSION
    functionSourceFile: /src/mosquitto/include/mosquitto/broker_plugin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOSQUITTO_PLUGIN_DECLARE_VERSION(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: mosquitto_FREE
    functionSourceFile: /src/mosquitto/include/mosquitto/libcommon_memory.h
    functionUses: 118
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mosquitto_FREE(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - opt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: MQTT_SUB_OPT_GET_QOS
    functionSourceFile: /src/mosquitto/include/mosquitto/mqtt_protocol.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MQTT_SUB_OPT_GET_QOS(opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - opt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 287
    functionName: MQTT_SUB_OPT_GET_NO_LOCAL
    functionSourceFile: /src/mosquitto/include/mosquitto/mqtt_protocol.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MQTT_SUB_OPT_GET_NO_LOCAL(opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - opt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 288
    functionName: MQTT_SUB_OPT_GET_RETAIN_AS_PUBLISHED
    functionSourceFile: /src/mosquitto/include/mosquitto/mqtt_protocol.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MQTT_SUB_OPT_GET_RETAIN_AS_PUBLISHED(opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - opt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    functionName: MQTT_SUB_OPT_GET_SEND_RETAIN
    functionSourceFile: /src/mosquitto/include/mosquitto/mqtt_protocol.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MQTT_SUB_OPT_GET_SEND_RETAIN(opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - opt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 290
    functionName: MQTT_SUB_OPT_GET_RETAIN_HANDLING
    functionSourceFile: /src/mosquitto/include/mosquitto/mqtt_protocol.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MQTT_SUB_OPT_GET_RETAIN_HANDLING(opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - opt
    - ','
    - qos
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 292
    functionName: MQTT_SUB_OPT_SET_QOS
    functionSourceFile: /src/mosquitto/include/mosquitto/mqtt_protocol.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MQTT_SUB_OPT_SET_QOS(opt, qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - opt
    - ','
    - qos
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 293
    functionName: MQTT_SUB_OPT_SET_NO_LOCAL
    functionSourceFile: /src/mosquitto/include/mosquitto/mqtt_protocol.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MQTT_SUB_OPT_SET_NO_LOCAL(opt, qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - opt
    - ','
    - rh
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: MQTT_SUB_OPT_SET_RETAIN_HANDLING
    functionSourceFile: /src/mosquitto/include/mosquitto/mqtt_protocol.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MQTT_SUB_OPT_SET_RETAIN_HANDLING(opt, rh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - opt
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    functionName: MQTT_SUB_OPT_SET
    functionSourceFile: /src/mosquitto/include/mosquitto/mqtt_protocol.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MQTT_SUB_OPT_SET(opt, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - opt
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 297
    functionName: MQTT_SUB_OPT_CLEAR
    functionSourceFile: /src/mosquitto/include/mosquitto/mqtt_protocol.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MQTT_SUB_OPT_CLEAR(opt, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: LIB_LOAD
    functionSourceFile: /src/mosquitto/common/lib_load.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIB_LOAD(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: LIB_CLOSE
    functionSourceFile: /src/mosquitto/common/lib_load.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIB_CLOSE(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - HANDLE
    - ','
    - SYM
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: LIB_SYM
    functionSourceFile: /src/mosquitto/common/lib_load.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIB_SYM(HANDLE, SYM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: LIB_LOAD
    functionSourceFile: /src/mosquitto/common/lib_load.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIB_LOAD(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: LIB_CLOSE
    functionSourceFile: /src/mosquitto/common/lib_load.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIB_CLOSE(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - HANDLE
    - ','
    - SYM
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: LIB_SYM
    functionSourceFile: /src/mosquitto/common/lib_load.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIB_SYM(HANDLE, SYM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - MEMBER
    - ','
    - HANDLE
    - ','
    - SYM
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: LIB_SYM_EASY
    functionSourceFile: /src/mosquitto/common/lib_load.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIB_SYM_EASY(MEMBER, HANDLE, SYM)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/common/json_help.c:38,1
    - Dst: cJSON_IsBool
      Src: /src/mosquitto/common/json_help.c:40,1
    - Dst: cJSON_IsTrue
      Src: /src/mosquitto/common/json_help.c:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - json
    - name
    - value
    - optional
    - default_value
    argTypes:
    - cJSON*
    - char*
    - bool*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 50
    functionName: json_get_bool
    functionSourceFile: /src/mosquitto/common/json_help.c
    functionUses: 8
    functionsReached:
    - cJSON_IsBool
    - cJSON_IsTrue
    - cJSON_GetObjectItem
    linkageType: ''
    returnType: int
    signature: int json_get_bool(cJSON *json, const char *name, bool *value, bool
      optional, bool default_value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/common/json_help.c:61,1
    - Dst: cJSON_IsNumber
      Src: /src/mosquitto/common/json_help.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - json
    - name
    - value
    - optional
    - default_value
    argTypes:
    - cJSON*
    - char*
    - int*
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 73
    functionName: json_get_int
    functionSourceFile: /src/mosquitto/common/json_help.c
    functionUses: 4
    functionsReached:
    - cJSON_GetObjectItem
    - cJSON_IsNumber
    linkageType: ''
    returnType: int
    signature: int json_get_int(cJSON *json, const char *name, int *value, bool optional,
      int default_value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/common/json_help.c:84,1
    - Dst: cJSON_IsNumber
      Src: /src/mosquitto/common/json_help.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - json
    - name
    - value
    - optional
    - default_value
    argTypes:
    - cJSON*
    - char*
    - int64_t*
    - bool
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 96
    functionName: json_get_int64
    functionSourceFile: /src/mosquitto/common/json_help.c
    functionUses: 1
    functionsReached:
    - cJSON_GetObjectItem
    - cJSON_IsNumber
    linkageType: ''
    returnType: int
    signature: int json_get_int64(cJSON *json, const char *name, int64_t *value, bool
      optional, int64_t default_value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/common/json_help.c:105,1
    - Dst: cJSON_IsString
      Src: /src/mosquitto/common/json_help.c:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - json
    - name
    - value
    - optional
    argTypes:
    - cJSON*
    - char*
    - char**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 121
    functionName: json_get_string
    functionSourceFile: /src/mosquitto/common/json_help.c
    functionUses: 31
    functionsReached:
    - cJSON_GetObjectItem
    - cJSON_IsString
    linkageType: ''
    returnType: int
    signature: int json_get_string(cJSON *json, const char *name, const char **value,
      bool optional)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/mosquitto/common/json_help.c:128,1
    - Dst: cJSON_AddRawToObject
      Src: /src/mosquitto/common/json_help.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - object
    - name
    - number
    argTypes:
    - cJSON*
    - char*
    - long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 4
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: cJSON_AddIntToObject
    functionSourceFile: /src/mosquitto/common/json_help.c
    functionUses: 11
    functionsReached:
    - cJSON_AddRawToObject
    - snprintf
    linkageType: ''
    returnType: cJSON
    signature: cJSON *cJSON_AddIntToObject(cJSON * const object, const char * const
      name, long long number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/mosquitto/common/json_help.c:137,1
    - Dst: cJSON_AddRawToObject
      Src: /src/mosquitto/common/json_help.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - object
    - name
    - number
    argTypes:
    - cJSON*
    - char*
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 4
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: cJSON_AddUIntToObject
    functionSourceFile: /src/mosquitto/common/json_help.c
    functionUses: 2
    functionsReached:
    - cJSON_AddRawToObject
    - snprintf
    linkageType: ''
    returnType: cJSON
    signature: cJSON *cJSON_AddUIntToObject(cJSON * const object, const char * const
      name, unsigned long long number)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/sparkplug-aware/plugin.c:23,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/sparkplug-aware/plugin.c:24,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/sparkplug-aware/plugin.c:25,1
    - Dst: mosquitto_plugin_set_info
      Src: /src/mosquitto/plugins/sparkplug-aware/plugin.c:28,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/sparkplug-aware/plugin.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - identifier
    - user_data
    - options
    - option_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 36
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/plugins/sparkplug-aware/plugin.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - mosquitto_plugin_set_info
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *options, int option_count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/sparkplug-aware/on_message.c:19,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/sparkplug-aware/on_message.c:20,1
    - Dst: mosquitto_topic_matches_sub
      Src: /src/mosquitto/plugins/sparkplug-aware/on_message.c:22,1
    - Dst: mosquitto_topic_matches_sub
      Src: /src/mosquitto/plugins/sparkplug-aware/on_message.c:24,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/sparkplug-aware/on_message.c:27,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/sparkplug-aware/on_message.c:27,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/plugins/sparkplug-aware/on_message.c:28,1
    - Dst: snprintf
      Src: /src/mosquitto/plugins/sparkplug-aware/on_message.c:30,1
    - Dst: mosquitto_broker_publish_copy
      Src: /src/mosquitto/plugins/sparkplug-aware/on_message.c:31,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/sparkplug-aware/on_message.c:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - event
    - event_data
    - user_data
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 14
    functionDepth: 3
    functionLinenumber: 14
    functionLinenumberEnd: 37
    functionName: plugin__message_in_callback
    functionSourceFile: /src/mosquitto/plugins/sparkplug-aware/on_message.c
    functionUses: 0
    functionsReached:
    - mosquitto_broker_publish_copy
    - snprintf
    - mosquitto_malloc
    - strlen
    - mosquitto_free
    - UNUSED
    - mosquitto_topic_matches_sub
    linkageType: ''
    returnType: int
    signature: int plugin__message_in_callback(int event, void *event_data, void *user_data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:36,1
    - Dst: sqlite3_bind_int64
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:40,1
    - Dst: sqlite3_bind_int64
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:41,1
    - Dst: sqlite3_bind_text
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:42,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:42,1
    - Dst: sqlite3_bind_blob
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:44,1
    - Dst: sqlite3_bind_null
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:46,1
    - Dst: sqlite3_bind_text
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:49,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:49,1
    - Dst: sqlite3_bind_null
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:51,1
    - Dst: sqlite3_bind_text
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:54,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:54,1
    - Dst: sqlite3_bind_null
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:56,1
    - Dst: sqlite3_bind_int
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:58,1
    - Dst: sqlite3_bind_int
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:59,1
    - Dst: sqlite3_bind_int
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:60,1
    - Dst: sqlite3_bind_int
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:61,1
    - Dst: sqlite3_bind_int
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:62,1
    - Dst: properties_to_json_str
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:64,1
    - Dst: sqlite3_bind_text
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:67,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:67,1
    - Dst: sqlite3_bind_null
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:69,1
    - Dst: sqlite3_single_step_stmt
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:72,1
    - Dst: sqlite3_reset
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:73,1
    - Dst: free
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 77
    functionName: persist_sqlite__base_msg_add_cb
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/base_msgs.c
    functionUses: 0
    functionsReached:
    - sqlite3_bind_text
    - sqlite3_bind_blob
    - free
    - properties_to_json_str
    - sqlite3_bind_null
    - sqlite3_reset
    - strlen
    - sqlite3_single_step_stmt
    - UNUSED
    - sqlite3_bind_int
    - sqlite3_bind_int64
    linkageType: ''
    returnType: int
    signature: int persist_sqlite__base_msg_add_cb(int event, void *event_data, void
      *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:86,1
    - Dst: sqlite3_bind_int64
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:88,1
    - Dst: sqlite3_single_step_stmt
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:89,1
    - Dst: sqlite3_reset
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 94
    functionName: persist_sqlite__base_msg_remove_cb
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/base_msgs.c
    functionUses: 0
    functionsReached:
    - sqlite3_single_step_stmt
    - UNUSED
    - sqlite3_bind_int64
    - sqlite3_reset
    linkageType: ''
    returnType: int
    signature: int persist_sqlite__base_msg_remove_cb(int event, void *event_data,
      void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_bind_text
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:101,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:101,1
    - Dst: sqlite3_single_step_stmt
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:102,1
    - Dst: sqlite3_reset
      Src: /src/mosquitto/plugins/persist-sqlite/base_msgs.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ms
    - clientid
    argTypes:
    - struct mosquitto_sqlite*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 107
    functionName: persist_sqlite__base_msg_clear
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/base_msgs.c
    functionUses: 0
    functionsReached:
    - sqlite3_bind_text
    - strlen
    - sqlite3_single_step_stmt
    - sqlite3_reset
    linkageType: ''
    returnType: int
    signature: int persist_sqlite__base_msg_clear(struct mosquitto_sqlite *ms, const
      char *clientid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/persist-sqlite/subscriptions.c:33,1
    - Dst: sqlite3_bind_text
      Src: /src/mosquitto/plugins/persist-sqlite/subscriptions.c:35,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/persist-sqlite/subscriptions.c:36,1
    - Dst: sqlite3_bind_text
      Src: /src/mosquitto/plugins/persist-sqlite/subscriptions.c:38,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/persist-sqlite/subscriptions.c:39,1
    - Dst: sqlite3_bind_int
      Src: /src/mosquitto/plugins/persist-sqlite/subscriptions.c:41,1
    - Dst: sqlite3_bind_int
      Src: /src/mosquitto/plugins/persist-sqlite/subscriptions.c:44,1
    - Dst: sqlite3_step
      Src: /src/mosquitto/plugins/persist-sqlite/subscriptions.c:48,1
    - Dst: sqlite3_reset
      Src: /src/mosquitto/plugins/persist-sqlite/subscriptions.c:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 61
    functionName: persist_sqlite__subscription_add_cb
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/subscriptions.c
    functionUses: 0
    functionsReached:
    - sqlite3_bind_text
    - sqlite3_reset
    - strlen
    - sqlite3_step
    - UNUSED
    - sqlite3_bind_int
    linkageType: ''
    returnType: int
    signature: int persist_sqlite__subscription_add_cb(int event, void *event_data,
      void *userdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/persist-sqlite/subscriptions.c:70,1
    - Dst: sqlite3_bind_text
      Src: /src/mosquitto/plugins/persist-sqlite/subscriptions.c:72,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/persist-sqlite/subscriptions.c:73,1
    - Dst: sqlite3_bind_text
      Src: /src/mosquitto/plugins/persist-sqlite/subscriptions.c:75,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/persist-sqlite/subscriptions.c:76,1
    - Dst: sqlite3_step
      Src: /src/mosquitto/plugins/persist-sqlite/subscriptions.c:79,1
    - Dst: sqlite3_reset
      Src: /src/mosquitto/plugins/persist-sqlite/subscriptions.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 90
    functionName: persist_sqlite__subscription_remove_cb
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/subscriptions.c
    functionUses: 0
    functionsReached:
    - sqlite3_bind_text
    - sqlite3_reset
    - strlen
    - sqlite3_step
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int persist_sqlite__subscription_remove_cb(int event, void *event_data,
      void *userdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/common.c:30,1
    - Dst: sqlite3_bind_text
      Src: /src/mosquitto/plugins/persist-sqlite/common.c:32,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/persist-sqlite/common.c:32,1
    - Dst: sqlite3_bind_int64
      Src: /src/mosquitto/plugins/persist-sqlite/common.c:33,1
    - Dst: sqlite3_bind_int
      Src: /src/mosquitto/plugins/persist-sqlite/common.c:34,1
    - Dst: sqlite3_step
      Src: /src/mosquitto/plugins/persist-sqlite/common.c:36,1
    - Dst: sqlite3_reset
      Src: /src/mosquitto/plugins/persist-sqlite/common.c:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - ms
    - clientid
    - store_id
    - direction
    argTypes:
    - struct mosquitto_sqlite*
    - char*
    - int64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 46
    functionName: persist_sqlite__client_msg_remove
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/common.c
    functionUses: 0
    functionsReached:
    - sqlite3_bind_text
    - mosquitto_log_printf
    - sqlite3_reset
    - strlen
    - sqlite3_step
    - sqlite3_bind_int
    - sqlite3_bind_int64
    linkageType: ''
    returnType: int
    signature: int persist_sqlite__client_msg_remove(struct mosquitto_sqlite *ms,
      const char *clientid, int64_t store_id, int direction)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_bind_text
      Src: /src/mosquitto/plugins/persist-sqlite/util.h:22,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/persist-sqlite/util.h:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stmt
    - col_index
    - str
    argTypes:
    - sqlite3_stmt*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: sqlite3_bind_text_from_c_str
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/util.h
    functionUses: 0
    functionsReached:
    - sqlite3_bind_text
    - strlen
    linkageType: ''
    returnType: int
    signature: int sqlite3_bind_text_from_c_str(sqlite3_stmt *stmt, int col_index,
      const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_bind_text_from_c_str
      Src: /src/mosquitto/plugins/persist-sqlite/util.h:29,1
    - Dst: sqlite3_bind_null
      Src: /src/mosquitto/plugins/persist-sqlite/util.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stmt
    - col_index
    - str
    argTypes:
    - sqlite3_stmt*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: sqlite3_bind_text_from_optional_c_str
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/util.h
    functionUses: 0
    functionsReached:
    - sqlite3_bind_text_from_c_str
    - sqlite3_bind_null
    linkageType: ''
    returnType: int
    signature: int sqlite3_bind_text_from_optional_c_str(sqlite3_stmt *stmt, int col_index,
      const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_bind_blob
      Src: /src/mosquitto/plugins/persist-sqlite/util.h:37,1
    - Dst: sqlite3_bind_null
      Src: /src/mosquitto/plugins/persist-sqlite/util.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - stmt
    - col_index
    - ptr
    - blob_len
    argTypes:
    - sqlite3_stmt*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: sqlite3_bind_blob_optional
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/util.h
    functionUses: 0
    functionsReached:
    - sqlite3_bind_blob
    - sqlite3_bind_null
    linkageType: ''
    returnType: int
    signature: int sqlite3_bind_blob_optional(sqlite3_stmt *stmt, int col_index, const
      void *ptr, int blob_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_step
      Src: /src/mosquitto/plugins/persist-sqlite/util.h:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - rc
    - ms
    - stmt
    argTypes:
    - int
    - struct mosquitto_sqlite*
    - sqlite3_stmt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: sqlite3_single_step_stmt
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/util.h
    functionUses: 3
    functionsReached:
    - sqlite3_step
    linkageType: ''
    returnType: int
    signature: int sqlite3_single_step_stmt(int rc, struct mosquitto_sqlite *ms, sqlite3_stmt
      *stmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_properties_to_json
      Src: /src/mosquitto/plugins/persist-sqlite/util.h:57,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/mosquitto/plugins/persist-sqlite/util.h:62,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/persist-sqlite/util.h:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - properties
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: properties_to_json_str
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/util.h
    functionUses: 1
    functionsReached:
    - cJSON_Delete
    - cJSON_PrintUnformatted
    - mosquitto_properties_to_json
    linkageType: ''
    returnType: char
    signature: char *properties_to_json_str(const mosquitto_property *properties)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/persist-sqlite/will.c:31,1
    - Dst: properties_to_json_str
      Src: /src/mosquitto/plugins/persist-sqlite/will.c:38,1
    - Dst: sqlite3_bind_text_from_c_str
      Src: /src/mosquitto/plugins/persist-sqlite/will.c:44,1
    - Dst: sqlite3_bind_blob_optional
      Src: /src/mosquitto/plugins/persist-sqlite/will.c:45,1
    - Dst: sqlite3_bind_text_from_c_str
      Src: /src/mosquitto/plugins/persist-sqlite/will.c:46,1
    - Dst: sqlite3_bind_int64
      Src: /src/mosquitto/plugins/persist-sqlite/will.c:47,1
    - Dst: sqlite3_bind_int
      Src: /src/mosquitto/plugins/persist-sqlite/will.c:48,1
    - Dst: sqlite3_bind_int
      Src: /src/mosquitto/plugins/persist-sqlite/will.c:49,1
    - Dst: sqlite3_bind_text_from_optional_c_str
      Src: /src/mosquitto/plugins/persist-sqlite/will.c:50,1
    - Dst: sqlite3_single_step_stmt
      Src: /src/mosquitto/plugins/persist-sqlite/will.c:53,1
    - Dst: sqlite3_reset
      Src: /src/mosquitto/plugins/persist-sqlite/will.c:54,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/persist-sqlite/will.c:55,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 25
    functionDepth: 4
    functionLinenumber: 25
    functionLinenumberEnd: 58
    functionName: persist_sqlite__will_add_cb
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/will.c
    functionUses: 0
    functionsReached:
    - sqlite3_bind_text_from_optional_c_str
    - properties_to_json_str
    - sqlite3_reset
    - mosquitto_free
    - sqlite3_bind_text_from_c_str
    - sqlite3_single_step_stmt
    - sqlite3_bind_blob_optional
    - UNUSED
    - sqlite3_bind_int
    - sqlite3_bind_int64
    linkageType: ''
    returnType: int
    signature: int persist_sqlite__will_add_cb(int event, void *event_data, void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/persist-sqlite/will.c:66,1
    - Dst: sqlite3_bind_text_from_c_str
      Src: /src/mosquitto/plugins/persist-sqlite/will.c:68,1
    - Dst: sqlite3_single_step_stmt
      Src: /src/mosquitto/plugins/persist-sqlite/will.c:71,1
    - Dst: sqlite3_reset
      Src: /src/mosquitto/plugins/persist-sqlite/will.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: persist_sqlite__will_remove_cb
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/will.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - sqlite3_bind_text_from_c_str
    - sqlite3_single_step_stmt
    - sqlite3_reset
    linkageType: ''
    returnType: int
    signature: int persist_sqlite__will_remove_cb(int event, void *event_data, void
      *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/persist-sqlite/tick.c:34,1
    - Dst: sqlite3_exec
      Src: /src/mosquitto/plugins/persist-sqlite/tick.c:38,1
    - Dst: sqlite3_exec
      Src: /src/mosquitto/plugins/persist-sqlite/tick.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 45
    functionName: persist_sqlite__tick_cb
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/tick.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - sqlite3_exec
    linkageType: ''
    returnType: int
    signature: int persist_sqlite__tick_cb(int event, void *event_data, void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:45,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - in
    - name
    - value
    - min_value
    argTypes:
    - char*
    - char*
    - unsigned int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: conf_parse_uint
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/plugin.c
    functionUses: 0
    functionsReached:
    - mosquitto_log_printf
    - atoi
    linkageType: ''
    returnType: int
    signature: int conf_parse_uint(const char *in, const char *name, unsigned int
      *value, int min_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: set_defaults
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/plugin.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_defaults(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_persistence_location
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:73,1
    - Dst: mkdir
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:76,1
    - Dst: mkdir
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:78,1
    - Dst: malloc
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:80,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:80,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:80,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:82,1
    - Dst: sprintf
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:85,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:88,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - options
    - option_count
    argTypes:
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 98
    functionName: get_db_file
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/plugin.c
    functionUses: 0
    functionsReached:
    - mkdir
    - mosquitto_strdup
    - mosquitto_log_printf
    - strcasecmp
    - malloc
    - sprintf
    - strlen
    - mosquitto_persistence_location
    linkageType: ''
    returnType: int
    signature: int get_db_file(struct mosquitto_opt *options, int option_count)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:106,1
    - Dst: memset
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:108,1
    - Dst: set_defaults
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:109,1
    - Dst: get_db_file
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:111,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:116,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:117,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:119,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:121,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:123,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:126,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:129,1
    - Dst: conf_parse_uint
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:130,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:134,1
    - Dst: conf_parse_uint
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:135,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:142,1
    - Dst: persist_sqlite__init
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:145,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:152,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:156,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:160,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:164,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:168,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:172,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:176,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:180,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:184,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:188,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:192,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:196,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:200,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:204,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:208,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:212,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:220,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:222,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:224,1
    - Dst: mosquitto_plugin_cleanup
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:226,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 140
    argCount: 4
    argNames:
    - identifier
    - user_data
    - options
    - option_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 228
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/plugin.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - mosquitto_log_printf
    - set_defaults
    - persist_sqlite__init
    - strcasecmp
    - get_db_file
    - conf_parse_uint
    - memset
    - mosquitto_plugin_cleanup
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *options, int option_count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:233,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:234,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:235,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:238,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:239,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:240,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:241,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:242,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:243,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:244,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:245,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:246,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:247,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:248,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:249,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:252,1
    - Dst: persist_sqlite__cleanup
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:253,1
    - Dst: memset
      Src: /src/mosquitto/plugins/persist-sqlite/plugin.c:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - user_data
    - options
    - option_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 257
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/plugin.c
    functionUses: 1
    functionsReached:
    - persist_sqlite__cleanup
    - mosquitto_callback_unregister
    - mosquitto_free
    - memset
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *options, int option_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/persist_sqlite.h
    functionUses: 270
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_stricmp
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:35,1
    - Dst: atoi
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:36,1
    - Dst: sqlite3_stricmp
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:38,1
    - Dst: atoi
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:39,1
    - Dst: sqlite3_stricmp
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:41,1
    - Dst: atoi
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:42,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - data_ptr
    - num_columns
    - values
    - column_names
    argTypes:
    - void*
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 50
    functionName: extract_version_numbers
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/init.c
    functionUses: 0
    functionsReached:
    - sqlite3_stricmp
    - atoi
    linkageType: ''
    returnType: int
    signature: int extract_version_numbers(void *data_ptr, int num_columns, char **values,
      char **column_names)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_exec
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:56,1
    - Dst: sqlite3_exec
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ms
    argTypes:
    - struct mosquitto_sqlite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 82
    functionName: create_tables_1_1
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/init.c
    functionUses: 0
    functionsReached:
    - sqlite3_exec
    linkageType: ''
    returnType: int
    signature: int create_tables_1_1(struct mosquitto_sqlite *ms)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_exec
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:90,1
    - Dst: sqlite3_exec
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:111,1
    - Dst: sqlite3_exec
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:124,1
    - Dst: sqlite3_exec
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:144,1
    - Dst: sqlite3_exec
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:158,1
    - Dst: sqlite3_exec
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:182,1
    - Dst: sqlite3_exec
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:189,1
    - Dst: sqlite3_exec
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:196,1
    - Dst: sqlite3_exec
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:203,1
    - Dst: sqlite3_exec
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:210,1
    - Dst: sqlite3_exec
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:211,1
    - Dst: sqlite3_exec
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:213,1
    - Dst: sqlite3_exec
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:226,1
    - Dst: sqlite3_exec
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:236,1
    - Dst: memcpy
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:243,1
    - Dst: create_tables_1_1
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:248,1
    - Dst: memcpy
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:252,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:259,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:265,1
    - Dst: sqlite3_errstr
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:265,1
    - Dst: sqlite3_errmsg
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:265,1
    - Dst: sqlite3_close
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:267,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 91
    argCount: 1
    argNames:
    - ms
    argTypes:
    - struct mosquitto_sqlite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 270
    functionName: create_tables
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/init.c
    functionUses: 0
    functionsReached:
    - mosquitto_log_printf
    - sqlite3_errstr
    - create_tables_1_1
    - sqlite3_errmsg
    - sqlite3_close
    - memcpy
    - sqlite3_exec
    linkageType: ''
    returnType: int
    signature: int create_tables(struct mosquitto_sqlite *ms)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_prepare_v3
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:278,1
    - Dst: sqlite3_prepare_v3
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:288,1
    - Dst: sqlite3_prepare_v3
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:296,1
    - Dst: sqlite3_prepare_v3
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:306,1
    - Dst: sqlite3_prepare_v3
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:318,1
    - Dst: sqlite3_prepare_v3
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:326,1
    - Dst: sqlite3_prepare_v3
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:336,1
    - Dst: sqlite3_prepare_v3
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:346,1
    - Dst: sqlite3_prepare_v3
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:355,1
    - Dst: sqlite3_prepare_v3
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:363,1
    - Dst: sqlite3_prepare_v3
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:371,1
    - Dst: sqlite3_prepare_v3
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:380,1
    - Dst: sqlite3_prepare_v3
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:391,1
    - Dst: sqlite3_prepare_v3
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:399,1
    - Dst: sqlite3_prepare_v3
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:412,1
    - Dst: sqlite3_prepare_v3
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:423,1
    - Dst: sqlite3_prepare_v3
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:433,1
    - Dst: sqlite3_prepare_v3
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:442,1
    - Dst: sqlite3_prepare_v3
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:452,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:462,1
    - Dst: sqlite3_errstr
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:462,1
    - Dst: sqlite3_close
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:463,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 103
    argCount: 1
    argNames:
    - ms
    argTypes:
    - struct mosquitto_sqlite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 466
    functionName: prepare_statements
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/init.c
    functionUses: 0
    functionsReached:
    - mosquitto_log_printf
    - sqlite3_close
    - sqlite3_errstr
    - sqlite3_prepare_v3
    linkageType: ''
    returnType: int
    signature: int prepare_statements(struct mosquitto_sqlite *ms)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_open_v2
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:474,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:476,1
    - Dst: sqlite3_errstr
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:477,1
    - Dst: snprintf
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:480,1
    - Dst: sqlite3_exec
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:481,1
    - Dst: sqlite3_exec
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:485,1
    - Dst: sqlite3_exec
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:489,1
    - Dst: snprintf
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:493,1
    - Dst: sqlite3_exec
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:494,1
    - Dst: create_tables
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:499,1
    - Dst: prepare_statements
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:504,1
    - Dst: sqlite3_exec
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:509,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:512,1
    - Dst: sqlite3_errstr
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:512,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 1
    argNames:
    - ms
    argTypes:
    - struct mosquitto_sqlite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 514
    functionName: persist_sqlite__init
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/init.c
    functionUses: 1
    functionsReached:
    - mosquitto_log_printf
    - create_tables
    - prepare_statements
    - sqlite3_errstr
    - snprintf
    - sqlite3_open_v2
    - sqlite3_exec
    linkageType: ''
    returnType: int
    signature: int persist_sqlite__init(struct mosquitto_sqlite *ms)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_exec
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:520,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:522,1
    - Dst: sqlite3_errstr
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:522,1
    - Dst: sqlite3_finalize
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:526,1
    - Dst: sqlite3_finalize
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:527,1
    - Dst: sqlite3_finalize
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:528,1
    - Dst: sqlite3_finalize
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:529,1
    - Dst: sqlite3_finalize
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:530,1
    - Dst: sqlite3_finalize
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:531,1
    - Dst: sqlite3_finalize
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:532,1
    - Dst: sqlite3_finalize
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:533,1
    - Dst: sqlite3_finalize
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:534,1
    - Dst: sqlite3_finalize
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:535,1
    - Dst: sqlite3_finalize
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:536,1
    - Dst: sqlite3_finalize
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:537,1
    - Dst: sqlite3_finalize
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:538,1
    - Dst: sqlite3_finalize
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:539,1
    - Dst: sqlite3_finalize
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:540,1
    - Dst: sqlite3_finalize
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:541,1
    - Dst: sqlite3_finalize
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:542,1
    - Dst: sqlite3_finalize
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:543,1
    - Dst: sqlite3_finalize
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:544,1
    - Dst: sqlite3_wal_checkpoint_v2
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:547,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:549,1
    - Dst: sqlite3_errstr
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:549,1
    - Dst: sqlite3_close
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:551,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:553,1
    - Dst: sqlite3_errstr
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:553,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/init.c:557,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - ms
    argTypes:
    - struct mosquitto_sqlite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 559
    functionName: persist_sqlite__cleanup
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/init.c
    functionUses: 1
    functionsReached:
    - mosquitto_log_printf
    - sqlite3_finalize
    - sqlite3_errstr
    - sqlite3_close
    - sqlite3_wal_checkpoint_v2
    - sqlite3_exec
    linkageType: ''
    returnType: void
    signature: void persist_sqlite__cleanup(struct mosquitto_sqlite *ms)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:35,1
    - Dst: sqlite3_bind_text
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:37,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:38,1
    - Dst: sqlite3_bind_text
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:41,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:42,1
    - Dst: sqlite3_bind_null
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:45,1
    - Dst: time
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:48,1
    - Dst: sqlite3_bind_int64
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:49,1
    - Dst: sqlite3_bind_int64
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:50,1
    - Dst: sqlite3_bind_int64
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:51,1
    - Dst: sqlite3_bind_int
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:52,1
    - Dst: sqlite3_bind_int
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:53,1
    - Dst: sqlite3_bind_int
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:54,1
    - Dst: sqlite3_bind_int
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:55,1
    - Dst: sqlite3_bind_int
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:56,1
    - Dst: sqlite3_bind_int
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:57,1
    - Dst: sqlite3_step
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:61,1
    - Dst: sqlite3_reset
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:69,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 72
    functionName: persist_sqlite__client_add_cb
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/clients.c
    functionUses: 0
    functionsReached:
    - sqlite3_bind_text
    - sqlite3_bind_null
    - sqlite3_reset
    - strlen
    - sqlite3_step
    - UNUSED
    - sqlite3_bind_int
    - time
    - sqlite3_bind_int64
    linkageType: ''
    returnType: int
    signature: int persist_sqlite__client_add_cb(int event, void *event_data, void
      *userdata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:81,1
    - Dst: sqlite3_bind_text
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:83,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:84,1
    - Dst: sqlite3_step
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:87,1
    - Dst: sqlite3_reset
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:88,1
    - Dst: persist_sqlite__base_msg_clear
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:97,1
    - Dst: persist_sqlite__client_msg_clear
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:98,1
    - Dst: sqlite3_bind_text
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:100,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:101,1
    - Dst: sqlite3_step
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:104,1
    - Dst: sqlite3_reset
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 114
    functionName: persist_sqlite__client_remove_cb
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/clients.c
    functionUses: 0
    functionsReached:
    - sqlite3_bind_text
    - persist_sqlite__base_msg_clear
    - sqlite3_reset
    - strlen
    - persist_sqlite__client_msg_clear
    - sqlite3_step
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int persist_sqlite__client_remove_cb(int event, void *event_data, void
      *userdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:123,1
    - Dst: sqlite3_bind_int64
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:125,1
    - Dst: sqlite3_bind_int64
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:126,1
    - Dst: sqlite3_bind_text
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:127,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:128,1
    - Dst: sqlite3_step
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:132,1
    - Dst: sqlite3_reset
      Src: /src/mosquitto/plugins/persist-sqlite/clients.c:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 142
    functionName: persist_sqlite__client_update_cb
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/clients.c
    functionUses: 0
    functionsReached:
    - sqlite3_bind_text
    - sqlite3_reset
    - strlen
    - sqlite3_step
    - UNUSED
    - sqlite3_bind_int64
    linkageType: ''
    returnType: int
    signature: int persist_sqlite__client_update_cb(int event, void *event_data, void
      *userdata)
  - BBCount: 24
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 49
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 58
    functionName: hex2nibble
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/restore.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t hex2nibble(char c)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:72,1
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:76,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:77,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:84,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:86,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:89,1
    - Dst: mosquitto_string_to_property_info
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:92,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:93,1
    - Dst: cJSON_IsNumber
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:98,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:99,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:102,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:103,1
    - Dst: cJSON_IsNumber
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:108,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:109,1
    - Dst: mosquitto_property_add_int16
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:112,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:113,1
    - Dst: cJSON_IsNumber
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:118,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:119,1
    - Dst: mosquitto_property_add_int32
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:122,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:123,1
    - Dst: cJSON_IsNumber
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:128,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:129,1
    - Dst: mosquitto_property_add_varint
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:132,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:133,1
    - Dst: cJSON_IsString
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:138,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:139,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:146,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:148,1
    - Dst: hex2nibble
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:152,1
    - Dst: hex2nibble
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:152,1
    - Dst: mosquitto_property_add_binary
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:157,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:158,1
    - Dst: cJSON_IsString
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:163,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:164,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:167,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:168,1
    - Dst: cJSON_IsString
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:176,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:177,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:180,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:181,1
    - Dst: mosquitto_property_add_string_pair
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:184,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:185,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:192,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 113
    argCount: 1
    argNames:
    - json
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 195
    functionName: json_to_properties
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/restore.c
    functionUses: 0
    functionsReached:
    - mosquitto_log_printf
    - cJSON_Delete
    - cJSON_IsArray
    - mosquitto_string_to_property_info
    - cJSON_IsNumber
    - mosquitto_property_add_int16
    - cJSON_IsString
    - hex2nibble
    - mosquitto_property_add_byte
    - cJSON_GetObjectItem
    - json_get_string
    - strlen
    - mosquitto_property_add_string_pair
    - mosquitto_property_add_int32
    - mosquitto_property_add_varint
    - cJSON_Parse
    - mosquitto_property_add_string
    - mosquitto_property_add_binary
    linkageType: ''
    returnType: mosquitto_property
    signature: mosquitto_property *json_to_properties(const char *json)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:84,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:86,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:89,1
    - Dst: mosquitto_string_to_property_info
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:92,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:93,1
    - Dst: cJSON_IsNumber
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:98,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:99,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:102,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:103,1
    - Dst: cJSON_IsNumber
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:108,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:109,1
    - Dst: mosquitto_property_add_int16
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:112,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:113,1
    - Dst: cJSON_IsNumber
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:118,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:119,1
    - Dst: mosquitto_property_add_int32
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:122,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:123,1
    - Dst: cJSON_IsNumber
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:128,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:129,1
    - Dst: mosquitto_property_add_varint
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:132,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:133,1
    - Dst: cJSON_IsString
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:138,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:139,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:146,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:148,1
    - Dst: hex2nibble
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:152,1
    - Dst: hex2nibble
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:152,1
    - Dst: mosquitto_property_add_binary
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:157,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:158,1
    - Dst: cJSON_IsString
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:163,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:164,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:167,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:168,1
    - Dst: cJSON_IsString
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:176,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:177,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:180,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:181,1
    - Dst: mosquitto_property_add_string_pair
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:184,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:185,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 99
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 191
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/restore.c
    functionUses: 1
    functionsReached:
    - mosquitto_log_printf
    - cJSON_IsNumber
    - mosquitto_string_to_property_info
    - mosquitto_property_add_int16
    - hex2nibble
    - mosquitto_property_add_byte
    - cJSON_GetObjectItem
    - json_get_string
    - strlen
    - mosquitto_property_add_string_pair
    - mosquitto_property_add_int32
    - cJSON_IsString
    - mosquitto_property_add_varint
    - mosquitto_property_add_string
    - mosquitto_property_add_binary
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(obj, array)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:206,1
    - Dst: sqlite3_prepare_v2
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:208,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:216,1
    - Dst: sqlite3_errstr
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:216,1
    - Dst: sqlite3_step
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:221,1
    - Dst: sqlite3_column_text
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:222,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:224,1
    - Dst: sqlite3_column_text
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:226,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:228,1
    - Dst: sqlite3_column_int64
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:230,1
    - Dst: sqlite3_column_int64
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:231,1
    - Dst: sqlite3_column_int
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:232,1
    - Dst: sqlite3_column_int
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:233,1
    - Dst: sqlite3_column_int
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:234,1
    - Dst: sqlite3_column_int
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:235,1
    - Dst: sqlite3_column_int
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:236,1
    - Dst: sqlite3_column_int
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:237,1
    - Dst: mosquitto_persist_client_add
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:239,1
    - Dst: sqlite3_finalize
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:246,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - ms
    argTypes:
    - struct mosquitto_sqlite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 251
    functionName: client_restore
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/restore.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - sqlite3_prepare_v2
    - mosquitto_log_printf
    - sqlite3_column_int
    - sqlite3_finalize
    - mosquitto_persist_client_add
    - sqlite3_column_text
    - sqlite3_errstr
    - sqlite3_column_int64
    - memset
    - sqlite3_step
    linkageType: ''
    returnType: int
    signature: int client_restore(struct mosquitto_sqlite *ms)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_prepare_v2
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:261,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:267,1
    - Dst: sqlite3_errstr
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:267,1
    - Dst: sqlite3_step
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:271,1
    - Dst: memset
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:272,1
    - Dst: sqlite3_column_text
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:273,1
    - Dst: sqlite3_column_text
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:274,1
    - Dst: sqlite3_column_int
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:275,1
    - Dst: sqlite3_column_int
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:276,1
    - Dst: mosquitto_subscription_add
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:278,1
    - Dst: sqlite3_finalize
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:285,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - ms
    argTypes:
    - struct mosquitto_sqlite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 290
    functionName: subscription_restore
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/restore.c
    functionUses: 0
    functionsReached:
    - sqlite3_prepare_v2
    - mosquitto_log_printf
    - sqlite3_column_int
    - sqlite3_finalize
    - mosquitto_subscription_add
    - sqlite3_column_text
    - sqlite3_errstr
    - memset
    - sqlite3_step
    linkageType: ''
    returnType: int
    signature: int subscription_restore(struct mosquitto_sqlite *ms)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_prepare_v2
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:302,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:308,1
    - Dst: sqlite3_errstr
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:308,1
    - Dst: sqlite3_step
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:312,1
    - Dst: memset
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:313,1
    - Dst: sqlite3_column_int64
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:314,1
    - Dst: sqlite3_column_int64
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:315,1
    - Dst: sqlite3_column_text
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:316,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:318,1
    - Dst: sqlite3_column_text
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:324,1
    - Dst: sqlite3_column_text
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:325,1
    - Dst: sqlite3_column_blob
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:326,1
    - Dst: sqlite3_column_int
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:327,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:329,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:331,1
    - Dst: memcpy
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:335,1
    - Dst: sqlite3_column_int
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:339,1
    - Dst: sqlite3_column_int
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:340,1
    - Dst: sqlite3_column_int
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:341,1
    - Dst: sqlite3_column_int
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:342,1
    - Dst: json_to_properties
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:343,1
    - Dst: sqlite3_column_text
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:343,1
    - Dst: mosquitto_persist_base_msg_add
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:345,1
    - Dst: sqlite3_finalize
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:352,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:354,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 1
    argNames:
    - ms
    argTypes:
    - struct mosquitto_sqlite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 293
    functionDepth: 4
    functionLinenumber: 293
    functionLinenumberEnd: 356
    functionName: base_msg_restore
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/restore.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - sqlite3_prepare_v2
    - mosquitto_log_printf
    - sqlite3_column_int
    - sqlite3_finalize
    - json_to_properties
    - sqlite3_column_text
    - sqlite3_errstr
    - mosquitto_malloc
    - sqlite3_column_int64
    - mosquitto_free
    - memset
    - sqlite3_column_blob
    - sqlite3_step
    - memcpy
    - mosquitto_persist_base_msg_add
    linkageType: ''
    returnType: int
    signature: int base_msg_restore(struct mosquitto_sqlite *ms)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_prepare_v2
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:366,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:372,1
    - Dst: sqlite3_errstr
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:372,1
    - Dst: memset
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:376,1
    - Dst: sqlite3_step
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:377,1
    - Dst: sqlite3_column_text
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:378,1
    - Dst: sqlite3_column_int64
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:379,1
    - Dst: sqlite3_column_int64
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:380,1
    - Dst: sqlite3_column_int
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:381,1
    - Dst: sqlite3_column_int
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:382,1
    - Dst: sqlite3_column_int
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:383,1
    - Dst: sqlite3_column_int
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:384,1
    - Dst: sqlite3_column_int
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:385,1
    - Dst: sqlite3_column_int
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:386,1
    - Dst: sqlite3_column_int
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:387,1
    - Dst: mosquitto_persist_client_msg_add
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:389,1
    - Dst: sqlite3_finalize
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:396,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - ms
    argTypes:
    - struct mosquitto_sqlite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 359
    functionDepth: 3
    functionLinenumber: 359
    functionLinenumberEnd: 400
    functionName: client_msg_restore
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/restore.c
    functionUses: 1
    functionsReached:
    - sqlite3_prepare_v2
    - mosquitto_log_printf
    - sqlite3_column_int
    - sqlite3_finalize
    - sqlite3_column_text
    - sqlite3_errstr
    - sqlite3_column_int64
    - mosquitto_persist_client_msg_add
    - memset
    - sqlite3_step
    linkageType: ''
    returnType: int
    signature: int client_msg_restore(struct mosquitto_sqlite *ms)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_prepare_v2
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:411,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:417,1
    - Dst: sqlite3_errstr
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:417,1
    - Dst: sqlite3_step
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:421,1
    - Dst: sqlite3_column_text
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:422,1
    - Dst: sqlite3_column_int64
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:427,1
    - Dst: mosquitto_persist_retain_msg_set
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:429,1
    - Dst: sqlite3_finalize
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:436,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:438,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ms
    argTypes:
    - struct mosquitto_sqlite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 440
    functionName: retain_restore
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/restore.c
    functionUses: 0
    functionsReached:
    - mosquitto_persist_retain_msg_set
    - sqlite3_prepare_v2
    - mosquitto_log_printf
    - sqlite3_finalize
    - sqlite3_column_text
    - sqlite3_errstr
    - sqlite3_column_int64
    - sqlite3_step
    linkageType: ''
    returnType: int
    signature: int retain_restore(struct mosquitto_sqlite *ms)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:449,1
    - Dst: memcpy
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:453,1
    - Dst: mosquitto_broker_publish
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:456,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    - properties
    argTypes:
    - char*
    - int
    - void*
    - int
    - bool
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 461
    functionName: publish_will_msg
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/restore.c
    functionUses: 0
    functionsReached:
    - memcpy
    - mosquitto_broker_publish
    - mosquitto_free
    - mosquitto_malloc
    linkageType: ''
    returnType: int
    signature: int publish_will_msg(const char *topic, int payloadlen, const void
      *payload, int qos, bool retain, mosquitto_property *properties)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_prepare_v2
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:474,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:482,1
    - Dst: sqlite3_errstr
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:482,1
    - Dst: sqlite3_step
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:486,1
    - Dst: sqlite3_column_text
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:487,1
    - Dst: sqlite3_column_text
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:488,1
    - Dst: sqlite3_column_blob
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:489,1
    - Dst: sqlite3_column_int64
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:490,1
    - Dst: sqlite3_column_int
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:491,1
    - Dst: sqlite3_column_int
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:492,1
    - Dst: json_to_properties
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:493,1
    - Dst: sqlite3_column_text
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:493,1
    - Dst: mosquitto_client_will_set
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:495,1
    - Dst: publish_will_msg
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:498,1
    - Dst: sqlite3_column_int64
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:499,1
    - Dst: sqlite3_column_int64
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:499,1
    - Dst: json_to_properties
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:502,1
    - Dst: sqlite3_column_text
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:502,1
    - Dst: publish_will_msg
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:503,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:509,1
    - Dst: sqlite3_finalize
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:513,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:515,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - ms
    argTypes:
    - struct mosquitto_sqlite*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 464
    functionDepth: 4
    functionLinenumber: 464
    functionLinenumberEnd: 518
    functionName: will_restore
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/restore.c
    functionUses: 0
    functionsReached:
    - sqlite3_prepare_v2
    - mosquitto_log_printf
    - sqlite3_column_int
    - mosquitto_property_free_all
    - mosquitto_client_will_set
    - json_to_properties
    - sqlite3_finalize
    - sqlite3_column_text
    - sqlite3_errstr
    - sqlite3_column_int64
    - sqlite3_column_blob
    - sqlite3_step
    - publish_will_msg
    linkageType: ''
    returnType: int
    signature: int will_restore(struct mosquitto_sqlite *ms)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:524,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:525,1
    - Dst: base_msg_restore
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:527,1
    - Dst: retain_restore
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:530,1
    - Dst: client_restore
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:533,1
    - Dst: subscription_restore
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:536,1
    - Dst: client_msg_restore
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:539,1
    - Dst: will_restore
      Src: /src/mosquitto/plugins/persist-sqlite/restore.c:542,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 521
    functionDepth: 5
    functionLinenumber: 521
    functionLinenumberEnd: 547
    functionName: persist_sqlite__restore_cb
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/restore.c
    functionUses: 0
    functionsReached:
    - retain_restore
    - subscription_restore
    - client_msg_restore
    - UNUSED
    - will_restore
    - base_msg_restore
    - client_restore
    linkageType: ''
    returnType: int
    signature: int persist_sqlite__restore_cb(int event, void *event_data, void *userdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/persist-sqlite/retain_msgs.c:33,1
    - Dst: sqlite3_bind_text
      Src: /src/mosquitto/plugins/persist-sqlite/retain_msgs.c:35,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/persist-sqlite/retain_msgs.c:35,1
    - Dst: sqlite3_bind_int64
      Src: /src/mosquitto/plugins/persist-sqlite/retain_msgs.c:36,1
    - Dst: sqlite3_step
      Src: /src/mosquitto/plugins/persist-sqlite/retain_msgs.c:40,1
    - Dst: sqlite3_reset
      Src: /src/mosquitto/plugins/persist-sqlite/retain_msgs.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 50
    functionName: persist_sqlite__retain_msg_set_cb
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/retain_msgs.c
    functionUses: 0
    functionsReached:
    - sqlite3_bind_text
    - sqlite3_reset
    - strlen
    - sqlite3_step
    - UNUSED
    - sqlite3_bind_int64
    linkageType: ''
    returnType: int
    signature: int persist_sqlite__retain_msg_set_cb(int event, void *event_data,
      void *userdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/persist-sqlite/retain_msgs.c:59,1
    - Dst: sqlite3_bind_text
      Src: /src/mosquitto/plugins/persist-sqlite/retain_msgs.c:61,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/persist-sqlite/retain_msgs.c:62,1
    - Dst: sqlite3_step
      Src: /src/mosquitto/plugins/persist-sqlite/retain_msgs.c:65,1
    - Dst: sqlite3_reset
      Src: /src/mosquitto/plugins/persist-sqlite/retain_msgs.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 75
    functionName: persist_sqlite__retain_msg_remove_cb
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/retain_msgs.c
    functionUses: 0
    functionsReached:
    - sqlite3_bind_text
    - sqlite3_reset
    - strlen
    - sqlite3_step
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int persist_sqlite__retain_msg_remove_cb(int event, void *event_data,
      void *userdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/persist-sqlite/client_msgs.c:33,1
    - Dst: sqlite3_bind_text
      Src: /src/mosquitto/plugins/persist-sqlite/client_msgs.c:35,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/persist-sqlite/client_msgs.c:35,1
    - Dst: sqlite3_bind_int64
      Src: /src/mosquitto/plugins/persist-sqlite/client_msgs.c:36,1
    - Dst: sqlite3_bind_int64
      Src: /src/mosquitto/plugins/persist-sqlite/client_msgs.c:37,1
    - Dst: sqlite3_bind_int
      Src: /src/mosquitto/plugins/persist-sqlite/client_msgs.c:38,1
    - Dst: sqlite3_bind_int
      Src: /src/mosquitto/plugins/persist-sqlite/client_msgs.c:39,1
    - Dst: sqlite3_bind_int
      Src: /src/mosquitto/plugins/persist-sqlite/client_msgs.c:40,1
    - Dst: sqlite3_bind_int
      Src: /src/mosquitto/plugins/persist-sqlite/client_msgs.c:41,1
    - Dst: sqlite3_bind_int
      Src: /src/mosquitto/plugins/persist-sqlite/client_msgs.c:42,1
    - Dst: sqlite3_bind_int
      Src: /src/mosquitto/plugins/persist-sqlite/client_msgs.c:43,1
    - Dst: sqlite3_bind_int
      Src: /src/mosquitto/plugins/persist-sqlite/client_msgs.c:44,1
    - Dst: sqlite3_step
      Src: /src/mosquitto/plugins/persist-sqlite/client_msgs.c:49,1
    - Dst: sqlite3_reset
      Src: /src/mosquitto/plugins/persist-sqlite/client_msgs.c:56,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 59
    functionName: persist_sqlite__client_msg_add_cb
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/client_msgs.c
    functionUses: 0
    functionsReached:
    - sqlite3_bind_text
    - sqlite3_reset
    - strlen
    - sqlite3_step
    - UNUSED
    - sqlite3_bind_int
    - sqlite3_bind_int64
    linkageType: ''
    returnType: int
    signature: int persist_sqlite__client_msg_add_cb(int event, void *event_data,
      void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/persist-sqlite/client_msgs.c:67,1
    - Dst: persist_sqlite__client_msg_remove
      Src: /src/mosquitto/plugins/persist-sqlite/client_msgs.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: persist_sqlite__client_msg_remove_cb
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/client_msgs.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - persist_sqlite__client_msg_remove
    linkageType: ''
    returnType: int
    signature: int persist_sqlite__client_msg_remove_cb(int event, void *event_data,
      void *userdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/persist-sqlite/client_msgs.c:79,1
    - Dst: sqlite3_bind_int
      Src: /src/mosquitto/plugins/persist-sqlite/client_msgs.c:81,1
    - Dst: sqlite3_bind_int
      Src: /src/mosquitto/plugins/persist-sqlite/client_msgs.c:82,1
    - Dst: sqlite3_bind_text
      Src: /src/mosquitto/plugins/persist-sqlite/client_msgs.c:83,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/persist-sqlite/client_msgs.c:83,1
    - Dst: sqlite3_bind_int64
      Src: /src/mosquitto/plugins/persist-sqlite/client_msgs.c:84,1
    - Dst: sqlite3_step
      Src: /src/mosquitto/plugins/persist-sqlite/client_msgs.c:88,1
    - Dst: sqlite3_reset
      Src: /src/mosquitto/plugins/persist-sqlite/client_msgs.c:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 98
    functionName: persist_sqlite__client_msg_update_cb
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/client_msgs.c
    functionUses: 0
    functionsReached:
    - sqlite3_bind_text
    - sqlite3_reset
    - strlen
    - sqlite3_step
    - UNUSED
    - sqlite3_bind_int
    - sqlite3_bind_int64
    linkageType: ''
    returnType: int
    signature: int persist_sqlite__client_msg_update_cb(int event, void *event_data,
      void *userdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sqlite3_bind_text
      Src: /src/mosquitto/plugins/persist-sqlite/client_msgs.c:105,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/persist-sqlite/client_msgs.c:105,1
    - Dst: sqlite3_step
      Src: /src/mosquitto/plugins/persist-sqlite/client_msgs.c:107,1
    - Dst: sqlite3_reset
      Src: /src/mosquitto/plugins/persist-sqlite/client_msgs.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ms
    - clientid
    argTypes:
    - struct mosquitto_sqlite*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 117
    functionName: persist_sqlite__client_msg_clear
    functionSourceFile: /src/mosquitto/plugins/persist-sqlite/client_msgs.c
    functionUses: 1
    functionsReached:
    - sqlite3_bind_text
    - strlen
    - sqlite3_reset
    - sqlite3_step
    linkageType: ''
    returnType: int
    signature: int persist_sqlite__client_msg_clear(struct mosquitto_sqlite *ms, const
      char *clientid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: role_cmp
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/roles.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int role_cmp(void *a, void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_DELETE
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:56,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - acl
    - item
    argTypes:
    - struct dynsec__acl**
    - struct dynsec__acl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: role__free_acl
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/roles.c
    functionUses: 0
    functionsReached:
    - mosquitto_free
    - HASH_DELETE
    linkageType: ''
    returnType: void
    signature: void role__free_acl(struct dynsec__acl **acl, struct dynsec__acl *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:65,1
    - Dst: role__free_acl
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - acl
    argTypes:
    - struct dynsec__acl**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: role__free_all_acls
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/roles.c
    functionUses: 0
    functionsReached:
    - role__free_acl
    - HASH_ITER
    linkageType: ''
    returnType: void
    signature: void role__free_all_acls(struct dynsec__acl **acl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_DEL
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:74,1
    - Dst: dynsec_clientlist__cleanup
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:76,1
    - Dst: dynsec_grouplist__cleanup
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:77,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:78,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:79,1
    - Dst: role__free_all_acls
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:80,1
    - Dst: role__free_all_acls
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:81,1
    - Dst: role__free_all_acls
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:82,1
    - Dst: role__free_all_acls
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:83,1
    - Dst: role__free_all_acls
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:84,1
    - Dst: role__free_all_acls
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:85,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - data
    - role
    - remove_from_hash
    argTypes:
    - struct dynsec__data*
    - struct dynsec__role*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: role__free_item
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/roles.c
    functionUses: 0
    functionsReached:
    - role__free_all_acls
    - dynsec_grouplist__cleanup
    - mosquitto_free
    - HASH_DEL
    - dynsec_clientlist__cleanup
    linkageType: ''
    returnType: void
    signature: void role__free_item(struct dynsec__data *data, struct dynsec__role
      *role, bool remove_from_hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:94,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - rolename
    argTypes:
    - struct dynsec__data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: dynsec_roles__find
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/roles.c
    functionUses: 0
    functionsReached:
    - strlen
    - HASH_FIND
    linkageType: ''
    returnType: struct dynsec__role
    signature: struct dynsec__role *dynsec_roles__find(struct dynsec__data *data,
      const char *rolename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:104,1
    - Dst: role__free_item
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct dynsec__data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 4
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: dynsec_roles__cleanup
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/roles.c
    functionUses: 0
    functionsReached:
    - role__free_item
    - HASH_ITER
    linkageType: ''
    returnType: void
    signature: void dynsec_roles__cleanup(struct dynsec__data *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynsec_clientlist__kick_all
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:114,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:116,1
    - Dst: dynsec_kicklist__add
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:118,1
    - Dst: dynsec_clientlist__kick_all
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - data
    - role
    argTypes:
    - struct dynsec__data*
    - struct dynsec__role*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: role__kick_all
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/roles.c
    functionUses: 0
    functionsReached:
    - dynsec_clientlist__kick_all
    - dynsec_kicklist__add
    - HASH_ITER
    linkageType: ''
    returnType: void
    signature: void role__kick_all(struct dynsec__data *data, struct dynsec__role
      *role)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:138,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:142,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:144,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:145,1
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:146,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - j_array
    - acl_type
    - acl
    argTypes:
    - cJSON*
    - char*
    - struct dynsec__acl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 132
    functionDepth: 5
    functionLinenumber: 132
    functionLinenumberEnd: 156
    functionName: add_single_acl_to_json
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/roles.c
    functionUses: 0
    functionsReached:
    - cJSON_AddIntToObject
    - cJSON_AddItemToArray
    - cJSON_AddBoolToObject
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int add_single_acl_to_json(cJSON *j_array, const char *acl_type, struct
      dynsec__acl *acl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:138,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:142,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:144,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:145,1
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:146,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 137
    functionDepth: 5
    functionLinenumber: 137
    functionLinenumberEnd: 152
    functionName: HASH_ITER
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/roles.c
    functionUses: 30
    functionsReached:
    - cJSON_AddIntToObject
    - cJSON_AddItemToArray
    - cJSON_AddBoolToObject
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, acl, iter, tmp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:163,1
    - Dst: add_single_acl_to_json
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:167,1
    - Dst: add_single_acl_to_json
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:168,1
    - Dst: add_single_acl_to_json
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:169,1
    - Dst: add_single_acl_to_json
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:170,1
    - Dst: add_single_acl_to_json
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:171,1
    - Dst: add_single_acl_to_json
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - j_role
    - role
    argTypes:
    - cJSON*
    - struct dynsec__role*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 159
    functionDepth: 6
    functionLinenumber: 159
    functionLinenumberEnd: 178
    functionName: add_acls_to_json
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/roles.c
    functionUses: 0
    functionsReached:
    - add_single_acl_to_json
    - cJSON_AddArrayToObject
    linkageType: ''
    returnType: int
    signature: int add_acls_to_json(cJSON *j_role, struct dynsec__role *role)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:186,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:190,1
    - Dst: add_role_to_json
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:191,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - data
    - tree
    argTypes:
    - struct dynsec__data*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 181
    functionDepth: 4
    functionLinenumber: 181
    functionLinenumberEnd: 199
    functionName: dynsec_roles__config_save
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/roles.c
    functionUses: 0
    functionsReached:
    - cJSON_AddItemToArray
    - add_role_to_json
    - cJSON_AddArrayToObject
    - HASH_ITER
    linkageType: ''
    returnType: int
    signature: int dynsec_roles__config_save(struct dynsec__data *data, cJSON *tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct dynsec__acl*
    - struct dynsec__acl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: insert_acl_cmp
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/roles.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int insert_acl_cmp(struct dynsec__acl *a, struct dynsec__acl *b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:218,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:221,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:224,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:228,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:233,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:233,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:238,1
    - Dst: strncpy
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:242,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:244,1
    - Dst: json_get_bool
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:251,1
    - Dst: json_get_bool
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:254,1
    - Dst: HASH_ADD_INORDER
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:258,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 3
    argNames:
    - j_acls
    - key
    - acllist
    argTypes:
    - cJSON*
    - char*
    - struct dynsec__acl**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 262
    functionName: dynsec_roles__acl_load
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/roles.c
    functionUses: 0
    functionsReached:
    - mosquitto_calloc
    - strcasecmp
    - json_get_string
    - json_get_int
    - json_get_bool
    - HASH_ADD_INORDER
    - strlen
    - HASH_FIND
    - strncpy
    linkageType: ''
    returnType: int
    signature: int dynsec_roles__acl_load(cJSON *j_acls, const char *key, struct dynsec__acl
      **acllist)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:218,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:221,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:224,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:228,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:233,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:233,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:238,1
    - Dst: strncpy
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:242,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:244,1
    - Dst: json_get_bool
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:251,1
    - Dst: json_get_bool
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:254,1
    - Dst: HASH_ADD_INORDER
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:258,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 259
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/roles.c
    functionUses: 1
    functionsReached:
    - mosquitto_calloc
    - strcasecmp
    - json_get_string
    - json_get_int
    - json_get_bool
    - HASH_ADD_INORDER
    - strlen
    - HASH_FIND
    - strncpy
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(j_acl, j_acls)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:271,1
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:276,1
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:281,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:284,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:287,1
    - Dst: dynsec_roles__find
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:291,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:295,1
    - Dst: strncpy
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:299,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:303,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:304,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:306,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:313,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:314,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:316,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:317,1
    - Dst: json_get_bool
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:323,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:326,1
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:327,1
    - Dst: dynsec_roles__acl_load
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:328,1
    - Dst: dynsec_roles__acl_load
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:329,1
    - Dst: dynsec_roles__acl_load
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:330,1
    - Dst: dynsec_roles__acl_load
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:331,1
    - Dst: dynsec_roles__acl_load
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:332,1
    - Dst: dynsec_roles__acl_load
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:333,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:336,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:337,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:338,1
    - Dst: HASH_ADD
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:343,1
    - Dst: HASH_SORT
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:346,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 54
    argCount: 2
    argNames:
    - data
    - tree
    argTypes:
    - struct dynsec__data*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 349
    functionName: dynsec_roles__config_load
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/roles.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - HASH_SORT
    - cJSON_IsArray
    - mosquitto_calloc
    - HASH_ADD
    - cJSON_GetObjectItem
    - json_get_string
    - json_get_bool
    - strlen
    - mosquitto_free
    - cJSON_IsObject
    - dynsec_roles__acl_load
    - strncpy
    - dynsec_roles__find
    linkageType: ''
    returnType: int
    signature: int dynsec_roles__config_load(struct dynsec__data *data, cJSON *tree)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:281,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:284,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:287,1
    - Dst: dynsec_roles__find
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:291,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:295,1
    - Dst: strncpy
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:299,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:303,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:304,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:306,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:313,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:314,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:316,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:317,1
    - Dst: json_get_bool
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:323,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:326,1
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:327,1
    - Dst: dynsec_roles__acl_load
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:328,1
    - Dst: dynsec_roles__acl_load
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:329,1
    - Dst: dynsec_roles__acl_load
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:330,1
    - Dst: dynsec_roles__acl_load
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:331,1
    - Dst: dynsec_roles__acl_load
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:332,1
    - Dst: dynsec_roles__acl_load
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:333,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:336,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:337,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:338,1
    - Dst: HASH_ADD
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:343,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 280
    functionDepth: 3
    functionLinenumber: 280
    functionLinenumberEnd: 345
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/roles.c
    functionUses: 1
    functionsReached:
    - mosquitto_strdup
    - cJSON_IsArray
    - mosquitto_calloc
    - HASH_ADD
    - cJSON_GetObjectItem
    - json_get_string
    - json_get_bool
    - strlen
    - mosquitto_free
    - cJSON_IsObject
    - dynsec_roles__acl_load
    - strncpy
    - dynsec_roles__find
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(j_role, j_roles)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:363,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:364,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:367,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:369,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:372,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:373,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:377,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:378,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:382,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:383,1
    - Dst: json_get_bool
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:387,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:388,1
    - Dst: dynsec_roles__find
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:392,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:394,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:398,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:400,1
    - Dst: strncpy
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:403,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:405,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:407,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:413,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:415,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:423,1
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:424,1
    - Dst: dynsec_roles__acl_load
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:425,1
    - Dst: dynsec_roles__acl_load
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:426,1
    - Dst: dynsec_roles__acl_load
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:427,1
    - Dst: dynsec_roles__acl_load
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:428,1
    - Dst: dynsec_roles__acl_load
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:429,1
    - Dst: dynsec_roles__acl_load
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:430,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:433,1
    - Dst: HASH_ADD_INORDER
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:440,1
    - Dst: dynsec__config_batch_save
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:442,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:444,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:446,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:447,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:448,1
    - Dst: role__free_item
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:454,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 78
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 352
    functionDepth: 5
    functionLinenumber: 352
    functionLinenumberEnd: 457
    functionName: dynsec_roles__process_create
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/roles.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - mosquitto_log_printf
    - strncpy
    - cJSON_IsArray
    - mosquitto_calloc
    - mosquitto_control_command_reply
    - mosquitto_client_id
    - cJSON_GetObjectItem
    - mosquitto_client_username
    - json_get_string
    - HASH_ADD_INORDER
    - strlen
    - dynsec__config_batch_save
    - mosquitto_validate_utf8
    - dynsec_roles__acl_load
    - role__free_item
    - json_get_bool
    - dynsec_roles__find
    linkageType: ''
    returnType: int
    signature: int dynsec_roles__process_create(struct dynsec__data *data, struct
      mosquitto_control_cmd *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:464,1
    - Dst: dynsec_kicklist__add
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:465,1
    - Dst: dynsec_rolelist__client_remove
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - data
    - role
    argTypes:
    - struct dynsec__data*
    - struct dynsec__role*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 469
    functionName: role__remove_all_clients
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/roles.c
    functionUses: 0
    functionsReached:
    - dynsec_rolelist__client_remove
    - dynsec_kicklist__add
    - HASH_ITER
    linkageType: ''
    returnType: void
    signature: void role__remove_all_clients(struct dynsec__data *data, struct dynsec__role
      *role)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:476,1
    - Dst: dynsec_kicklist__add
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:478,1
    - Dst: dynsec_clientlist__kick_all
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:480,1
    - Dst: dynsec_rolelist__group_remove
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - data
    - role
    argTypes:
    - struct dynsec__data*
    - struct dynsec__role*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 484
    functionName: role__remove_all_groups
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/roles.c
    functionUses: 0
    functionsReached:
    - dynsec_clientlist__kick_all
    - dynsec_kicklist__add
    - dynsec_rolelist__group_remove
    - HASH_ITER
    linkageType: ''
    returnType: void
    signature: void role__remove_all_groups(struct dynsec__data *data, struct dynsec__role
      *role)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:493,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:494,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:497,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:497,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:498,1
    - Dst: dynsec_roles__find
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:502,1
    - Dst: role__remove_all_clients
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:504,1
    - Dst: role__remove_all_groups
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:505,1
    - Dst: role__free_item
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:506,1
    - Dst: dynsec__config_batch_save
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:507,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:508,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:510,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:511,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:512,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:517,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 487
    functionDepth: 5
    functionLinenumber: 487
    functionLinenumberEnd: 520
    functionName: dynsec_roles__process_delete
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/roles.c
    functionUses: 0
    functionsReached:
    - mosquitto_log_printf
    - role__remove_all_groups
    - mosquitto_control_command_reply
    - mosquitto_client_id
    - mosquitto_client_username
    - json_get_string
    - strlen
    - dynsec__config_batch_save
    - mosquitto_validate_utf8
    - role__free_item
    - role__remove_all_clients
    - dynsec_roles__find
    linkageType: ''
    returnType: int
    signature: int dynsec_roles__process_delete(struct dynsec__data *data, struct
      mosquitto_control_cmd *cmd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:528,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:533,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:534,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:535,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:536,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:539,1
    - Dst: add_acls_to_json
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:542,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:543,1
    - Dst: cJSON_CreateString
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:547,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - role
    - verbose
    argTypes:
    - struct dynsec__role*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 523
    functionDepth: 7
    functionLinenumber: 523
    functionLinenumberEnd: 553
    functionName: add_role_to_json
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/roles.c
    functionUses: 1
    functionsReached:
    - add_acls_to_json
    - cJSON_Delete
    - cJSON_CreateString
    - cJSON_AddBoolToObject
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: cJSON
    signature: cJSON *add_role_to_json(struct dynsec__role *role, bool verbose)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: json_get_bool
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:564,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:565,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:566,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:568,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:570,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:574,1
    - Dst: cJSON_AddObjectToObject
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:575,1
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:576,1
    - Dst: HASH_CNT
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:576,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:577,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:578,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:581,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:582,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:587,1
    - Dst: add_role_to_json
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:589,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:591,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:592,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:595,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:607,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:609,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:610,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:611,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 556
    functionDepth: 8
    functionLinenumber: 556
    functionLinenumberEnd: 615
    functionName: dynsec_roles__process_list
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/roles.c
    functionUses: 0
    functionsReached:
    - cJSON_AddIntToObject
    - HASH_CNT
    - cJSON_Delete
    - mosquitto_log_printf
    - mosquitto_control_command_reply
    - mosquitto_client_id
    - cJSON_AddArrayToObject
    - mosquitto_client_username
    - json_get_int
    - add_role_to_json
    - cJSON_AddItemToArray
    - HASH_ITER
    - cJSON_AddObjectToObject
    - json_get_bool
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_roles__process_list(struct dynsec__data *data, struct mosquitto_control_cmd
      *cmd)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:629,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:630,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:633,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:633,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:634,1
    - Dst: dynsec_roles__find
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:638,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:640,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:644,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:645,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:648,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:650,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:652,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:654,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:656,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:658,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:661,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:665,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:666,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:667,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:668,1
    - Dst: mosquitto_sub_topic_check
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:671,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:673,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:677,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:681,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:683,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:687,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:689,1
    - Dst: strncpy
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:692,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:694,1
    - Dst: json_get_bool
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:701,1
    - Dst: HASH_ADD_INORDER
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:703,1
    - Dst: dynsec__config_batch_save
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:704,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:705,1
    - Dst: role__kick_all
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:707,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:709,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:710,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:711,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 81
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 618
    functionDepth: 5
    functionLinenumber: 618
    functionLinenumberEnd: 715
    functionName: dynsec_roles__process_add_acl
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/roles.c
    functionUses: 0
    functionsReached:
    - mosquitto_log_printf
    - mosquitto_calloc
    - mosquitto_control_command_reply
    - role__kick_all
    - strcasecmp
    - mosquitto_client_id
    - mosquitto_client_username
    - json_get_string
    - json_get_int
    - json_get_bool
    - HASH_ADD_INORDER
    - strlen
    - dynsec__config_batch_save
    - mosquitto_sub_topic_check
    - mosquitto_validate_utf8
    - HASH_FIND
    - strncpy
    - dynsec_roles__find
    linkageType: ''
    returnType: int
    signature: int dynsec_roles__process_add_acl(struct dynsec__data *data, struct
      mosquitto_control_cmd *cmd)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:728,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:729,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:732,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:732,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:733,1
    - Dst: dynsec_roles__find
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:737,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:739,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:743,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:744,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:747,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:749,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:751,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:753,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:755,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:757,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:760,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:764,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:765,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:768,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:768,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:769,1
    - Dst: mosquitto_sub_topic_check
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:772,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:774,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:778,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:778,1
    - Dst: role__free_acl
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:780,1
    - Dst: dynsec__config_batch_save
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:781,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:782,1
    - Dst: role__kick_all
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:784,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:786,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:787,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:788,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:792,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 65
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 718
    functionDepth: 5
    functionLinenumber: 718
    functionLinenumberEnd: 796
    functionName: dynsec_roles__process_remove_acl
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/roles.c
    functionUses: 0
    functionsReached:
    - mosquitto_log_printf
    - mosquitto_control_command_reply
    - role__kick_all
    - strcasecmp
    - mosquitto_client_id
    - mosquitto_client_username
    - json_get_string
    - strlen
    - role__free_acl
    - dynsec__config_batch_save
    - mosquitto_sub_topic_check
    - mosquitto_validate_utf8
    - HASH_FIND
    - dynsec_roles__find
    linkageType: ''
    returnType: int
    signature: int dynsec_roles__process_remove_acl(struct dynsec__data *data, struct
      mosquitto_control_cmd *cmd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:806,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:807,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:810,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:810,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:811,1
    - Dst: dynsec_roles__find
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:815,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:817,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:821,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:823,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:827,1
    - Dst: cJSON_AddObjectToObject
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:828,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:829,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:832,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:833,1
    - Dst: add_role_to_json
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:837,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:839,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:840,1
    - Dst: cJSON_AddItemToObject
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:843,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:844,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:846,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:847,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:848,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 799
    functionDepth: 8
    functionLinenumber: 799
    functionLinenumberEnd: 852
    functionName: dynsec_roles__process_get
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/roles.c
    functionUses: 0
    functionsReached:
    - mosquitto_log_printf
    - cJSON_Delete
    - mosquitto_control_command_reply
    - mosquitto_client_id
    - mosquitto_client_username
    - json_get_string
    - add_role_to_json
    - cJSON_AddItemToArray
    - strlen
    - mosquitto_validate_utf8
    - cJSON_AddObjectToObject
    - cJSON_AddItemToObject
    - dynsec_roles__find
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_roles__process_get(struct dynsec__data *data, struct mosquitto_control_cmd
      *cmd)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:868,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:869,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:872,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:872,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:873,1
    - Dst: dynsec_roles__find
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:877,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:879,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:883,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:884,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:886,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:889,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:893,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:894,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:896,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:899,1
    - Dst: json_get_bool
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:903,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:910,1
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:911,1
    - Dst: dynsec_roles__acl_load
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:912,1
    - Dst: dynsec_roles__acl_load
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:913,1
    - Dst: dynsec_roles__acl_load
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:914,1
    - Dst: dynsec_roles__acl_load
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:915,1
    - Dst: dynsec_roles__acl_load
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:916,1
    - Dst: dynsec_roles__acl_load
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:917,1
    - Dst: role__free_all_acls
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:921,1
    - Dst: role__free_all_acls
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:922,1
    - Dst: role__free_all_acls
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:923,1
    - Dst: role__free_all_acls
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:924,1
    - Dst: role__free_all_acls
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:925,1
    - Dst: role__free_all_acls
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:926,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:928,1
    - Dst: role__free_all_acls
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:932,1
    - Dst: role__free_all_acls
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:933,1
    - Dst: role__free_all_acls
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:934,1
    - Dst: role__free_all_acls
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:935,1
    - Dst: role__free_all_acls
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:936,1
    - Dst: role__free_all_acls
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:937,1
    - Dst: role__kick_all
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:949,1
    - Dst: dynsec__config_batch_save
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:951,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:953,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:955,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:956,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/roles.c:957,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 71
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 855
    functionDepth: 5
    functionLinenumber: 855
    functionLinenumberEnd: 961
    functionName: dynsec_roles__process_modify
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/roles.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - role__free_all_acls
    - mosquitto_log_printf
    - cJSON_IsArray
    - mosquitto_control_command_reply
    - role__kick_all
    - mosquitto_client_id
    - cJSON_GetObjectItem
    - mosquitto_client_username
    - json_get_string
    - strlen
    - mosquitto_free
    - dynsec__config_batch_save
    - mosquitto_validate_utf8
    - dynsec_roles__acl_load
    - json_get_bool
    - dynsec_roles__find
    linkageType: ''
    returnType: int
    signature: int dynsec_roles__process_modify(struct dynsec__data *data, struct
      mosquitto_control_cmd *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/plugins/dynamic-security/grouplist.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: dynsec_grouplist__cmp
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/grouplist.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int dynsec_grouplist__cmp(void *a, void *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateArray
      Src: /src/mosquitto/plugins/dynamic-security/grouplist.c:77,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/grouplist.c:83,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/grouplist.c:85,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/grouplist.c:88,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/grouplist.c:90,1
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/plugins/dynamic-security/grouplist.c:91,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/grouplist.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - base_grouplist
    argTypes:
    - struct dynsec__grouplist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 72
    functionDepth: 5
    functionLinenumber: 72
    functionLinenumberEnd: 99
    functionName: dynsec_grouplist__all_to_json
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/grouplist.c
    functionUses: 0
    functionsReached:
    - cJSON_AddIntToObject
    - cJSON_Delete
    - cJSON_AddItemToArray
    - cJSON_CreateArray
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: cJSON
    signature: cJSON *dynsec_grouplist__all_to_json(struct dynsec__grouplist *base_grouplist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/grouplist.c:83,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/grouplist.c:85,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/grouplist.c:88,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/grouplist.c:90,1
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/plugins/dynamic-security/grouplist.c:91,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/grouplist.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 82
    functionDepth: 5
    functionLinenumber: 82
    functionLinenumberEnd: 97
    functionName: HASH_ITER
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/grouplist.c
    functionUses: 34
    functionsReached:
    - cJSON_AddIntToObject
    - cJSON_Delete
    - cJSON_AddItemToArray
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, base_grouplist, grouplist, grouplist_tmp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/dynamic-security/grouplist.c:106,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/grouplist.c:106,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/plugins/dynamic-security/grouplist.c:112,1
    - Dst: HASH_ADD_KEYPTR_INORDER
      Src: /src/mosquitto/plugins/dynamic-security/grouplist.c:119,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/grouplist.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - base_grouplist
    - group
    - priority
    argTypes:
    - struct dynsec__grouplist**
    - struct dynsec__group*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 122
    functionName: dynsec_grouplist__add
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/grouplist.c
    functionUses: 0
    functionsReached:
    - strlen
    - HASH_ADD_KEYPTR_INORDER
    - mosquitto_malloc
    - HASH_FIND
    linkageType: ''
    returnType: int
    signature: int dynsec_grouplist__add(struct dynsec__grouplist **base_grouplist,
      struct dynsec__group *group, int priority)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/dynamic-security/grouplist.c:129,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/plugins/dynamic-security/grouplist.c:130,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/grouplist.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - base_grouplist
    argTypes:
    - struct dynsec__grouplist**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: dynsec_grouplist__cleanup
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/grouplist.c
    functionUses: 1
    functionsReached:
    - mosquitto_free
    - HASH_DELETE
    - HASH_ITER
    linkageType: ''
    returnType: void
    signature: void dynsec_grouplist__cleanup(struct dynsec__grouplist **base_grouplist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/dynamic-security/grouplist.c:140,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/grouplist.c:140,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/plugins/dynamic-security/grouplist.c:142,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/grouplist.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - base_grouplist
    - group
    argTypes:
    - struct dynsec__grouplist**
    - struct dynsec__group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: dynsec_grouplist__remove
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/grouplist.c
    functionUses: 0
    functionsReached:
    - strlen
    - mosquitto_free
    - HASH_FIND
    - HASH_DELETE
    linkageType: ''
    returnType: void
    signature: void dynsec_grouplist__remove(struct dynsec__grouplist **base_grouplist,
      struct dynsec__group *group)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:45,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:47,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:48,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:51,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - data
    - ed
    - base_rolelist
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_evt_acl_check*
    - struct dynsec__rolelist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 65
    functionName: acl_check_publish_c_recv
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/acl.c
    functionUses: 0
    functionsReached:
    - mosquitto_client_id
    - mosquitto_client_username
    - mosquitto_topic_matches_sub_with_pattern
    - HASH_ITER
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int acl_check_publish_c_recv(struct dynsec__data *data, struct mosquitto_evt_acl_check
      *ed, struct dynsec__rolelist *base_rolelist)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:51,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: HASH_ITER
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/acl.c
    functionUses: 37
    functionsReached:
    - mosquitto_topic_matches_sub_with_pattern
    - HASH_ITER
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, base_rolelist, rolelist, rolelist_tmp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:82,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:84,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:85,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:88,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - data
    - ed
    - base_rolelist
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_evt_acl_check*
    - struct dynsec__rolelist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 102
    functionName: acl_check_publish_c_send
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/acl.c
    functionUses: 0
    functionsReached:
    - mosquitto_client_id
    - mosquitto_client_username
    - mosquitto_topic_matches_sub_with_pattern
    - HASH_ITER
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int acl_check_publish_c_send(struct dynsec__data *data, struct mosquitto_evt_acl_check
      *ed, struct dynsec__rolelist *base_rolelist)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:88,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: HASH_ITER
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/acl.c
    functionUses: 39
    functionsReached:
    - mosquitto_topic_matches_sub_with_pattern
    - HASH_ITER
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, base_rolelist, rolelist, rolelist_tmp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:121,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:123,1
    - Dst: strpbrk
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:124,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:126,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:127,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:133,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:141,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:142,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - data
    - ed
    - base_rolelist
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_evt_acl_check*
    - struct dynsec__rolelist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 156
    functionName: acl_check_subscribe
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/acl.c
    functionUses: 0
    functionsReached:
    - mosquitto_client_id
    - mosquitto_client_username
    - strlen
    - mosquitto_sub_matches_acl_with_pattern
    - HASH_FIND
    - HASH_ITER
    - strpbrk
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int acl_check_subscribe(struct dynsec__data *data, struct mosquitto_evt_acl_check
      *ed, struct dynsec__rolelist *base_rolelist)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:133,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:141,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:142,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 154
    functionName: HASH_ITER
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/acl.c
    functionUses: 41
    functionsReached:
    - mosquitto_sub_matches_acl_with_pattern
    - HASH_FIND
    - HASH_ITER
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, base_rolelist, rolelist, rolelist_tmp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:174,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:176,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:178,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:179,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:182,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:190,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:191,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - data
    - ed
    - base_rolelist
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_evt_acl_check*
    - struct dynsec__rolelist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 205
    functionName: acl_check_unsubscribe
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/acl.c
    functionUses: 0
    functionsReached:
    - mosquitto_client_id
    - mosquitto_client_username
    - strlen
    - mosquitto_sub_matches_acl_with_pattern
    - HASH_FIND
    - HASH_ITER
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int acl_check_unsubscribe(struct dynsec__data *data, struct mosquitto_evt_acl_check
      *ed, struct dynsec__rolelist *base_rolelist)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:182,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:190,1
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:191,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 203
    functionName: HASH_ITER
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/acl.c
    functionUses: 43
    functionsReached:
    - mosquitto_sub_matches_acl_with_pattern
    - HASH_FIND
    - HASH_ITER
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, base_rolelist, rolelist, rolelist_tmp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:222,1
    - Dst: dynsec_clients__find
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:225,1
    - Dst: check
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:231,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:236,1
    - Dst: check
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:237,1
    - Dst: check
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:244,1
    - Dst: strncmp
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:253,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:253,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 4
    argNames:
    - data
    - ed
    - check
    - acl_default_access
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_evt_acl_check*
    - MOSQ_FUNC_acl_check
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 261
    functionName: acl_check
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/acl.c
    functionUses: 10
    functionsReached:
    - strncmp
    - mosquitto_client_username
    - strlen
    - check
    - dynsec_clients__find
    - HASH_ITER
    linkageType: ''
    returnType: int
    signature: int acl_check(struct dynsec__data *data, struct mosquitto_evt_acl_check
      *ed, MOSQ_FUNC_acl_check check, bool acl_default_access)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:276,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:277,1
    - Dst: acl_check
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:291,1
    - Dst: acl_check
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:294,1
    - Dst: acl_check
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:297,1
    - Dst: acl_check
      Src: /src/mosquitto/plugins/dynamic-security/acl.c:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 306
    functionName: dynsec__acl_check_callback
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/acl.c
    functionUses: 0
    functionsReached:
    - acl_check
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int dynsec__acl_check_callback(int event, void *event_data, void *userdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/kicklist.c:33,1
    - Dst: malloc
      Src: /src/mosquitto/plugins/dynamic-security/kicklist.c:37,1
    - Dst: strcpy
      Src: /src/mosquitto/plugins/dynamic-security/kicklist.c:42,1
    - Dst: DL_APPEND
      Src: /src/mosquitto/plugins/dynamic-security/kicklist.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - data
    - username
    argTypes:
    - struct dynsec__data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 49
    functionName: dynsec_kicklist__add
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/kicklist.c
    functionUses: 3
    functionsReached:
    - DL_APPEND
    - strlen
    - malloc
    - strcpy
    linkageType: ''
    returnType: int
    signature: int dynsec_kicklist__add(struct dynsec__data *data, const char *username)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/plugins/dynamic-security/kicklist.c:56,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/plugins/dynamic-security/kicklist.c:57,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/kicklist.c:58,1
    - Dst: mosquitto_kick_client_by_username
      Src: /src/mosquitto/plugins/dynamic-security/kicklist.c:59,1
    - Dst: mosquitto_kick_client_by_username
      Src: /src/mosquitto/plugins/dynamic-security/kicklist.c:61,1
    - Dst: free
      Src: /src/mosquitto/plugins/dynamic-security/kicklist.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct dynsec__data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: dynsec_kicklist__kick
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/kicklist.c
    functionUses: 0
    functionsReached:
    - strlen
    - DL_DELETE
    - DL_FOREACH_SAFE
    - mosquitto_kick_client_by_username
    - free
    linkageType: ''
    returnType: void
    signature: void dynsec_kicklist__kick(struct dynsec__data *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/plugins/dynamic-security/kicklist.c:72,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/plugins/dynamic-security/kicklist.c:73,1
    - Dst: free
      Src: /src/mosquitto/plugins/dynamic-security/kicklist.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct dynsec__data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: dynsec_kicklist__cleanup
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/kicklist.c
    functionUses: 0
    functionsReached:
    - free
    - DL_DELETE
    - DL_FOREACH_SAFE
    linkageType: ''
    returnType: void
    signature: void dynsec_kicklist__cleanup(struct dynsec__data *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynsec_kicklist__add
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:62,1
    - Dst: dynsec_clientlist__kick_all
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - group
    argTypes:
    - struct dynsec__data*
    - struct dynsec__group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: group__kick_all
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/groups.c
    functionUses: 0
    functionsReached:
    - dynsec_clientlist__kick_all
    - dynsec_kicklist__add
    linkageType: ''
    returnType: void
    signature: void group__kick_all(struct dynsec__data *data, struct dynsec__group
      *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: group_cmp
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/groups.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int group_cmp(void *a, void *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:82,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - groupname
    argTypes:
    - struct dynsec__data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: dynsec_groups__find
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/groups.c
    functionUses: 0
    functionsReached:
    - strlen
    - HASH_FIND
    linkageType: ''
    returnType: struct dynsec__group
    signature: struct dynsec__group *dynsec_groups__find(struct dynsec__data *data,
      const char *groupname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynsec_groups__find
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:96,1
    - Dst: HASH_DEL
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:98,1
    - Dst: dynsec__remove_all_clients_from_group
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:100,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:101,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:102,1
    - Dst: dynsec_rolelist__cleanup
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:103,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - data
    - group
    argTypes:
    - struct dynsec__data*
    - struct dynsec__group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 105
    functionName: group__free_item
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/groups.c
    functionUses: 0
    functionsReached:
    - dynsec_rolelist__cleanup
    - dynsec_groups__find
    - mosquitto_free
    - HASH_DEL
    - dynsec__remove_all_clients_from_group
    linkageType: ''
    returnType: void
    signature: void group__free_item(struct dynsec__data *data, struct dynsec__group
      *group)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:117,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:118,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:121,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:121,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:122,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:126,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:127,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:130,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:130,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:131,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:134,1
    - Dst: dynsec_groups__find
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:142,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:144,1
    - Dst: dynsec_roles__find
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:148,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:150,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:154,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:155,1
    - Dst: dynsec_rolelist__group_add
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:157,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:161,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:164,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:168,1
    - Dst: dynsec__config_batch_save
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:171,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:172,1
    - Dst: group__kick_all
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:175,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 108
    functionDepth: 5
    functionLinenumber: 108
    functionLinenumberEnd: 178
    functionName: dynsec_groups__process_add_role
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/groups.c
    functionUses: 0
    functionsReached:
    - group__kick_all
    - mosquitto_log_printf
    - mosquitto_control_command_reply
    - mosquitto_client_id
    - mosquitto_client_username
    - json_get_string
    - json_get_int
    - strlen
    - dynsec__config_batch_save
    - mosquitto_validate_utf8
    - dynsec_rolelist__group_add
    - dynsec_roles__find
    - dynsec_groups__find
    linkageType: ''
    returnType: int
    signature: int dynsec_groups__process_add_role(struct dynsec__data *data, struct
      mosquitto_control_cmd *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:185,1
    - Dst: group__free_item
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct dynsec__data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 189
    functionName: dynsec_groups__cleanup
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/groups.c
    functionUses: 0
    functionsReached:
    - group__free_item
    - HASH_ITER
    linkageType: ''
    returnType: void
    signature: void dynsec_groups__cleanup(struct dynsec__data *data)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:210,1
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:215,1
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:220,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:223,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:226,1
    - Dst: dynsec_groups__find
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:230,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:234,1
    - Dst: strncpy
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:238,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:242,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:244,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:246,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:254,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:256,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:258,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:259,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:266,1
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:267,1
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:271,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:273,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:274,1
    - Dst: dynsec_roles__find
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:281,1
    - Dst: dynsec_rolelist__group_add
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:282,1
    - Dst: HASH_ADD
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:289,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:292,1
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:293,1
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:296,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:298,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:299,1
    - Dst: dynsec_groups__add_client
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:306,1
    - Dst: HASH_SORT
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:313,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:315,1
    - Dst: dynsec_groups__find
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:316,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 84
    argCount: 2
    argNames:
    - data
    - tree
    argTypes:
    - struct dynsec__data*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 320
    functionName: dynsec_groups__config_load
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/groups.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - HASH_SORT
    - cJSON_IsArray
    - dynsec_groups__add_client
    - mosquitto_calloc
    - HASH_ADD
    - cJSON_GetObjectItem
    - json_get_string
    - json_get_int
    - strlen
    - mosquitto_free
    - cJSON_IsObject
    - dynsec_rolelist__group_add
    - strncpy
    - dynsec_roles__find
    - dynsec_groups__find
    linkageType: ''
    returnType: int
    signature: int dynsec_groups__config_load(struct dynsec__data *data, cJSON *tree)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:220,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:223,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:226,1
    - Dst: dynsec_groups__find
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:230,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:234,1
    - Dst: strncpy
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:238,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:242,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:244,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:246,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:254,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:256,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:258,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:259,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:266,1
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:267,1
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:271,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:273,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:274,1
    - Dst: dynsec_roles__find
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:281,1
    - Dst: dynsec_rolelist__group_add
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:282,1
    - Dst: HASH_ADD
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:289,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:292,1
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:293,1
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:296,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:298,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:299,1
    - Dst: dynsec_groups__add_client
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:306,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 312
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/groups.c
    functionUses: 1
    functionsReached:
    - mosquitto_strdup
    - cJSON_IsArray
    - dynsec_groups__add_client
    - mosquitto_calloc
    - HASH_ADD
    - cJSON_GetObjectItem
    - json_get_string
    - json_get_int
    - strlen
    - mosquitto_free
    - cJSON_IsObject
    - dynsec_rolelist__group_add
    - strncpy
    - dynsec_roles__find
    - dynsec_groups__find
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(j_group, j_groups)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:271,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:273,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:274,1
    - Dst: dynsec_roles__find
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:281,1
    - Dst: dynsec_rolelist__group_add
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 285
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/groups.c
    functionUses: 1
    functionsReached:
    - json_get_int
    - json_get_string
    - cJSON_IsObject
    - dynsec_rolelist__group_add
    - dynsec_roles__find
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(j_role, j_roles)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:296,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:298,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:299,1
    - Dst: dynsec_groups__add_client
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 309
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/groups.c
    functionUses: 1
    functionsReached:
    - json_get_int
    - json_get_string
    - dynsec_groups__add_client
    - cJSON_IsObject
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(j_client, j_clientlist)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:335,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:336,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:340,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:342,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:343,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:344,1
    - Dst: dynsec_rolelist__all_to_json
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:350,1
    - Dst: cJSON_AddItemToObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:354,1
    - Dst: dynsec_clientlist__all_to_json
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:356,1
    - Dst: cJSON_AddItemToObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:360,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - data
    - j_groups
    argTypes:
    - struct dynsec__data*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 330
    functionDepth: 4
    functionLinenumber: 330
    functionLinenumberEnd: 364
    functionName: dynsec__config_add_groups
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/groups.c
    functionUses: 0
    functionsReached:
    - dynsec_clientlist__all_to_json
    - cJSON_AddItemToArray
    - dynsec_rolelist__all_to_json
    - HASH_ITER
    - cJSON_AddItemToObject
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec__config_add_groups(struct dynsec__data *data, cJSON *j_groups)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateArray
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:371,1
    - Dst: cJSON_AddItemToObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:375,1
    - Dst: dynsec__config_add_groups
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:376,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:381,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - data
    - tree
    argTypes:
    - struct dynsec__data*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 367
    functionDepth: 5
    functionLinenumber: 367
    functionLinenumberEnd: 387
    functionName: dynsec_groups__config_save
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/groups.c
    functionUses: 0
    functionsReached:
    - dynsec__config_add_groups
    - cJSON_CreateArray
    - cJSON_AddItemToObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_groups__config_save(struct dynsec__data *data, cJSON *tree)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:398,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:399,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:402,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:404,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:407,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:408,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:412,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:413,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:417,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:418,1
    - Dst: dynsec_groups__find
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:422,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:424,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:428,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:430,1
    - Dst: strncpy
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:433,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:435,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:437,1
    - Dst: group__free_item
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:438,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:443,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:445,1
    - Dst: group__free_item
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:446,1
    - Dst: dynsec_rolelist__load_from_json
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:451,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:454,1
    - Dst: group__free_item
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:455,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:458,1
    - Dst: group__free_item
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:459,1
    - Dst: HASH_ADD_INORDER
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:463,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:465,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:466,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:467,1
    - Dst: dynsec__config_batch_save
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:470,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:471,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 68
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 390
    functionDepth: 5
    functionLinenumber: 390
    functionLinenumberEnd: 473
    functionName: dynsec_groups__process_create
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/groups.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - mosquitto_log_printf
    - mosquitto_calloc
    - mosquitto_control_command_reply
    - mosquitto_client_id
    - group__free_item
    - mosquitto_client_username
    - json_get_string
    - HASH_ADD_INORDER
    - strlen
    - dynsec__config_batch_save
    - mosquitto_validate_utf8
    - dynsec_rolelist__load_from_json
    - strncpy
    - dynsec_groups__find
    linkageType: ''
    returnType: int
    signature: int dynsec_groups__process_create(struct dynsec__data *data, struct
      mosquitto_control_cmd *cmd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:482,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:483,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:486,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:486,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:487,1
    - Dst: dynsec_groups__find
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:491,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:494,1
    - Dst: group__kick_all
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:499,1
    - Dst: dynsec__remove_all_roles_from_group
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:501,1
    - Dst: group__free_item
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:502,1
    - Dst: dynsec__config_batch_save
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:503,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:504,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:506,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:507,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:508,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:513,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 476
    functionDepth: 5
    functionLinenumber: 476
    functionLinenumberEnd: 516
    functionName: dynsec_groups__process_delete
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/groups.c
    functionUses: 0
    functionsReached:
    - group__kick_all
    - mosquitto_log_printf
    - mosquitto_control_command_reply
    - mosquitto_client_id
    - group__free_item
    - mosquitto_client_username
    - json_get_string
    - dynsec__remove_all_roles_from_group
    - strlen
    - dynsec__config_batch_save
    - mosquitto_validate_utf8
    - dynsec_groups__find
    linkageType: ''
    returnType: int
    signature: int dynsec_groups__process_delete(struct dynsec__data *data, struct
      mosquitto_control_cmd *cmd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dynsec_clients__find
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:526,1
    - Dst: dynsec_groups__find
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:531,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:536,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:536,1
    - Dst: dynsec_clientlist__add
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:542,1
    - Dst: dynsec_grouplist__add
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:546,1
    - Dst: dynsec_clientlist__remove
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:548,1
    - Dst: dynsec__config_batch_save
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:553,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - data
    - username
    - groupname
    - priority
    - update_config
    argTypes:
    - struct dynsec__data*
    - char*
    - char*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 557
    functionName: dynsec_groups__add_client
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/groups.c
    functionUses: 3
    functionsReached:
    - dynsec_clientlist__remove
    - dynsec_grouplist__add
    - strlen
    - dynsec__config_batch_save
    - dynsec_clientlist__add
    - HASH_FIND
    - dynsec_clients__find
    - dynsec_groups__find
    linkageType: ''
    returnType: int
    signature: int dynsec_groups__add_client(struct dynsec__data *data, const char
      *username, const char *groupname, int priority, bool update_config)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:567,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:568,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:571,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:571,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:572,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:576,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:577,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:580,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:580,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:581,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:585,1
    - Dst: dynsec_groups__add_client
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:593,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:595,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:596,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:597,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:600,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:602,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:604,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:606,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:608,1
    - Dst: dynsec_kicklist__add
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:612,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 560
    functionDepth: 5
    functionLinenumber: 560
    functionLinenumberEnd: 615
    functionName: dynsec_groups__process_add_client
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/groups.c
    functionUses: 0
    functionsReached:
    - mosquitto_log_printf
    - dynsec_groups__add_client
    - dynsec_kicklist__add
    - mosquitto_control_command_reply
    - mosquitto_client_id
    - mosquitto_client_username
    - json_get_string
    - json_get_int
    - strlen
    - mosquitto_validate_utf8
    linkageType: ''
    returnType: int
    signature: int dynsec_groups__process_add_client(struct dynsec__data *data, struct
      mosquitto_control_cmd *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:622,1
    - Dst: dynsec_grouplist__remove
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:624,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:626,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - group
    argTypes:
    - struct dynsec__group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 618
    functionDepth: 2
    functionLinenumber: 618
    functionLinenumberEnd: 631
    functionName: dynsec__remove_all_clients_from_group
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/groups.c
    functionUses: 1
    functionsReached:
    - mosquitto_free
    - dynsec_grouplist__remove
    - HASH_DELETE
    - HASH_ITER
    linkageType: ''
    returnType: int
    signature: int dynsec__remove_all_clients_from_group(struct dynsec__group *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:638,1
    - Dst: dynsec_rolelist__group_remove
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - group
    argTypes:
    - struct dynsec__group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 643
    functionName: dynsec__remove_all_roles_from_group
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/groups.c
    functionUses: 1
    functionsReached:
    - dynsec_rolelist__group_remove
    - HASH_ITER
    linkageType: ''
    returnType: int
    signature: int dynsec__remove_all_roles_from_group(struct dynsec__group *group)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dynsec_clients__find
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:651,1
    - Dst: dynsec_groups__find
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:656,1
    - Dst: dynsec_clientlist__remove
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:661,1
    - Dst: dynsec_grouplist__remove
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:662,1
    - Dst: dynsec__config_batch_save
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:665,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - data
    - username
    - groupname
    - update_config
    argTypes:
    - struct dynsec__data*
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 646
    functionDepth: 2
    functionLinenumber: 646
    functionLinenumberEnd: 668
    functionName: dynsec_groups__remove_client
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/groups.c
    functionUses: 0
    functionsReached:
    - dynsec_clientlist__remove
    - dynsec__config_batch_save
    - dynsec_clients__find
    - dynsec_grouplist__remove
    - dynsec_groups__find
    linkageType: ''
    returnType: int
    signature: int dynsec_groups__remove_client(struct dynsec__data *data, const char
      *username, const char *groupname, bool update_config)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:677,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:678,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:681,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:681,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:682,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:686,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:687,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:690,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:690,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:691,1
    - Dst: dynsec_groups__remove_client
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:695,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:697,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:698,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:699,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:702,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:704,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:706,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:708,1
    - Dst: dynsec_kicklist__add
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:712,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 671
    functionDepth: 5
    functionLinenumber: 671
    functionLinenumberEnd: 715
    functionName: dynsec_groups__process_remove_client
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/groups.c
    functionUses: 0
    functionsReached:
    - mosquitto_log_printf
    - dynsec_kicklist__add
    - mosquitto_control_command_reply
    - mosquitto_client_id
    - mosquitto_client_username
    - json_get_string
    - strlen
    - mosquitto_validate_utf8
    - dynsec_groups__remove_client
    linkageType: ''
    returnType: int
    signature: int dynsec_groups__process_remove_client(struct dynsec__data *data,
      struct mosquitto_control_cmd *cmd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:723,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:728,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:729,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:730,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:731,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:734,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:738,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:739,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:741,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:744,1
    - Dst: cJSON_CreateStringReference
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:746,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:748,1
    - Dst: cJSON_AddItemToObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:751,1
    - Dst: dynsec_rolelist__all_to_json
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:754,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:756,1
    - Dst: cJSON_AddItemToObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:759,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - group
    argTypes:
    - struct dynsec__group*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 718
    functionDepth: 4
    functionLinenumber: 718
    functionLinenumberEnd: 762
    functionName: add_group_to_json
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/groups.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_CreateStringReference
    - cJSON_AddArrayToObject
    - cJSON_AddItemToArray
    - dynsec_rolelist__all_to_json
    - HASH_ITER
    - cJSON_AddItemToObject
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: cJSON
    signature: cJSON *add_group_to_json(struct dynsec__group *group)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: json_get_bool
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:773,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:774,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:775,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:777,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:779,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:783,1
    - Dst: cJSON_AddObjectToObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:784,1
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:785,1
    - Dst: HASH_CNT
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:785,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:786,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:787,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:790,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:791,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:796,1
    - Dst: add_group_to_json
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:799,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:801,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:802,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:805,1
    - Dst: cJSON_CreateString
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:808,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:810,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:812,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:813,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:828,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:830,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:831,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:832,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 765
    functionDepth: 5
    functionLinenumber: 765
    functionLinenumberEnd: 836
    functionName: dynsec_groups__process_list
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/groups.c
    functionUses: 0
    functionsReached:
    - cJSON_AddIntToObject
    - HASH_CNT
    - cJSON_Delete
    - mosquitto_log_printf
    - mosquitto_control_command_reply
    - mosquitto_client_id
    - cJSON_AddArrayToObject
    - mosquitto_client_username
    - json_get_int
    - cJSON_AddItemToArray
    - cJSON_CreateString
    - HASH_ITER
    - add_group_to_json
    - cJSON_AddObjectToObject
    - json_get_bool
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_groups__process_list(struct dynsec__data *data, struct mosquitto_control_cmd
      *cmd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:846,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:847,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:850,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:850,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:851,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:855,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:857,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:861,1
    - Dst: cJSON_AddObjectToObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:862,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:863,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:866,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:867,1
    - Dst: dynsec_groups__find
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:871,1
    - Dst: add_group_to_json
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:873,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:875,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:876,1
    - Dst: cJSON_AddItemToObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:879,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:881,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:882,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:886,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:888,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:889,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:890,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 839
    functionDepth: 5
    functionLinenumber: 839
    functionLinenumberEnd: 894
    functionName: dynsec_groups__process_get
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/groups.c
    functionUses: 0
    functionsReached:
    - mosquitto_log_printf
    - cJSON_Delete
    - dynsec_groups__find
    - mosquitto_control_command_reply
    - mosquitto_client_id
    - mosquitto_client_username
    - json_get_string
    - cJSON_AddItemToArray
    - strlen
    - mosquitto_validate_utf8
    - add_group_to_json
    - cJSON_AddObjectToObject
    - cJSON_AddItemToObject
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_groups__process_get(struct dynsec__data *data, struct mosquitto_control_cmd
      *cmd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:904,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:905,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:908,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:908,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:909,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:913,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:914,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:917,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:917,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:918,1
    - Dst: dynsec_groups__find
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:922,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:924,1
    - Dst: dynsec_roles__find
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:928,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:930,1
    - Dst: dynsec_rolelist__group_remove
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:934,1
    - Dst: dynsec__config_batch_save
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:935,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:936,1
    - Dst: group__kick_all
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:939,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:941,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:942,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:943,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 897
    functionDepth: 5
    functionLinenumber: 897
    functionLinenumberEnd: 947
    functionName: dynsec_groups__process_remove_role
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/groups.c
    functionUses: 0
    functionsReached:
    - group__kick_all
    - mosquitto_log_printf
    - mosquitto_control_command_reply
    - mosquitto_client_id
    - mosquitto_client_username
    - json_get_string
    - strlen
    - dynsec__config_batch_save
    - dynsec_rolelist__group_remove
    - mosquitto_validate_utf8
    - dynsec_roles__find
    - dynsec_groups__find
    linkageType: ''
    returnType: int
    signature: int dynsec_groups__process_remove_role(struct dynsec__data *data, struct
      mosquitto_control_cmd *cmd)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:964,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:965,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:968,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:968,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:969,1
    - Dst: dynsec_groups__find
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:973,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:975,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:979,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:981,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:983,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:989,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:991,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:993,1
    - Dst: dynsec_rolelist__load_from_json
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:999,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1007,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1012,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1014,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1020,1
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1021,1
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1024,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1026,1
    - Dst: dynsec_clients__find
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1027,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1029,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1034,1
    - Dst: group__kick_all
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1042,1
    - Dst: dynsec__remove_all_clients_from_group
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1043,1
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1047,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1049,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1050,1
    - Dst: dynsec_groups__add_client
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1057,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1065,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1070,1
    - Dst: dynsec_rolelist__cleanup
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1075,1
    - Dst: dynsec__config_batch_save
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1080,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1082,1
    - Dst: group__kick_all
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1085,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1087,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1088,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1089,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1094,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1095,1
    - Dst: dynsec_rolelist__cleanup
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1096,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1098,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1099,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1100,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 119
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 950
    functionDepth: 5
    functionLinenumber: 950
    functionLinenumberEnd: 1104
    functionName: dynsec_groups__process_modify
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/groups.c
    functionUses: 0
    functionsReached:
    - mosquitto_control_command_reply
    - json_get_int
    - mosquitto_validate_utf8
    - cJSON_IsObject
    - dynsec_rolelist__cleanup
    - group__kick_all
    - mosquitto_client_id
    - mosquitto_client_username
    - json_get_string
    - mosquitto_free
    - mosquitto_strdup
    - mosquitto_log_printf
    - cJSON_IsArray
    - cJSON_GetObjectItem
    - strlen
    - dynsec_rolelist__load_from_json
    - dynsec_groups__find
    - dynsec_groups__add_client
    - dynsec__config_batch_save
    - dynsec_clients__find
    - dynsec__remove_all_clients_from_group
    linkageType: ''
    returnType: int
    signature: int dynsec_groups__process_modify(struct dynsec__data *data, struct
      mosquitto_control_cmd *cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1024,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1026,1
    - Dst: dynsec_clients__find
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1027,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1029,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1034,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1023
    functionDepth: 5
    functionLinenumber: 1023
    functionLinenumberEnd: 1039
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/groups.c
    functionUses: 1
    functionsReached:
    - mosquitto_control_command_reply
    - dynsec_clients__find
    - json_get_string
    - cJSON_IsObject
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(j_client, j_clients)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1047,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1049,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1050,1
    - Dst: dynsec_groups__add_client
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1057,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1046
    functionDepth: 3
    functionLinenumber: 1046
    functionLinenumberEnd: 1060
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/groups.c
    functionUses: 1
    functionsReached:
    - json_get_int
    - json_get_string
    - dynsec_groups__add_client
    - cJSON_IsObject
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(j_client, j_clients)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1113,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1114,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1117,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1117,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1118,1
    - Dst: dynsec_groups__find
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1122,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1124,1
    - Dst: dynsec__config_batch_save
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1130,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1131,1
    - Dst: dynsec_kicklist__add
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1134,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1136,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1137,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1107
    functionDepth: 5
    functionLinenumber: 1107
    functionLinenumberEnd: 1142
    functionName: dynsec_groups__process_set_anonymous_group
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/groups.c
    functionUses: 0
    functionsReached:
    - mosquitto_log_printf
    - dynsec_kicklist__add
    - mosquitto_control_command_reply
    - mosquitto_client_id
    - mosquitto_client_username
    - json_get_string
    - strlen
    - dynsec__config_batch_save
    - mosquitto_validate_utf8
    - dynsec_groups__find
    linkageType: ''
    returnType: int
    signature: int dynsec_groups__process_set_anonymous_group(struct dynsec__data
      *data, struct mosquitto_control_cmd *cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1151,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1153,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1163,1
    - Dst: cJSON_AddObjectToObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1164,1
    - Dst: cJSON_AddObjectToObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1165,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1166,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1167,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1170,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1171,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1175,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1177,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1178,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/groups.c:1179,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1145
    functionDepth: 5
    functionLinenumber: 1145
    functionLinenumberEnd: 1183
    functionName: dynsec_groups__process_get_anonymous_group
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/groups.c
    functionUses: 0
    functionsReached:
    - mosquitto_log_printf
    - cJSON_Delete
    - mosquitto_control_command_reply
    - mosquitto_client_id
    - mosquitto_client_username
    - cJSON_AddItemToArray
    - cJSON_AddObjectToObject
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_groups__process_get_anonymous_group(struct dynsec__data
      *data, struct mosquitto_control_cmd *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/details.c:34,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/details.c:36,1
    - Dst: cJSON_AddObjectToObject
      Src: /src/mosquitto/plugins/dynamic-security/details.c:37,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/details.c:38,1
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/plugins/dynamic-security/details.c:39,1
    - Dst: HASH_CNT
      Src: /src/mosquitto/plugins/dynamic-security/details.c:39,1
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/plugins/dynamic-security/details.c:40,1
    - Dst: HASH_CNT
      Src: /src/mosquitto/plugins/dynamic-security/details.c:40,1
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/plugins/dynamic-security/details.c:41,1
    - Dst: HASH_CNT
      Src: /src/mosquitto/plugins/dynamic-security/details.c:41,1
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/plugins/dynamic-security/details.c:42,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/details.c:45,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/details.c:46,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/details.c:49,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/details.c:51,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/details.c:52,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/details.c:53,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 57
    functionName: dynsec_details__process_get
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/details.c
    functionUses: 0
    functionsReached:
    - cJSON_AddStringToObject
    - cJSON_AddIntToObject
    - mosquitto_log_printf
    - cJSON_Delete
    - mosquitto_control_command_reply
    - mosquitto_client_id
    - mosquitto_client_username
    - cJSON_AddItemToArray
    - cJSON_AddObjectToObject
    - cJSON_CreateObject
    - HASH_CNT
    linkageType: ''
    returnType: int
    signature: int dynsec_details__process_get(struct dynsec__data *data, struct mosquitto_control_cmd
      *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/plugins/dynamic-security/clientlist.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: dynsec_clientlist__cmp
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clientlist.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int dynsec_clientlist__cmp(void *a, void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynsec_kicklist__add
      Src: /src/mosquitto/plugins/dynamic-security/clientlist.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - base_clientlist
    argTypes:
    - struct dynsec__data*
    - struct dynsec__clientlist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: dynsec_clientlist__kick_all
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clientlist.c
    functionUses: 3
    functionsReached:
    - dynsec_kicklist__add
    linkageType: ''
    returnType: void
    signature: void dynsec_clientlist__kick_all(struct dynsec__data *data, struct
      dynsec__clientlist *base_clientlist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynsec_kicklist__add
      Src: /src/mosquitto/plugins/dynamic-security/clientlist.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: HASH_ITER
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clientlist.c
    functionUses: 50
    functionsReached:
    - dynsec_kicklist__add
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, base_clientlist, clientlist, clientlist_tmp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateArray
      Src: /src/mosquitto/plugins/dynamic-security/clientlist.c:78,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/clientlist.c:84,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/clientlist.c:86,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/clientlist.c:89,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/clientlist.c:91,1
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/plugins/dynamic-security/clientlist.c:92,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/clientlist.c:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - base_clientlist
    argTypes:
    - struct dynsec__clientlist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 73
    functionDepth: 5
    functionLinenumber: 73
    functionLinenumberEnd: 100
    functionName: dynsec_clientlist__all_to_json
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clientlist.c
    functionUses: 1
    functionsReached:
    - cJSON_AddIntToObject
    - cJSON_Delete
    - cJSON_AddItemToArray
    - cJSON_CreateArray
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: cJSON
    signature: cJSON *dynsec_clientlist__all_to_json(struct dynsec__clientlist *base_clientlist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/clientlist.c:84,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/clientlist.c:86,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/clientlist.c:89,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/clientlist.c:91,1
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/plugins/dynamic-security/clientlist.c:92,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/clientlist.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 83
    functionDepth: 5
    functionLinenumber: 83
    functionLinenumberEnd: 98
    functionName: HASH_ITER
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clientlist.c
    functionUses: 50
    functionsReached:
    - cJSON_AddIntToObject
    - cJSON_Delete
    - cJSON_AddItemToArray
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, base_clientlist, clientlist, clientlist_tmp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/dynamic-security/clientlist.c:107,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/clientlist.c:107,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/plugins/dynamic-security/clientlist.c:113,1
    - Dst: HASH_ADD_KEYPTR_INORDER
      Src: /src/mosquitto/plugins/dynamic-security/clientlist.c:120,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/clientlist.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - base_clientlist
    - client
    - priority
    argTypes:
    - struct dynsec__clientlist**
    - struct dynsec__client*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 123
    functionName: dynsec_clientlist__add
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clientlist.c
    functionUses: 1
    functionsReached:
    - strlen
    - HASH_ADD_KEYPTR_INORDER
    - mosquitto_malloc
    - HASH_FIND
    linkageType: ''
    returnType: int
    signature: int dynsec_clientlist__add(struct dynsec__clientlist **base_clientlist,
      struct dynsec__client *client, int priority)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/dynamic-security/clientlist.c:130,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/plugins/dynamic-security/clientlist.c:131,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/clientlist.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - base_clientlist
    argTypes:
    - struct dynsec__clientlist**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: dynsec_clientlist__cleanup
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clientlist.c
    functionUses: 1
    functionsReached:
    - mosquitto_free
    - HASH_DELETE
    - HASH_ITER
    linkageType: ''
    returnType: void
    signature: void dynsec_clientlist__cleanup(struct dynsec__clientlist **base_clientlist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/dynamic-security/clientlist.c:141,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/clientlist.c:141,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/plugins/dynamic-security/clientlist.c:143,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/clientlist.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - base_clientlist
    - client
    argTypes:
    - struct dynsec__clientlist**
    - struct dynsec__client*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: dynsec_clientlist__remove
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clientlist.c
    functionUses: 2
    functionsReached:
    - strlen
    - mosquitto_free
    - HASH_FIND
    - HASH_DELETE
    linkageType: ''
    returnType: void
    signature: void dynsec_clientlist__remove(struct dynsec__clientlist **base_clientlist,
      struct dynsec__client *client)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:39,1
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:40,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:41,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:45,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:46,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:49,1
    - Dst: json_get_bool
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:50,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:52,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:54,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:56,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:58,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:61,1
    - Dst: dynsec__config_batch_save
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:66,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:67,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 69
    functionName: dynsec__process_set_default_acl_access
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/default_acl.c
    functionUses: 0
    functionsReached:
    - mosquitto_log_printf
    - cJSON_IsArray
    - mosquitto_control_command_reply
    - mosquitto_client_id
    - strcasecmp
    - cJSON_GetObjectItem
    - mosquitto_client_username
    - json_get_string
    - dynsec__config_batch_save
    - json_get_bool
    linkageType: ''
    returnType: int
    signature: int dynsec__process_set_default_acl_access(struct dynsec__data *data,
      struct mosquitto_control_cmd *cmd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:49,1
    - Dst: json_get_bool
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:50,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:52,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:54,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:56,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:58,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:61,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/default_acl.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    - json_get_bool
    - mosquitto_log_printf
    - json_get_string
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(j_action, j_actions)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:77,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:79,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:83,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:84,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:85,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:88,1
    - Dst: cJSON_AddObjectToObject
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:89,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:95,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:101,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:105,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:106,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:107,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:114,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:118,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:119,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:120,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:127,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:131,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:132,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:133,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:140,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:144,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:145,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:146,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:152,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:155,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:164,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/default_acl.c:165,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 72
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 72
    functionDepth: 5
    functionLinenumber: 72
    functionLinenumberEnd: 167
    functionName: dynsec__process_get_default_acl_access
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/default_acl.c
    functionUses: 0
    functionsReached:
    - mosquitto_log_printf
    - cJSON_Delete
    - cJSON_AddBoolToObject
    - mosquitto_control_command_reply
    - mosquitto_client_id
    - cJSON_AddArrayToObject
    - mosquitto_client_username
    - cJSON_AddItemToArray
    - cJSON_AddObjectToObject
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec__process_get_default_acl_access(struct dynsec__data *data,
      struct mosquitto_control_cmd *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/dynamic-security/tick.c:26,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/dynamic-security/tick.c:27,1
    - Dst: dynsec_kicklist__kick
      Src: /src/mosquitto/plugins/dynamic-security/tick.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 5
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: dynsec__tick_callback
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/tick.c
    functionUses: 0
    functionsReached:
    - dynsec_kicklist__kick
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int dynsec__tick_callback(int event, void *event_data, void *userdata)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:40,1
    - Dst: dynsec__process_set_default_acl_access
      Src: /src/mosquitto/plugins/dynamic-security/control.c:41,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:42,1
    - Dst: dynsec__process_get_default_acl_access
      Src: /src/mosquitto/plugins/dynamic-security/control.c:43,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:44,1
    - Dst: dynsec_details__process_get
      Src: /src/mosquitto/plugins/dynamic-security/control.c:45,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:48,1
    - Dst: dynsec_clients__process_create
      Src: /src/mosquitto/plugins/dynamic-security/control.c:49,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:50,1
    - Dst: dynsec_clients__process_delete
      Src: /src/mosquitto/plugins/dynamic-security/control.c:51,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:52,1
    - Dst: dynsec_clients__process_get
      Src: /src/mosquitto/plugins/dynamic-security/control.c:53,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:54,1
    - Dst: dynsec_clients__process_list
      Src: /src/mosquitto/plugins/dynamic-security/control.c:55,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:56,1
    - Dst: dynsec_clients__process_modify
      Src: /src/mosquitto/plugins/dynamic-security/control.c:57,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:58,1
    - Dst: dynsec_clients__process_set_password
      Src: /src/mosquitto/plugins/dynamic-security/control.c:59,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:60,1
    - Dst: dynsec_clients__process_set_id
      Src: /src/mosquitto/plugins/dynamic-security/control.c:61,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:62,1
    - Dst: dynsec_clients__process_add_role
      Src: /src/mosquitto/plugins/dynamic-security/control.c:63,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:64,1
    - Dst: dynsec_clients__process_remove_role
      Src: /src/mosquitto/plugins/dynamic-security/control.c:65,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:66,1
    - Dst: dynsec_clients__process_enable
      Src: /src/mosquitto/plugins/dynamic-security/control.c:67,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:68,1
    - Dst: dynsec_clients__process_disable
      Src: /src/mosquitto/plugins/dynamic-security/control.c:69,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:72,1
    - Dst: dynsec_groups__process_add_client
      Src: /src/mosquitto/plugins/dynamic-security/control.c:73,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:74,1
    - Dst: dynsec_groups__process_create
      Src: /src/mosquitto/plugins/dynamic-security/control.c:75,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:76,1
    - Dst: dynsec_groups__process_delete
      Src: /src/mosquitto/plugins/dynamic-security/control.c:77,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:78,1
    - Dst: dynsec_groups__process_get
      Src: /src/mosquitto/plugins/dynamic-security/control.c:79,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:80,1
    - Dst: dynsec_groups__process_list
      Src: /src/mosquitto/plugins/dynamic-security/control.c:81,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:82,1
    - Dst: dynsec_groups__process_modify
      Src: /src/mosquitto/plugins/dynamic-security/control.c:83,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:84,1
    - Dst: dynsec_groups__process_remove_client
      Src: /src/mosquitto/plugins/dynamic-security/control.c:85,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:86,1
    - Dst: dynsec_groups__process_add_role
      Src: /src/mosquitto/plugins/dynamic-security/control.c:87,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:88,1
    - Dst: dynsec_groups__process_remove_role
      Src: /src/mosquitto/plugins/dynamic-security/control.c:89,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:90,1
    - Dst: dynsec_groups__process_set_anonymous_group
      Src: /src/mosquitto/plugins/dynamic-security/control.c:91,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:92,1
    - Dst: dynsec_groups__process_get_anonymous_group
      Src: /src/mosquitto/plugins/dynamic-security/control.c:93,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:96,1
    - Dst: dynsec_roles__process_create
      Src: /src/mosquitto/plugins/dynamic-security/control.c:97,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:98,1
    - Dst: dynsec_roles__process_get
      Src: /src/mosquitto/plugins/dynamic-security/control.c:99,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:100,1
    - Dst: dynsec_roles__process_list
      Src: /src/mosquitto/plugins/dynamic-security/control.c:101,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:102,1
    - Dst: dynsec_roles__process_modify
      Src: /src/mosquitto/plugins/dynamic-security/control.c:103,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:104,1
    - Dst: dynsec_roles__process_delete
      Src: /src/mosquitto/plugins/dynamic-security/control.c:105,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:106,1
    - Dst: dynsec_roles__process_add_acl
      Src: /src/mosquitto/plugins/dynamic-security/control.c:107,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/control.c:108,1
    - Dst: dynsec_roles__process_remove_acl
      Src: /src/mosquitto/plugins/dynamic-security/control.c:109,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/control.c:113,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 101
    argCount: 2
    argNames:
    - cmd
    - userdata
    argTypes:
    - struct mosquitto_control_cmd*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 34
    functionDepth: 9
    functionLinenumber: 34
    functionLinenumberEnd: 118
    functionName: dynsec__handle_command
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/control.c
    functionUses: 0
    functionsReached:
    - dynsec_groups__process_get
    - dynsec_clients__process_list
    - mosquitto_control_command_reply
    - dynsec_groups__process_delete
    - dynsec_clients__process_set_password
    - dynsec_roles__process_delete
    - dynsec_clients__process_create
    - dynsec_clients__process_get
    - dynsec_groups__process_add_client
    - dynsec_groups__process_list
    - dynsec__process_set_default_acl_access
    - strcasecmp
    - dynsec_roles__process_get
    - dynsec_groups__process_get_anonymous_group
    - dynsec_groups__process_add_role
    - dynsec_groups__process_remove_client
    - dynsec__process_get_default_acl_access
    - dynsec_groups__process_modify
    - dynsec_roles__process_add_acl
    - dynsec_roles__process_list
    - dynsec_groups__process_create
    - dynsec_clients__process_remove_role
    - dynsec_clients__process_add_role
    - dynsec_groups__process_set_anonymous_group
    - dynsec_clients__process_modify
    - dynsec_clients__process_delete
    - dynsec_clients__process_set_id
    - dynsec_clients__process_disable
    - dynsec_details__process_get
    - dynsec_clients__process_enable
    - dynsec_groups__process_remove_role
    - dynsec_roles__process_modify
    - dynsec_roles__process_remove_acl
    - dynsec_roles__process_create
    linkageType: ''
    returnType: int
    signature: int dynsec__handle_command(struct mosquitto_control_cmd *cmd, void
      *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/dynamic-security/control.c:127,1
    - Dst: mosquitto_control_generic_callback
      Src: /src/mosquitto/plugins/dynamic-security/control.c:130,1
    - Dst: dynsec__config_save
      Src: /src/mosquitto/plugins/dynamic-security/control.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 121
    functionDepth: 7
    functionLinenumber: 121
    functionLinenumberEnd: 135
    functionName: dynsec_control_callback
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/control.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - mosquitto_control_generic_callback
    - dynsec__config_save
    linkageType: ''
    returnType: int
    signature: int dynsec_control_callback(int event, void *event_data, void *userdata)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:61,1
    - Dst: memset
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:63,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:66,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:67,1
    - Dst: strcasecmp
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:71,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:72,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:79,1
    - Dst: mosquitto_plugin_set_info
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:84,1
    - Dst: dynsec__config_load
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:86,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:88,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:90,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:91,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:94,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:100,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:102,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:105,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:111,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:113,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:116,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:122,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:124,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:132,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 86
    argCount: 4
    argNames:
    - identifier
    - user_data
    - options
    - option_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 135
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/plugin.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - mosquitto_callback_register
    - mosquitto_log_printf
    - dynsec__config_load
    - mosquitto_plugin_set_info
    - strcasecmp
    - mosquitto_free
    - memset
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *options, int option_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:140,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:141,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:142,1
    - Dst: dynsec_groups__cleanup
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:144,1
    - Dst: dynsec_clients__cleanup
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:145,1
    - Dst: dynsec_roles__cleanup
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:146,1
    - Dst: dynsec_kicklist__cleanup
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:147,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:149,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:152,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:155,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:156,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:157,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/plugins/dynamic-security/plugin.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - user_data
    - options
    - option_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 138
    functionDepth: 5
    functionLinenumber: 138
    functionLinenumberEnd: 161
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/plugin.c
    functionUses: 1
    functionsReached:
    - mosquitto_callback_unregister
    - dynsec_kicklist__cleanup
    - mosquitto_free
    - dynsec_roles__cleanup
    - dynsec_clients__cleanup
    - UNUSED
    - dynsec_groups__cleanup
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *options, int option_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: client_cmp
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int client_cmp(void *a, void *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:70,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - username
    argTypes:
    - struct dynsec__data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: dynsec_clients__find
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 5
    functionsReached:
    - strlen
    - HASH_FIND
    linkageType: ''
    returnType: struct dynsec__client
    signature: struct dynsec__client *dynsec_clients__find(struct dynsec__data *data,
      const char *username)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynsec_clients__find
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:83,1
    - Dst: HASH_DEL
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:85,1
    - Dst: dynsec_rolelist__cleanup
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:87,1
    - Dst: dynsec__remove_client_from_all_groups
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:88,1
    - Dst: mosquitto_pw_cleanup
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:89,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:90,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:91,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:92,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - data
    - client
    argTypes:
    - struct dynsec__data*
    - struct dynsec__client*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 94
    functionName: client__free_item
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 0
    functionsReached:
    - dynsec_rolelist__cleanup
    - dynsec__remove_client_from_all_groups
    - mosquitto_free
    - mosquitto_pw_cleanup
    - HASH_DEL
    - dynsec_clients__find
    linkageType: ''
    returnType: void
    signature: void client__free_item(struct dynsec__data *data, struct dynsec__client
      *client)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:101,1
    - Dst: client__free_item
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct dynsec__data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: dynsec_clients__cleanup
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 1
    functionsReached:
    - client__free_item
    - HASH_ITER
    linkageType: ''
    returnType: void
    signature: void dynsec_clients__cleanup(struct dynsec__data *data)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:121,1
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:126,1
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:130,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:133,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:136,1
    - Dst: dynsec_clients__find
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:140,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:144,1
    - Dst: strncpy
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:148,1
    - Dst: json_get_bool
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:151,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:156,1
    - Dst: mosquitto_pw_new
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:157,1
    - Dst: mosquitto_pw_decode
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:160,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:167,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:168,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:169,1
    - Dst: mosquitto_pw_new
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:173,1
    - Dst: snprintf
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:176,1
    - Dst: mosquitto_pw_decode
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:177,1
    - Dst: mosquitto_pw_set_valid
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:179,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:185,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:186,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:188,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:195,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:196,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:198,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:199,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:206,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:207,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:209,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:210,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:211,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:217,1
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:218,1
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:220,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:222,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:223,1
    - Dst: dynsec_roles__find
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:230,1
    - Dst: dynsec_rolelist__client_add
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:231,1
    - Dst: HASH_ADD
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:237,1
    - Dst: HASH_SORT
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:240,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 91
    argCount: 2
    argNames:
    - data
    - tree
    argTypes:
    - struct dynsec__data*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 243
    functionName: dynsec_clients__config_load
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 0
    functionsReached:
    - json_get_int
    - cJSON_IsObject
    - dynsec_roles__find
    - mosquitto_pw_new
    - strncpy
    - dynsec_rolelist__client_add
    - json_get_string
    - mosquitto_pw_set_valid
    - mosquitto_free
    - mosquitto_strdup
    - HASH_SORT
    - cJSON_IsArray
    - mosquitto_calloc
    - HASH_ADD
    - mosquitto_pw_decode
    - cJSON_GetObjectItem
    - strlen
    - snprintf
    - dynsec_clients__find
    - json_get_bool
    linkageType: ''
    returnType: int
    signature: int dynsec_clients__config_load(struct dynsec__data *data, cJSON *tree)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:130,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:133,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:136,1
    - Dst: dynsec_clients__find
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:140,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:144,1
    - Dst: strncpy
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:148,1
    - Dst: json_get_bool
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:151,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:156,1
    - Dst: mosquitto_pw_new
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:157,1
    - Dst: mosquitto_pw_decode
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:160,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:167,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:168,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:169,1
    - Dst: mosquitto_pw_new
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:173,1
    - Dst: snprintf
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:176,1
    - Dst: mosquitto_pw_decode
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:177,1
    - Dst: mosquitto_pw_set_valid
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:179,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:185,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:186,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:188,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:195,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:196,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:198,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:199,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:206,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:207,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:209,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:210,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:211,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:217,1
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:218,1
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:220,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:222,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:223,1
    - Dst: dynsec_roles__find
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:230,1
    - Dst: dynsec_rolelist__client_add
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:231,1
    - Dst: HASH_ADD
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:237,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 239
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 1
    functionsReached:
    - json_get_int
    - cJSON_IsObject
    - dynsec_roles__find
    - mosquitto_pw_new
    - strncpy
    - dynsec_rolelist__client_add
    - json_get_string
    - mosquitto_pw_set_valid
    - mosquitto_free
    - mosquitto_strdup
    - cJSON_IsArray
    - mosquitto_calloc
    - HASH_ADD
    - mosquitto_pw_decode
    - cJSON_GetObjectItem
    - strlen
    - snprintf
    - dynsec_clients__find
    - json_get_bool
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(j_client, j_clients)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:220,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:222,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:223,1
    - Dst: dynsec_roles__find
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:230,1
    - Dst: dynsec_rolelist__client_add
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 234
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 1
    functionsReached:
    - dynsec_rolelist__client_add
    - json_get_int
    - json_get_string
    - cJSON_IsObject
    - dynsec_roles__find
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(j_role, j_roles)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:251,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:252,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:256,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:258,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:259,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:260,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:261,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:262,1
    - Dst: dynsec_rolelist__all_to_json
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:268,1
    - Dst: cJSON_AddItemToObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:272,1
    - Dst: mosquitto_pw_is_valid
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:274,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:275,1
    - Dst: mosquitto_pw_get_encoded
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:275,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 2
    argNames:
    - data
    - j_clients
    argTypes:
    - struct dynsec__data*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 246
    functionDepth: 4
    functionLinenumber: 246
    functionLinenumberEnd: 282
    functionName: dynsec__config_add_clients
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 0
    functionsReached:
    - mosquitto_pw_is_valid
    - mosquitto_pw_get_encoded
    - cJSON_AddItemToArray
    - dynsec_rolelist__all_to_json
    - HASH_ITER
    - cJSON_AddBoolToObject
    - cJSON_AddItemToObject
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec__config_add_clients(struct dynsec__data *data, cJSON *j_clients)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:289,1
    - Dst: dynsec__config_add_clients
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - data
    - tree
    argTypes:
    - struct dynsec__data*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 285
    functionDepth: 5
    functionLinenumber: 285
    functionLinenumberEnd: 297
    functionName: dynsec_clients__config_save
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 0
    functionsReached:
    - dynsec__config_add_clients
    - cJSON_AddArrayToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_clients__config_save(struct dynsec__data *data, cJSON *tree)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:311,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:312,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:315,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:317,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:320,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:321,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:325,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:326,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:330,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:331,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:334,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:334,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:335,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:340,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:341,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:345,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:346,1
    - Dst: dynsec_clients__find
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:350,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:352,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:356,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:358,1
    - Dst: strncpy
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:361,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:364,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:366,1
    - Dst: client__free_item
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:367,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:372,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:374,1
    - Dst: client__free_item
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:375,1
    - Dst: mosquitto_pw_new
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:381,1
    - Dst: mosquitto_pw_hash_encoded
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:382,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:385,1
    - Dst: client__free_item
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:386,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:390,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:391,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:393,1
    - Dst: client__free_item
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:394,1
    - Dst: dynsec_rolelist__load_from_json
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:399,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:402,1
    - Dst: client__free_item
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:403,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:407,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:409,1
    - Dst: client__free_item
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:411,1
    - Dst: HASH_ADD_INORDER
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:416,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:418,1
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:419,1
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:421,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:423,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:424,1
    - Dst: dynsec_groups__add_client
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:428,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:430,1
    - Dst: client__free_item
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:431,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:434,1
    - Dst: client__free_item
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:435,1
    - Dst: dynsec__config_batch_save
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:443,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:445,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:447,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:448,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:449,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 122
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 300
    functionDepth: 5
    functionLinenumber: 300
    functionLinenumberEnd: 453
    functionName: dynsec_clients__process_create
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 1
    functionsReached:
    - mosquitto_pw_hash_encoded
    - mosquitto_control_command_reply
    - json_get_int
    - mosquitto_validate_utf8
    - cJSON_IsObject
    - mosquitto_pw_new
    - client__free_item
    - mosquitto_client_id
    - mosquitto_client_username
    - json_get_string
    - mosquitto_strdup
    - mosquitto_log_printf
    - cJSON_IsArray
    - mosquitto_calloc
    - cJSON_GetObjectItem
    - HASH_ADD_INORDER
    - strlen
    - dynsec_rolelist__load_from_json
    - dynsec_groups__add_client
    - dynsec__config_batch_save
    - dynsec_clients__find
    - strncpy
    linkageType: ''
    returnType: int
    signature: int dynsec_clients__process_create(struct dynsec__data *data, struct
      mosquitto_control_cmd *cmd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:421,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:423,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:424,1
    - Dst: dynsec_groups__add_client
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:428,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:430,1
    - Dst: client__free_item
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:431,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:434,1
    - Dst: client__free_item
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 420
    functionDepth: 5
    functionLinenumber: 420
    functionLinenumberEnd: 440
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 1
    functionsReached:
    - client__free_item
    - dynsec_groups__add_client
    - mosquitto_control_command_reply
    - json_get_int
    - json_get_string
    - cJSON_IsObject
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(j_group, j_groups)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:462,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:463,1
    - Dst: dynsec_clients__find
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:467,1
    - Dst: dynsec__remove_client_from_all_groups
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:469,1
    - Dst: client__remove_all_roles
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:470,1
    - Dst: client__free_item
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:471,1
    - Dst: dynsec__config_batch_save
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:472,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:473,1
    - Dst: dynsec_kicklist__add
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:476,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:478,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:479,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:480,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:485,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 456
    functionDepth: 5
    functionLinenumber: 456
    functionLinenumberEnd: 488
    functionName: dynsec_clients__process_delete
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 1
    functionsReached:
    - mosquitto_log_printf
    - client__free_item
    - dynsec_kicklist__add
    - mosquitto_control_command_reply
    - mosquitto_client_id
    - dynsec__remove_client_from_all_groups
    - json_get_string
    - mosquitto_client_username
    - dynsec__config_batch_save
    - dynsec_clients__find
    - client__remove_all_roles
    linkageType: ''
    returnType: int
    signature: int dynsec_clients__process_delete(struct dynsec__data *data, struct
      mosquitto_control_cmd *cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:497,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:498,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:501,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:501,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:502,1
    - Dst: dynsec_clients__find
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:506,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:508,1
    - Dst: dynsec_kicklist__add
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:514,1
    - Dst: dynsec__config_batch_save
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:516,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:517,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:519,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:520,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 491
    functionDepth: 5
    functionLinenumber: 491
    functionLinenumberEnd: 525
    functionName: dynsec_clients__process_disable
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 1
    functionsReached:
    - mosquitto_log_printf
    - dynsec_kicklist__add
    - mosquitto_control_command_reply
    - mosquitto_client_id
    - mosquitto_client_username
    - json_get_string
    - strlen
    - dynsec__config_batch_save
    - mosquitto_validate_utf8
    - dynsec_clients__find
    linkageType: ''
    returnType: int
    signature: int dynsec_clients__process_disable(struct dynsec__data *data, struct
      mosquitto_control_cmd *cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:534,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:535,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:538,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:538,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:539,1
    - Dst: dynsec_clients__find
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:543,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:545,1
    - Dst: dynsec__config_batch_save
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:551,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:552,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:554,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:555,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 528
    functionDepth: 5
    functionLinenumber: 528
    functionLinenumberEnd: 560
    functionName: dynsec_clients__process_enable
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 1
    functionsReached:
    - mosquitto_log_printf
    - mosquitto_control_command_reply
    - mosquitto_client_id
    - mosquitto_client_username
    - json_get_string
    - strlen
    - dynsec__config_batch_save
    - mosquitto_validate_utf8
    - dynsec_clients__find
    linkageType: ''
    returnType: int
    signature: int dynsec_clients__process_enable(struct dynsec__data *data, struct
      mosquitto_control_cmd *cmd)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:571,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:572,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:575,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:575,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:576,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:580,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:581,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:585,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:586,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:587,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:591,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:593,1
    - Dst: dynsec_clients__find
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:601,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:603,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:604,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:608,1
    - Dst: dynsec__config_batch_save
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:611,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:612,1
    - Dst: dynsec_kicklist__add
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:615,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:617,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:618,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:619,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 563
    functionDepth: 5
    functionLinenumber: 563
    functionLinenumberEnd: 623
    functionName: dynsec_clients__process_set_id
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 1
    functionsReached:
    - mosquitto_strdup
    - mosquitto_log_printf
    - dynsec_kicklist__add
    - mosquitto_control_command_reply
    - mosquitto_client_id
    - mosquitto_client_username
    - json_get_string
    - strlen
    - mosquitto_free
    - dynsec__config_batch_save
    - mosquitto_validate_utf8
    - dynsec_clients__find
    linkageType: ''
    returnType: int
    signature: int dynsec_clients__process_set_id(struct dynsec__data *data, struct
      mosquitto_control_cmd *cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_pw_new
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:629,1
    - Dst: mosquitto_pw_hash_encoded
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - client
    - password
    argTypes:
    - struct dynsec__client*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 634
    functionName: client__set_password
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 1
    functionsReached:
    - mosquitto_pw_new
    - mosquitto_pw_hash_encoded
    linkageType: ''
    returnType: int
    signature: int client__set_password(struct dynsec__client *client, const char
      *password)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:644,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:645,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:648,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:648,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:649,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:653,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:654,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:657,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:658,1
    - Dst: dynsec_clients__find
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:662,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:664,1
    - Dst: client__set_password
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:667,1
    - Dst: dynsec__config_batch_save
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:669,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:670,1
    - Dst: dynsec_kicklist__add
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:673,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:675,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:676,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:677,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:680,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 637
    functionDepth: 5
    functionLinenumber: 637
    functionLinenumberEnd: 683
    functionName: dynsec_clients__process_set_password
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 1
    functionsReached:
    - mosquitto_log_printf
    - dynsec_kicklist__add
    - mosquitto_control_command_reply
    - mosquitto_client_id
    - mosquitto_client_username
    - json_get_string
    - client__set_password
    - strlen
    - dynsec__config_batch_save
    - mosquitto_validate_utf8
    - dynsec_clients__find
    linkageType: ''
    returnType: int
    signature: int dynsec_clients__process_set_password(struct dynsec__data *data,
      struct mosquitto_control_cmd *cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynsec_rolelist__client_add
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - client
    - base_rolelist
    argTypes:
    - struct dynsec__client*
    - struct dynsec__rolelist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 693
    functionName: client__add_new_roles
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 0
    functionsReached:
    - dynsec_rolelist__client_add
    linkageType: ''
    returnType: void
    signature: void client__add_new_roles(struct dynsec__client *client, struct dynsec__rolelist
      *base_rolelist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynsec_rolelist__client_add
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 692
    functionName: HASH_ITER
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 53
    functionsReached:
    - dynsec_rolelist__client_add
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, base_rolelist, rolelist, rolelist_tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:700,1
    - Dst: dynsec_rolelist__client_remove
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - client
    argTypes:
    - struct dynsec__client*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 703
    functionName: client__remove_all_roles
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 1
    functionsReached:
    - dynsec_rolelist__client_remove
    - HASH_ITER
    linkageType: ''
    returnType: void
    signature: void client__remove_all_roles(struct dynsec__client *client)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:722,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:723,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:726,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:726,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:727,1
    - Dst: dynsec_clients__find
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:731,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:733,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:737,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:739,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:740,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:742,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:751,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:752,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:757,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:759,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:761,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:767,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:769,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:771,1
    - Dst: dynsec_rolelist__load_from_json
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:777,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:783,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:788,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:790,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:796,1
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:797,1
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:800,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:802,1
    - Dst: dynsec_groups__find
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:803,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:805,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:810,1
    - Dst: dynsec__remove_client_from_all_groups
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:817,1
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:819,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:821,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:822,1
    - Dst: dynsec_groups__add_client
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:826,1
    - Dst: client__set_password
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:834,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:836,1
    - Dst: mosquitto_kick_client_by_username
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:837,1
    - Dst: dynsec__config_batch_save
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:843,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:850,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:855,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:860,1
    - Dst: client__remove_all_roles
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:865,1
    - Dst: client__add_new_roles
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:866,1
    - Dst: dynsec_rolelist__cleanup
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:867,1
    - Dst: dynsec__config_batch_save
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:870,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:871,1
    - Dst: dynsec_kicklist__add
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:874,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:876,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:877,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:878,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:882,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:883,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:884,1
    - Dst: dynsec_rolelist__cleanup
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:885,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 147
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 706
    functionDepth: 5
    functionLinenumber: 706
    functionLinenumberEnd: 887
    functionName: dynsec_clients__process_modify
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 1
    functionsReached:
    - client__add_new_roles
    - mosquitto_control_command_reply
    - json_get_int
    - mosquitto_validate_utf8
    - cJSON_IsObject
    - dynsec_rolelist__cleanup
    - mosquitto_client_id
    - mosquitto_client_username
    - json_get_string
    - client__set_password
    - mosquitto_free
    - mosquitto_strdup
    - mosquitto_log_printf
    - cJSON_IsArray
    - cJSON_GetObjectItem
    - dynsec__remove_client_from_all_groups
    - strlen
    - mosquitto_kick_client_by_username
    - dynsec_rolelist__load_from_json
    - dynsec_groups__add_client
    - dynsec_kicklist__add
    - dynsec__config_batch_save
    - dynsec_clients__find
    - client__remove_all_roles
    - dynsec_groups__find
    linkageType: ''
    returnType: int
    signature: int dynsec_clients__process_modify(struct dynsec__data *data, struct
      mosquitto_control_cmd *cmd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:800,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:802,1
    - Dst: dynsec_groups__find
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:803,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:805,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:810,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 799
    functionDepth: 5
    functionLinenumber: 799
    functionLinenumberEnd: 815
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 1
    functionsReached:
    - mosquitto_control_command_reply
    - json_get_string
    - cJSON_IsObject
    - dynsec_groups__find
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(j_group, j_groups)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:819,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:821,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:822,1
    - Dst: dynsec_groups__add_client
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:826,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 818
    functionDepth: 3
    functionLinenumber: 818
    functionLinenumberEnd: 829
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 1
    functionsReached:
    - json_get_int
    - json_get_string
    - dynsec_groups__add_client
    - cJSON_IsObject
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(j_group, j_groups)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynsec_clients__find
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:895,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:897,1
    - Dst: dynsec_groups__remove_client
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - data
    - username
    argTypes:
    - struct dynsec__data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 890
    functionDepth: 3
    functionLinenumber: 890
    functionLinenumberEnd: 903
    functionName: dynsec__remove_client_from_all_groups
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 3
    functionsReached:
    - dynsec_groups__remove_client
    - dynsec_clients__find
    - HASH_ITER
    linkageType: ''
    returnType: int
    signature: int dynsec__remove_client_from_all_groups(struct dynsec__data *data,
      const char *username)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:909,1
    - Dst: strcmp
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:912,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:914,1
    - Dst: mosquitto_client_address
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:919,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:919,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:920,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:923,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - client
    - context_ptr
    argTypes:
    - struct mosquitto*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 906
    functionDepth: 4
    functionLinenumber: 906
    functionLinenumberEnd: 926
    functionName: dynsec__add_client_address
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - mosquitto_client_username
    - mosquitto_client_address
    - cJSON_AddItemToArray
    - strcmp
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec__add_client_address(const struct mosquitto *client, void
      *context_ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateArray
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:931,1
    - Dst: mosquitto_client
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:938,1
    - Dst: dynsec__add_client_address
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:939,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:940,1
    - Dst: mosquitto_apply_on_all_clients
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:944,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:945,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - username
    - clientid
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 929
    functionDepth: 5
    functionLinenumber: 929
    functionLinenumberEnd: 950
    functionName: dynsec_connections__all_to_json
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - mosquitto_client
    - dynsec__add_client_address
    - cJSON_CreateArray
    - mosquitto_apply_on_all_clients
    linkageType: ''
    returnType: cJSON
    signature: cJSON *dynsec_connections__all_to_json(const char *username, const
      char *clientid)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:960,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:965,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:966,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:967,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:968,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:969,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:972,1
    - Dst: dynsec_rolelist__all_to_json
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:976,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:978,1
    - Dst: cJSON_AddItemToObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:981,1
    - Dst: dynsec_grouplist__all_to_json
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:983,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:985,1
    - Dst: cJSON_AddItemToObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:988,1
    - Dst: dynsec_connections__all_to_json
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:990,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:992,1
    - Dst: cJSON_AddItemToObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:995,1
    - Dst: cJSON_CreateString
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:997,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 2
    argNames:
    - client
    - verbose
    argTypes:
    - struct dynsec__client*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 953
    functionDepth: 6
    functionLinenumber: 953
    functionLinenumberEnd: 1003
    functionName: add_client_to_json
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 0
    functionsReached:
    - dynsec_connections__all_to_json
    - cJSON_Delete
    - dynsec_grouplist__all_to_json
    - dynsec_rolelist__all_to_json
    - cJSON_CreateString
    - cJSON_AddBoolToObject
    - cJSON_AddItemToObject
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: cJSON
    signature: cJSON *add_client_to_json(struct dynsec__client *client, bool verbose)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1013,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1014,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1017,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1017,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1018,1
    - Dst: dynsec_clients__find
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1022,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1024,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1028,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1030,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1034,1
    - Dst: cJSON_AddObjectToObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1035,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1036,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1039,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1040,1
    - Dst: add_client_to_json
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1044,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1046,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1047,1
    - Dst: cJSON_AddItemToObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1050,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1051,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1053,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1054,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1055,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1006
    functionDepth: 7
    functionLinenumber: 1006
    functionLinenumberEnd: 1059
    functionName: dynsec_clients__process_get
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 1
    functionsReached:
    - mosquitto_log_printf
    - cJSON_Delete
    - add_client_to_json
    - mosquitto_control_command_reply
    - mosquitto_client_id
    - mosquitto_client_username
    - json_get_string
    - cJSON_AddItemToArray
    - strlen
    - mosquitto_validate_utf8
    - dynsec_clients__find
    - cJSON_AddObjectToObject
    - cJSON_AddItemToObject
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_clients__process_get(struct dynsec__data *data, struct mosquitto_control_cmd
      *cmd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: json_get_bool
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1070,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1071,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1072,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1074,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1076,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1080,1
    - Dst: cJSON_AddObjectToObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1081,1
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1082,1
    - Dst: HASH_CNT
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1082,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1083,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1084,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1087,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1088,1
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1093,1
    - Dst: add_client_to_json
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1095,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1097,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1098,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1101,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1112,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1114,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1115,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1116,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1062
    functionDepth: 7
    functionLinenumber: 1062
    functionLinenumberEnd: 1120
    functionName: dynsec_clients__process_list
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 1
    functionsReached:
    - cJSON_AddIntToObject
    - HASH_CNT
    - cJSON_Delete
    - mosquitto_log_printf
    - add_client_to_json
    - mosquitto_control_command_reply
    - mosquitto_client_id
    - cJSON_AddArrayToObject
    - mosquitto_client_username
    - json_get_int
    - cJSON_AddItemToArray
    - HASH_ITER
    - cJSON_AddObjectToObject
    - json_get_bool
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec_clients__process_list(struct dynsec__data *data, struct
      mosquitto_control_cmd *cmd)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1131,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1132,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1135,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1135,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1136,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1140,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1141,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1144,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1144,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1145,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1148,1
    - Dst: dynsec_clients__find
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1153,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1155,1
    - Dst: dynsec_roles__find
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1159,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1161,1
    - Dst: dynsec_rolelist__client_add
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1165,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1166,1
    - Dst: dynsec__config_batch_save
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1169,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1170,1
    - Dst: dynsec_kicklist__add
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1173,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1175,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1176,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1177,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1123
    functionDepth: 5
    functionLinenumber: 1123
    functionLinenumberEnd: 1181
    functionName: dynsec_clients__process_add_role
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 1
    functionsReached:
    - mosquitto_log_printf
    - dynsec_kicklist__add
    - mosquitto_control_command_reply
    - mosquitto_client_id
    - dynsec_rolelist__client_add
    - json_get_string
    - json_get_int
    - mosquitto_client_username
    - strlen
    - dynsec__config_batch_save
    - mosquitto_validate_utf8
    - dynsec_clients__find
    - dynsec_roles__find
    linkageType: ''
    returnType: int
    signature: int dynsec_clients__process_add_role(struct dynsec__data *data, struct
      mosquitto_control_cmd *cmd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1191,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1192,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1195,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1195,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1196,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1200,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1201,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1204,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1204,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1205,1
    - Dst: dynsec_clients__find
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1210,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1212,1
    - Dst: dynsec_roles__find
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1216,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1218,1
    - Dst: dynsec_rolelist__client_remove
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1222,1
    - Dst: dynsec__config_batch_save
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1223,1
    - Dst: mosquitto_control_command_reply
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1224,1
    - Dst: dynsec_kicklist__add
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1227,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1229,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1230,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/clients.c:1231,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - data
    - cmd
    argTypes:
    - struct dynsec__data*
    - struct mosquitto_control_cmd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1184
    functionDepth: 5
    functionLinenumber: 1184
    functionLinenumberEnd: 1235
    functionName: dynsec_clients__process_remove_role
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/clients.c
    functionUses: 1
    functionsReached:
    - mosquitto_log_printf
    - dynsec_kicklist__add
    - mosquitto_control_command_reply
    - mosquitto_client_id
    - mosquitto_client_username
    - json_get_string
    - dynsec_rolelist__client_remove
    - strlen
    - dynsec__config_batch_save
    - mosquitto_validate_utf8
    - dynsec_clients__find
    - dynsec_roles__find
    linkageType: ''
    returnType: int
    signature: int dynsec_clients__process_remove_role(struct dynsec__data *data,
      struct mosquitto_control_cmd *cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_get_int64
      Src: /src/mosquitto/plugins/dynamic-security/config.c:36,1
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/plugins/dynamic-security/config.c:38,1
    - Dst: cJSON_IsObject
      Src: /src/mosquitto/plugins/dynamic-security/config.c:39,1
    - Dst: json_get_bool
      Src: /src/mosquitto/plugins/dynamic-security/config.c:40,1
    - Dst: json_get_bool
      Src: /src/mosquitto/plugins/dynamic-security/config.c:41,1
    - Dst: json_get_bool
      Src: /src/mosquitto/plugins/dynamic-security/config.c:42,1
    - Dst: json_get_bool
      Src: /src/mosquitto/plugins/dynamic-security/config.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - data
    - tree
    argTypes:
    - struct dynsec__data*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: dynsec__general_config_load
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/config.c
    functionUses: 0
    functionsReached:
    - json_get_int64
    - cJSON_GetObjectItem
    - cJSON_IsObject
    - json_get_bool
    linkageType: ''
    returnType: int
    signature: int dynsec__general_config_load(struct dynsec__data *data, cJSON *tree)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/plugins/dynamic-security/config.c:53,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/config.c:55,1
    - Dst: cJSON_AddItemToObject
      Src: /src/mosquitto/plugins/dynamic-security/config.c:59,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/plugins/dynamic-security/config.c:61,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/plugins/dynamic-security/config.c:62,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/plugins/dynamic-security/config.c:63,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/plugins/dynamic-security/config.c:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - data
    - tree
    argTypes:
    - struct dynsec__data*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 49
    functionDepth: 5
    functionLinenumber: 49
    functionLinenumberEnd: 71
    functionName: dynsec__general_config_save
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/config.c
    functionUses: 0
    functionsReached:
    - cJSON_AddIntToObject
    - cJSON_AddItemToObject
    - cJSON_AddBoolToObject
    - cJSON_CreateObject
    linkageType: ''
    returnType: int
    signature: int dynsec__general_config_save(struct dynsec__data *data, cJSON *tree)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/mosquitto/plugins/dynamic-security/config.c:78,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/config.c:80,1
    - Dst: dynsec__general_config_load
      Src: /src/mosquitto/plugins/dynamic-security/config.c:84,1
    - Dst: dynsec_roles__config_load
      Src: /src/mosquitto/plugins/dynamic-security/config.c:85,1
    - Dst: dynsec_clients__config_load
      Src: /src/mosquitto/plugins/dynamic-security/config.c:86,1
    - Dst: dynsec_groups__config_load
      Src: /src/mosquitto/plugins/dynamic-security/config.c:87,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/config.c:90,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/config.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - data
    - json_str
    argTypes:
    - struct dynsec__data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 74
    functionDepth: 4
    functionLinenumber: 74
    functionLinenumberEnd: 96
    functionName: dynsec__config_from_json
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/config.c
    functionUses: 0
    functionsReached:
    - mosquitto_log_printf
    - cJSON_Delete
    - dynsec_roles__config_load
    - dynsec_groups__config_load
    - dynsec__general_config_load
    - dynsec_clients__config_load
    - cJSON_Parse
    linkageType: ''
    returnType: int
    signature: int dynsec__config_from_json(struct dynsec__data *data, const char
      *json_str)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/mosquitto/plugins/dynamic-security/config.c:108,1
    - Dst: dynsec__config_init
      Src: /src/mosquitto/plugins/dynamic-security/config.c:111,1
    - Dst: fopen
      Src: /src/mosquitto/plugins/dynamic-security/config.c:113,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/config.c:117,1
    - Dst: fseek
      Src: /src/mosquitto/plugins/dynamic-security/config.c:123,1
    - Dst: ftell
      Src: /src/mosquitto/plugins/dynamic-security/config.c:124,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/config.c:126,1
    - Dst: strerror
      Src: /src/mosquitto/plugins/dynamic-security/config.c:126,1
    - Dst: fclose
      Src: /src/mosquitto/plugins/dynamic-security/config.c:127,1
    - Dst: fclose
      Src: /src/mosquitto/plugins/dynamic-security/config.c:130,1
    - Dst: fseek
      Src: /src/mosquitto/plugins/dynamic-security/config.c:134,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/plugins/dynamic-security/config.c:135,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/config.c:137,1
    - Dst: fclose
      Src: /src/mosquitto/plugins/dynamic-security/config.c:138,1
    - Dst: fread
      Src: /src/mosquitto/plugins/dynamic-security/config.c:141,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/config.c:142,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/config.c:143,1
    - Dst: fclose
      Src: /src/mosquitto/plugins/dynamic-security/config.c:144,1
    - Dst: fclose
      Src: /src/mosquitto/plugins/dynamic-security/config.c:147,1
    - Dst: dynsec__config_from_json
      Src: /src/mosquitto/plugins/dynamic-security/config.c:149,1
    - Dst: free
      Src: /src/mosquitto/plugins/dynamic-security/config.c:150,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct dynsec__data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 99
    functionDepth: 5
    functionLinenumber: 99
    functionLinenumberEnd: 152
    functionName: dynsec__config_load
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/config.c
    functionUses: 1
    functionsReached:
    - fseek
    - free
    - mosquitto_log_printf
    - mosquitto_calloc
    - dynsec__config_init
    - ftell
    - fclose
    - dynsec__config_from_json
    - mosquitto_free
    - strerror
    - fopen
    - fread
    linkageType: ''
    returnType: int
    signature: int dynsec__config_load(struct dynsec__data *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/config.c:160,1
    - Dst: dynsec__general_config_save
      Src: /src/mosquitto/plugins/dynamic-security/config.c:165,1
    - Dst: dynsec_clients__config_save
      Src: /src/mosquitto/plugins/dynamic-security/config.c:166,1
    - Dst: dynsec_groups__config_save
      Src: /src/mosquitto/plugins/dynamic-security/config.c:167,1
    - Dst: dynsec_roles__config_save
      Src: /src/mosquitto/plugins/dynamic-security/config.c:168,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/config.c:170,1
    - Dst: cJSON_Print
      Src: /src/mosquitto/plugins/dynamic-security/config.c:175,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/config.c:176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct dynsec__data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 155
    functionDepth: 6
    functionLinenumber: 155
    functionLinenumberEnd: 178
    functionName: dynsec__config_to_json
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/config.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_Print
    - dynsec__general_config_save
    - dynsec_roles__config_save
    - dynsec_groups__config_save
    - cJSON_CreateObject
    - dynsec_clients__config_save
    linkageType: ''
    returnType: char
    signature: char *dynsec__config_to_json(struct dynsec__data *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/config.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: dynsec__log_write_error
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/config.c
    functionUses: 0
    functionsReached:
    - mosquitto_log_printf
    linkageType: ''
    returnType: void
    signature: void dynsec__log_write_error(const char *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynsec__config_to_json
      Src: /src/mosquitto/plugins/dynamic-security/config.c:194,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/config.c:196,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/config.c:199,1
    - Dst: fwrite
      Src: /src/mosquitto/plugins/dynamic-security/config.c:201,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/config.c:202,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/config.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - fptr
    - user_data
    argTypes:
    - FILE*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 187
    functionDepth: 7
    functionLinenumber: 187
    functionLinenumberEnd: 208
    functionName: dynsec__write_json_config
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/config.c
    functionUses: 0
    functionsReached:
    - mosquitto_log_printf
    - fwrite
    - dynsec__config_to_json
    - strlen
    - mosquitto_free
    linkageType: ''
    returnType: int
    signature: int dynsec__write_json_config(FILE *fptr, void *user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct dynsec__data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: dynsec__config_batch_save
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/config.c
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dynsec__config_batch_save(struct dynsec__data *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_write_file
      Src: /src/mosquitto/plugins/dynamic-security/config.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct dynsec__data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: dynsec__config_save
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/config.c
    functionUses: 1
    functionsReached:
    - mosquitto_write_file
    linkageType: ''
    returnType: void
    signature: void dynsec__config_save(struct dynsec__data *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddObjectToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:40,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:50,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:51,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:52,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:53,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - j_tree
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 36
    functionDepth: 4
    functionLinenumber: 36
    functionLinenumberEnd: 59
    functionName: add_default_access
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/config_init.c
    functionUses: 0
    functionsReached:
    - cJSON_AddObjectToObject
    - cJSON_AddBoolToObject
    linkageType: ''
    returnType: int
    signature: int add_default_access(cJSON *j_tree)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_fopen
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:72,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:74,1
    - Dst: fgets
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:77,1
    - Dst: fclose
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:78,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:79,1
    - Dst: fclose
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:82,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:84,1
    - Dst: isspace
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:85,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:89,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:90,1
    - Dst: strdup
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:93,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:95,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - data
    - pw
    argTypes:
    - struct dynsec__data*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 100
    functionName: get_password_from_init_file
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/config_init.c
    functionUses: 0
    functionsReached:
    - mosquitto_log_printf
    - strdup
    - fclose
    - mosquitto_fopen
    - strlen
    - fgets
    - isspace
    linkageType: ''
    returnType: int
    signature: int get_password_from_init_file(struct dynsec__data *data, char **pw)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_password_from_init_file
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:117,1
    - Dst: getenv
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:121,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:122,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:123,1
    - Dst: strdup
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:126,1
    - Dst: malloc
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:135,1
    - Dst: RAND_bytes
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:142,1
    - Dst: free
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:143,1
    - Dst: mosquitto_pw_new
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:153,1
    - Dst: mosquitto_pw_hash_encoded
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:154,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:155,1
    - Dst: mosquitto_pw_get_encoded
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:155,1
    - Dst: mosquitto_pw_cleanup
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:157,1
    - Dst: free
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:158,1
    - Dst: mosquitto_pw_cleanup
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:163,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 3
    argNames:
    - data
    - j_client
    - password
    argTypes:
    - struct dynsec__data*
    - cJSON*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 111
    functionDepth: 4
    functionLinenumber: 111
    functionLinenumberEnd: 166
    functionName: generate_password
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/config_init.c
    functionUses: 0
    functionsReached:
    - mosquitto_pw_new
    - mosquitto_log_printf
    - mosquitto_pw_hash_encoded
    - strdup
    - get_password_from_init_file
    - malloc
    - RAND_bytes
    - mosquitto_pw_get_encoded
    - strlen
    - mosquitto_pw_cleanup
    - free
    - getenv
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int generate_password(struct dynsec__data *data, cJSON *j_client, char
      **password)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:173,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:177,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - j_roles
    - rolename
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 169
    functionDepth: 4
    functionLinenumber: 169
    functionLinenumberEnd: 183
    functionName: client_role_add
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/config_init.c
    functionUses: 0
    functionsReached:
    - cJSON_AddItemToArray
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int client_role_add(cJSON *j_roles, const char *rolename)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:191,1
    - Dst: generate_password
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:195,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:196,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:200,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:201,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:202,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:203,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:206,1
    - Dst: free
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:207,1
    - Dst: client_role_add
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:211,1
    - Dst: client_role_add
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:212,1
    - Dst: client_role_add
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:213,1
    - Dst: free
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:215,1
    - Dst: fprintf
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:220,1
    - Dst: free
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:222,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - data
    - pwfile
    - j_clients
    argTypes:
    - struct dynsec__data*
    - FILE*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 186
    functionDepth: 5
    functionLinenumber: 186
    functionLinenumberEnd: 225
    functionName: client_add_admin
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/config_init.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - fprintf
    - client_role_add
    - generate_password
    - cJSON_AddArrayToObject
    - cJSON_AddItemToArray
    - free
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int client_add_admin(struct dynsec__data *data, FILE *pwfile, cJSON
      *j_clients)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:236,1
    - Dst: generate_password
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:241,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:242,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:246,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:247,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:248,1
    - Dst: free
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:251,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:252,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:255,1
    - Dst: client_role_add
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:257,1
    - Dst: free
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:258,1
    - Dst: fprintf
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:262,1
    - Dst: free
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:263,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - data
    - pwfile
    - j_clients
    argTypes:
    - struct dynsec__data*
    - FILE*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 228
    functionDepth: 5
    functionLinenumber: 228
    functionLinenumberEnd: 266
    functionName: client_add_user
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/config_init.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - fprintf
    - client_role_add
    - cJSON_AddArrayToObject
    - generate_password
    - cJSON_AddItemToArray
    - free
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int client_add_user(struct dynsec__data *data, FILE *pwfile, cJSON
      *j_clients)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:277,1
    - Dst: malloc
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:278,1
    - Dst: snprintf
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:282,1
    - Dst: mosquitto_fopen
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:283,1
    - Dst: free
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:284,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:290,1
    - Dst: fclose
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:293,1
    - Dst: client_add_admin
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:298,1
    - Dst: client_add_user
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:299,1
    - Dst: fclose
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:303,1
    - Dst: fclose
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:309,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - data
    - j_tree
    argTypes:
    - struct dynsec__data*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 269
    functionDepth: 6
    functionLinenumber: 269
    functionLinenumberEnd: 312
    functionName: add_clients
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/config_init.c
    functionUses: 1
    functionsReached:
    - cJSON_AddArrayToObject
    - snprintf
    - mosquitto_fopen
    - malloc
    - fclose
    - client_add_admin
    - strlen
    - client_add_user
    - free
    linkageType: ''
    returnType: int
    signature: int add_clients(struct dynsec__data *data, cJSON *j_tree)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:319,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:324,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:325,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:326,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:327,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - j_groups
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 315
    functionDepth: 4
    functionLinenumber: 315
    functionLinenumberEnd: 335
    functionName: group_add_anon
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/config_init.c
    functionUses: 0
    functionsReached:
    - cJSON_AddItemToArray
    - cJSON_AddArrayToObject
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int group_add_anon(cJSON *j_groups)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:342,1
    - Dst: group_add_anon
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - j_tree
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 338
    functionDepth: 5
    functionLinenumber: 338
    functionLinenumberEnd: 348
    functionName: add_groups
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/config_init.c
    functionUses: 1
    functionsReached:
    - group_add_anon
    - cJSON_AddArrayToObject
    linkageType: ''
    returnType: int
    signature: int add_groups(cJSON *j_tree)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:355,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:356,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:357,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:358,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:359,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - j_acls
    - acltype
    - topic
    - priority
    - allow
    argTypes:
    - cJSON*
    - char*
    - char*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 351
    functionDepth: 4
    functionLinenumber: 351
    functionLinenumberEnd: 366
    functionName: acl_add
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/config_init.c
    functionUses: 0
    functionsReached:
    - cJSON_AddNumberToObject
    - cJSON_AddItemToArray
    - cJSON_AddBoolToObject
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int acl_add(cJSON *j_acls, const char *acltype, const char *topic,
      int priority, bool allow)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:373,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:377,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:379,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:380,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:381,1
    - Dst: acl_add
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:385,1
    - Dst: acl_add
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:386,1
    - Dst: acl_add
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:387,1
    - Dst: acl_add
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:388,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - j_roles
    - role_name
    - text_description
    - topic_pattern
    argTypes:
    - cJSON*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 369
    functionDepth: 5
    functionLinenumber: 369
    functionLinenumberEnd: 392
    functionName: add_role_with_full_permission
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/config_init.c
    functionUses: 0
    functionsReached:
    - acl_add
    - cJSON_AddArrayToObject
    - cJSON_AddItemToArray
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int add_role_with_full_permission(cJSON *j_roles, const char *role_name,
      const char *text_description, const char *topic_pattern)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:399,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:403,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:405,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:406,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:408,1
    - Dst: acl_add
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:414,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - j_roles
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 395
    functionDepth: 5
    functionLinenumber: 395
    functionLinenumberEnd: 420
    functionName: role_add_sys_notify
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/config_init.c
    functionUses: 0
    functionsReached:
    - acl_add
    - cJSON_AddArrayToObject
    - cJSON_AddItemToArray
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int role_add_sys_notify(cJSON *j_roles)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:427,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:431,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:433,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:434,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:436,1
    - Dst: acl_add
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:442,1
    - Dst: acl_add
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:443,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - j_roles
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 423
    functionDepth: 5
    functionLinenumber: 423
    functionLinenumberEnd: 449
    functionName: role_add_sys_observe
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/config_init.c
    functionUses: 0
    functionsReached:
    - acl_add
    - cJSON_AddArrayToObject
    - cJSON_AddItemToArray
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int role_add_sys_observe(cJSON *j_roles)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:456,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:460,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:462,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:463,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:465,1
    - Dst: acl_add
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:471,1
    - Dst: acl_add
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:472,1
    - Dst: acl_add
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:473,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - j_roles
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 452
    functionDepth: 5
    functionLinenumber: 452
    functionLinenumberEnd: 479
    functionName: role_add_topic_observe
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/config_init.c
    functionUses: 0
    functionsReached:
    - acl_add
    - cJSON_AddArrayToObject
    - cJSON_AddItemToArray
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int role_add_topic_observe(cJSON *j_roles)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddArrayToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:486,1
    - Dst: add_role_with_full_permission
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:491,1
    - Dst: add_role_with_full_permission
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:492,1
    - Dst: add_role_with_full_permission
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:493,1
    - Dst: add_role_with_full_permission
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:494,1
    - Dst: role_add_sys_notify
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:495,1
    - Dst: role_add_sys_observe
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:495,1
    - Dst: role_add_topic_observe
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:495,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - j_tree
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 482
    functionDepth: 6
    functionLinenumber: 482
    functionLinenumberEnd: 500
    functionName: add_roles
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/config_init.c
    functionUses: 0
    functionsReached:
    - add_role_with_full_permission
    - cJSON_AddArrayToObject
    - role_add_topic_observe
    - role_add_sys_observe
    - role_add_sys_notify
    linkageType: ''
    returnType: int
    signature: int add_roles(cJSON *j_tree)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:509,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:512,1
    - Dst: getenv
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:514,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:515,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:518,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:522,1
    - Dst: add_default_access
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:527,1
    - Dst: add_clients
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:528,1
    - Dst: add_groups
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:529,1
    - Dst: add_roles
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:530,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:531,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:534,1
    - Dst: cJSON_Print
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:538,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:539,1
    - Dst: mosquitto_fopen
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:544,1
    - Dst: fprintf
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:548,1
    - Dst: free
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:549,1
    - Dst: fclose
      Src: /src/mosquitto/plugins/dynamic-security/config_init.c:550,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct dynsec__data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 503
    functionDepth: 7
    functionLinenumber: 503
    functionLinenumberEnd: 553
    functionName: dynsec__config_init
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/config_init.c
    functionUses: 1
    functionsReached:
    - add_default_access
    - mosquitto_log_printf
    - cJSON_Delete
    - cJSON_Print
    - fprintf
    - add_clients
    - fclose
    - add_groups
    - mosquitto_fopen
    - add_roles
    - free
    - getenv
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int dynsec__config_init(struct dynsec__data *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: rolelist_cmp
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/rolelist.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int rolelist_cmp(void *a, void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_DELETE
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:55,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - base_rolelist
    - rolelist
    argTypes:
    - struct dynsec__rolelist**
    - struct dynsec__rolelist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: dynsec_rolelist__free_item
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/rolelist.c
    functionUses: 0
    functionsReached:
    - mosquitto_free
    - HASH_DELETE
    linkageType: ''
    returnType: void
    signature: void dynsec_rolelist__free_item(struct dynsec__rolelist **base_rolelist,
      struct dynsec__rolelist *rolelist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:64,1
    - Dst: dynsec_rolelist__free_item
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - base_rolelist
    argTypes:
    - struct dynsec__rolelist**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: dynsec_rolelist__cleanup
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/rolelist.c
    functionUses: 4
    functionsReached:
    - dynsec_rolelist__free_item
    - HASH_ITER
    linkageType: ''
    returnType: void
    signature: void dynsec_rolelist__cleanup(struct dynsec__rolelist **base_rolelist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:74,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:74,1
    - Dst: dynsec_rolelist__free_item
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - base_rolelist
    - role
    argTypes:
    - struct dynsec__rolelist**
    - struct dynsec__role*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: dynsec_rolelist__remove_role
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/rolelist.c
    functionUses: 0
    functionsReached:
    - strlen
    - dynsec_rolelist__free_item
    - HASH_FIND
    linkageType: ''
    returnType: int
    signature: int dynsec_rolelist__remove_role(struct dynsec__rolelist **base_rolelist,
      const struct dynsec__role *role)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynsec_rolelist__remove_role
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:89,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:94,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:94,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:96,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - client
    - role
    argTypes:
    - struct dynsec__client*
    - struct dynsec__role*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 102
    functionName: dynsec_rolelist__client_remove
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/rolelist.c
    functionUses: 3
    functionsReached:
    - dynsec_rolelist__remove_role
    - strlen
    - mosquitto_free
    - HASH_DELETE
    - HASH_FIND
    linkageType: ''
    returnType: int
    signature: int dynsec_rolelist__client_remove(struct dynsec__client *client, struct
      dynsec__role *role)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynsec_rolelist__remove_role
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:107,1
    - Dst: dynsec_grouplist__remove
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - group
    - role
    argTypes:
    - struct dynsec__group*
    - struct dynsec__role*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: dynsec_rolelist__group_remove
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/rolelist.c
    functionUses: 3
    functionsReached:
    - dynsec_grouplist__remove
    - dynsec_rolelist__remove_role
    linkageType: ''
    returnType: void
    signature: void dynsec_rolelist__group_remove(struct dynsec__group *group, struct
      dynsec__role *role)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:120,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:125,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:129,1
    - Dst: strncpy
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:136,1
    - Dst: HASH_ADD_INORDER
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - base_rolelist
    - role
    - priority
    argTypes:
    - struct dynsec__rolelist**
    - struct dynsec__role*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 140
    functionName: dynsec_rolelist__add
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/rolelist.c
    functionUses: 0
    functionsReached:
    - mosquitto_calloc
    - HASH_ADD_INORDER
    - strlen
    - HASH_FIND
    - strncpy
    linkageType: ''
    returnType: int
    signature: int dynsec_rolelist__add(struct dynsec__rolelist **base_rolelist, struct
      dynsec__role *role, int priority)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dynsec_rolelist__add
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:148,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:153,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:153,1
    - Dst: dynsec_clientlist__add
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:159,1
    - Dst: dynsec_rolelist__remove_role
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - client
    - role
    - priority
    argTypes:
    - struct dynsec__client*
    - struct dynsec__role*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 165
    functionName: dynsec_rolelist__client_add
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/rolelist.c
    functionUses: 6
    functionsReached:
    - dynsec_rolelist__remove_role
    - strlen
    - dynsec_clientlist__add
    - dynsec_rolelist__add
    - HASH_FIND
    linkageType: ''
    returnType: int
    signature: int dynsec_rolelist__client_add(struct dynsec__client *client, struct
      dynsec__role *role, int priority)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynsec_rolelist__add
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:172,1
    - Dst: dynsec_grouplist__add
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:177,1
    - Dst: dynsec_rolelist__remove_role
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - group
    - role
    - priority
    argTypes:
    - struct dynsec__group*
    - struct dynsec__role*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 182
    functionName: dynsec_rolelist__group_add
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/rolelist.c
    functionUses: 4
    functionsReached:
    - dynsec_grouplist__add
    - dynsec_rolelist__add
    - dynsec_rolelist__remove_role
    linkageType: ''
    returnType: int
    signature: int dynsec_rolelist__group_add(struct dynsec__group *group, struct
      dynsec__role *role, int priority)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:192,1
    - Dst: cJSON_IsArray
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:194,1
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:196,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:197,1
    - Dst: dynsec_roles__find
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:201,1
    - Dst: dynsec_rolelist__add
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:203,1
    - Dst: dynsec_rolelist__cleanup
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - data
    - command
    - rolelist
    argTypes:
    - struct dynsec__data*
    - cJSON*
    - struct dynsec__rolelist**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 219
    functionName: dynsec_rolelist__load_from_json
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/rolelist.c
    functionUses: 4
    functionsReached:
    - dynsec_rolelist__cleanup
    - cJSON_IsArray
    - cJSON_GetObjectItem
    - json_get_string
    - json_get_int
    - dynsec_rolelist__add
    - dynsec_roles__find
    linkageType: ''
    returnType: int
    signature: int dynsec_rolelist__load_from_json(struct dynsec__data *data, cJSON
      *command, struct dynsec__rolelist **rolelist)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_get_string
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:196,1
    - Dst: json_get_int
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:197,1
    - Dst: dynsec_roles__find
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:201,1
    - Dst: dynsec_rolelist__add
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:203,1
    - Dst: dynsec_rolelist__cleanup
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 211
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/rolelist.c
    functionUses: 1
    functionsReached:
    - dynsec_rolelist__cleanup
    - json_get_int
    - json_get_string
    - dynsec_rolelist__add
    - dynsec_roles__find
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(j_role, j_roles)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateArray
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:227,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:233,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:235,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:238,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:240,1
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:241,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:244,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - base_rolelist
    argTypes:
    - struct dynsec__rolelist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 222
    functionDepth: 5
    functionLinenumber: 222
    functionLinenumberEnd: 249
    functionName: dynsec_rolelist__all_to_json
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/rolelist.c
    functionUses: 4
    functionsReached:
    - cJSON_AddIntToObject
    - cJSON_Delete
    - cJSON_AddItemToArray
    - cJSON_CreateArray
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: cJSON
    signature: cJSON *dynsec_rolelist__all_to_json(struct dynsec__rolelist *base_rolelist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:233,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:235,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:238,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:240,1
    - Dst: cJSON_AddIntToObject
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:241,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/plugins/dynamic-security/rolelist.c:244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 232
    functionDepth: 5
    functionLinenumber: 232
    functionLinenumberEnd: 247
    functionName: HASH_ITER
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/rolelist.c
    functionUses: 57
    functionsReached:
    - cJSON_AddIntToObject
    - cJSON_Delete
    - cJSON_AddItemToArray
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, base_rolelist, rolelist, rolelist_tmp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/dynamic-security/auth.c:43,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/dynamic-security/auth.c:44,1
    - Dst: dynsec_clients__find
      Src: /src/mosquitto/plugins/dynamic-security/auth.c:50,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/dynamic-security/auth.c:56,1
    - Dst: strcmp
      Src: /src/mosquitto/plugins/dynamic-security/auth.c:57,1
    - Dst: mosquitto_pw_verify
      Src: /src/mosquitto/plugins/dynamic-security/auth.c:61,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 69
    functionName: dynsec_auth__basic_auth_callback
    functionSourceFile: /src/mosquitto/plugins/dynamic-security/auth.c
    functionUses: 0
    functionsReached:
    - mosquitto_client_id
    - dynsec_clients__find
    - strcmp
    - mosquitto_pw_verify
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int dynsec_auth__basic_auth_callback(int event, void *event_data, void
      *userdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:35,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:41,1
    - Dst: DL_PREPEND
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:49,1
    - Dst: DL_APPEND
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - acl_user
    - topic
    - access
    argTypes:
    - struct acl__user*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 55
    functionName: acl__add_to_user
    functionSourceFile: /src/mosquitto/plugins/acl-file/acl_parse.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - DL_APPEND
    - DL_PREPEND
    - mosquitto_calloc
    linkageType: ''
    returnType: int
    signature: int acl__add_to_user(struct acl__user *acl_user, const char *topic,
      int access)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND_BYHASHVALUE
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:65,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:65,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:68,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:73,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:75,1
    - Dst: HASH_ADD_KEYPTR
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:79,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - data
    - user
    - user_hashv
    argTypes:
    - struct acl_file_data*
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 84
    functionName: acl__find_or_create_user
    functionSourceFile: /src/mosquitto/plugins/acl-file/acl_parse.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - mosquitto_FREE
    - HASH_FIND_BYHASHVALUE
    - mosquitto_calloc
    - strlen
    - HASH_ADD_KEYPTR
    linkageType: ''
    returnType: struct acl__user
    signature: struct acl__user *acl__find_or_create_user(struct acl_file_data *data,
      const char *user, unsigned user_hashv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: acl__find_or_create_user
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:95,1
    - Dst: acl__add_to_user
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - data
    - user
    - user_hashv
    - topic
    - access
    argTypes:
    - struct acl_file_data*
    - char*
    - unsigned
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 101
    functionName: acl__add
    functionSourceFile: /src/mosquitto/plugins/acl-file/acl_parse.c
    functionUses: 0
    functionsReached:
    - acl__add_to_user
    - acl__find_or_create_user
    linkageType: ''
    returnType: int
    signature: int acl__add(struct acl_file_data *data, const char *user, unsigned
      user_hashv, const char *topic, int access)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:114,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:119,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:121,1
    - Dst: strstr
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:131,1
    - Dst: strstr
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:141,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:149,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 3
    argNames:
    - data
    - topic
    - access
    argTypes:
    - struct acl_file_data*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 171
    functionName: acl__add_pattern
    functionSourceFile: /src/mosquitto/plugins/acl-file/acl_parse.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - mosquitto_FREE
    - mosquitto_log_printf
    - mosquitto_malloc
    - strstr
    linkageType: ''
    returnType: int
    signature: int acl__add_pattern(struct acl_file_data *data, const char *topic,
      int access)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:197,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:199,1
    - Dst: mosquitto_fopen
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:203,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:205,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:206,1
    - Dst: mosquitto_fgets
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:214,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:215,1
    - Dst: isspace
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:216,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:218,1
    - Dst: strtok_r
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:223,1
    - Dst: strcmp
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:225,1
    - Dst: strcmp
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:225,1
    - Dst: strcmp
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:226,1
    - Dst: strtok_r
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:232,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:234,1
    - Dst: strtok_r
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:238,1
    - Dst: mosquitto_trimblanks
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:240,1
    - Dst: strcmp
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:246,1
    - Dst: strcmp
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:248,1
    - Dst: strcmp
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:250,1
    - Dst: strcmp
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:252,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:255,1
    - Dst: mosquitto_sub_topic_check
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:262,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:264,1
    - Dst: acl__add
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:270,1
    - Dst: acl__add_pattern
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:272,1
    - Dst: strcmp
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:277,1
    - Dst: strtok_r
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:278,1
    - Dst: mosquitto_trimblanks
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:280,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:282,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:286,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:287,1
    - Dst: HASH_VALUE
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:292,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:292,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:294,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:299,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:306,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:307,1
    - Dst: fclose
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:308,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 115
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct acl_file_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 311
    functionName: acl_file__parse
    functionSourceFile: /src/mosquitto/plugins/acl-file/acl_parse.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - mosquitto_strdup
    - mosquitto_log_printf
    - mosquitto_fgets
    - mosquitto_calloc
    - fclose
    - mosquitto_fopen
    - acl__add
    - strlen
    - strtok_r
    - mosquitto_sub_topic_check
    - strcmp
    - HASH_VALUE
    - acl__add_pattern
    - mosquitto_trimblanks
    - isspace
    linkageType: ''
    returnType: int
    signature: int acl_file__parse(struct acl_file_data *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:319,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct acl__entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 324
    functionName: acl__free_entries
    functionSourceFile: /src/mosquitto/plugins/acl-file/acl_parse.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    linkageType: ''
    returnType: void
    signature: void acl__free_entries(struct acl__entry *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:331,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:332,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:333,1
    - Dst: acl__free_entries
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:334,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:335,1
    - Dst: acl__free_entries
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:338,1
    - Dst: acl__free_entries
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct acl_file_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 343
    functionName: acl_file__cleanup
    functionSourceFile: /src/mosquitto/plugins/acl-file/acl_parse.c
    functionUses: 3
    functionsReached:
    - mosquitto_FREE
    - acl__free_entries
    - HASH_DELETE
    - HASH_ITER
    linkageType: ''
    returnType: void
    signature: void acl_file__cleanup(struct acl_file_data *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:350,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:351,1
    - Dst: acl_file__cleanup
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:353,1
    - Dst: acl_file__parse
      Src: /src/mosquitto/plugins/acl-file/acl_parse.c:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 346
    functionDepth: 4
    functionLinenumber: 346
    functionLinenumberEnd: 355
    functionName: acl_file__reload
    functionSourceFile: /src/mosquitto/plugins/acl-file/acl_parse.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - acl_file__cleanup
    - acl_file__parse
    linkageType: ''
    returnType: int
    signature: int acl_file__reload(int event, void *event_data, void *userdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/plugins/acl-file/plugin.c:23,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/plugins/acl-file/plugin.c:24,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/acl-file/plugin.c:25,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/acl-file/plugin.c:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - data
    - options
    - option_count
    argTypes:
    - struct acl_file_data*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 36
    functionName: handle_options
    functionSourceFile: /src/mosquitto/plugins/acl-file/plugin.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - mosquitto_log_printf
    - strcmp
    - mosquitto_strdup
    linkageType: ''
    returnType: int
    signature: int handle_options(struct acl_file_data *data, struct mosquitto_opt
      *options, int option_count)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/acl-file/plugin.c:44,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/acl-file/plugin.c:45,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/plugins/acl-file/plugin.c:47,1
    - Dst: mosquitto_plugin_set_info
      Src: /src/mosquitto/plugins/acl-file/plugin.c:54,1
    - Dst: handle_options
      Src: /src/mosquitto/plugins/acl-file/plugin.c:56,1
    - Dst: acl_file__parse
      Src: /src/mosquitto/plugins/acl-file/plugin.c:61,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/acl-file/plugin.c:66,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/acl-file/plugin.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 4
    argNames:
    - identifier
    - user_data
    - options
    - option_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 39
    functionDepth: 4
    functionLinenumber: 39
    functionLinenumberEnd: 76
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/plugins/acl-file/plugin.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - acl_file__parse
    - mosquitto_calloc
    - mosquitto_plugin_set_info
    - handle_options
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *options, int option_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/acl-file/plugin.c:83,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/acl-file/plugin.c:84,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/plugins/acl-file/plugin.c:86,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/plugins/acl-file/plugin.c:87,1
    - Dst: acl_file__cleanup
      Src: /src/mosquitto/plugins/acl-file/plugin.c:89,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/plugins/acl-file/plugin.c:90,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/plugins/acl-file/plugin.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - user_data
    - options
    - option_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 94
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/plugins/acl-file/plugin.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - mosquitto_callback_unregister
    - UNUSED
    - acl_file__cleanup
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *options, int option_count)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/acl-file/acl_check.c:39,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/acl-file/acl_check.c:46,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/acl-file/acl_check.c:47,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/acl-file/acl_check.c:54,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/acl-file/acl_check.c:54,1
    - Dst: mosquitto_topic_matches_sub
      Src: /src/mosquitto/plugins/acl-file/acl_check.c:77,1
    - Dst: strpbrk
      Src: /src/mosquitto/plugins/acl-file/acl_check.c:101,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/acl-file/acl_check.c:102,1
    - Dst: strpbrk
      Src: /src/mosquitto/plugins/acl-file/acl_check.c:106,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/acl-file/acl_check.c:107,1
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/plugins/acl-file/acl_check.c:123,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 72
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 141
    functionName: acl_file__check
    functionSourceFile: /src/mosquitto/plugins/acl-file/acl_check.c
    functionUses: 0
    functionsReached:
    - mosquitto_topic_matches_sub
    - mosquitto_log_printf
    - mosquitto_client_id
    - mosquitto_client_username
    - mosquitto_topic_matches_sub_with_pattern
    - strlen
    - HASH_FIND
    - strpbrk
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int acl_file__check(int event, void *event_data, void *userdata)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/plugins/password-file/password_parse.c:39,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/password-file/password_parse.c:41,1
    - Dst: mosquitto_fopen
      Src: /src/mosquitto/plugins/password-file/password_parse.c:45,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/password-file/password_parse.c:47,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/plugins/password-file/password_parse.c:48,1
    - Dst: feof
      Src: /src/mosquitto/plugins/password-file/password_parse.c:52,1
    - Dst: mosquitto_fgets
      Src: /src/mosquitto/plugins/password-file/password_parse.c:53,1
    - Dst: strchr
      Src: /src/mosquitto/plugins/password-file/password_parse.c:57,1
    - Dst: strtok_r
      Src: /src/mosquitto/plugins/password-file/password_parse.c:61,1
    - Dst: mosquitto_trimblanks
      Src: /src/mosquitto/plugins/password-file/password_parse.c:63,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/password-file/password_parse.c:64,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/password-file/password_parse.c:65,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/password-file/password_parse.c:68,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/password-file/password_parse.c:69,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/password-file/password_parse.c:73,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/password-file/password_parse.c:73,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/password-file/password_parse.c:75,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/plugins/password-file/password_parse.c:79,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/password-file/password_parse.c:84,1
    - Dst: strtok_r
      Src: /src/mosquitto/plugins/password-file/password_parse.c:89,1
    - Dst: mosquitto_trimblanks
      Src: /src/mosquitto/plugins/password-file/password_parse.c:91,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/password-file/password_parse.c:93,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/password-file/password_parse.c:94,1
    - Dst: mosquitto_pw_new
      Src: /src/mosquitto/plugins/password-file/password_parse.c:98,1
    - Dst: mosquitto_pw_decode
      Src: /src/mosquitto/plugins/password-file/password_parse.c:99,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/password-file/password_parse.c:101,1
    - Dst: HASH_ADD_KEYPTR
      Src: /src/mosquitto/plugins/password-file/password_parse.c:105,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/password-file/password_parse.c:105,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/password-file/password_parse.c:107,1
    - Dst: fclose
      Src: /src/mosquitto/plugins/password-file/password_parse.c:113,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/plugins/password-file/password_parse.c:114,1
    - Dst: mosquitto_pw_cleanup
      Src: /src/mosquitto/plugins/password-file/password_parse.c:119,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/plugins/password-file/password_parse.c:120,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/plugins/password-file/password_parse.c:121,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/plugins/password-file/password_parse.c:123,1
    - Dst: fclose
      Src: /src/mosquitto/plugins/password-file/password_parse.c:124,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 85
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct password_file_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 126
    functionName: password_file__parse
    functionSourceFile: /src/mosquitto/plugins/password-file/password_parse.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - mosquitto_strdup
    - mosquitto_log_printf
    - mosquitto_pw_new
    - mosquitto_fgets
    - mosquitto_calloc
    - mosquitto_pw_decode
    - mosquitto_malloc
    - feof
    - mosquitto_fopen
    - strchr
    - fclose
    - strlen
    - strtok_r
    - mosquitto_pw_cleanup
    - HASH_ADD_KEYPTR
    - HASH_FIND
    - mosquitto_trimblanks
    linkageType: ''
    returnType: int
    signature: int password_file__parse(struct password_file_data *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASH_ITER
      Src: /src/mosquitto/plugins/password-file/password_parse.c:137,1
    - Dst: HASH_DEL
      Src: /src/mosquitto/plugins/password-file/password_parse.c:138,1
    - Dst: mosquitto_pw_cleanup
      Src: /src/mosquitto/plugins/password-file/password_parse.c:139,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/plugins/password-file/password_parse.c:140,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/plugins/password-file/password_parse.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct password_file_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 143
    functionName: password_file__cleanup
    functionSourceFile: /src/mosquitto/plugins/password-file/password_parse.c
    functionUses: 3
    functionsReached:
    - mosquitto_FREE
    - mosquitto_pw_cleanup
    - HASH_DEL
    - HASH_ITER
    linkageType: ''
    returnType: void
    signature: void password_file__cleanup(struct password_file_data *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/password-file/password_parse.c:150,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/password-file/password_parse.c:151,1
    - Dst: password_file__cleanup
      Src: /src/mosquitto/plugins/password-file/password_parse.c:153,1
    - Dst: password_file__parse
      Src: /src/mosquitto/plugins/password-file/password_parse.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 155
    functionName: password_file__reload
    functionSourceFile: /src/mosquitto/plugins/password-file/password_parse.c
    functionUses: 0
    functionsReached:
    - password_file__cleanup
    - UNUSED
    - password_file__parse
    linkageType: ''
    returnType: int
    signature: int password_file__reload(int event, void *event_data, void *userdata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/password-file/password_check.c:33,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/password-file/password_check.c:41,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/password-file/password_check.c:41,1
    - Dst: mosquitto_pw_verify
      Src: /src/mosquitto/plugins/password-file/password_check.c:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 55
    functionName: password_file__check
    functionSourceFile: /src/mosquitto/plugins/password-file/password_check.c
    functionUses: 0
    functionsReached:
    - mosquitto_pw_verify
    - strlen
    - UNUSED
    - HASH_FIND
    linkageType: ''
    returnType: int
    signature: int password_file__check(int event, void *event_data, void *userdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/plugins/password-file/plugin.c:23,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/plugins/password-file/plugin.c:24,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/password-file/plugin.c:25,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/password-file/plugin.c:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - data
    - options
    - option_count
    argTypes:
    - struct password_file_data*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 36
    functionName: handle_options
    functionSourceFile: /src/mosquitto/plugins/password-file/plugin.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - mosquitto_log_printf
    - strcmp
    - mosquitto_strdup
    linkageType: ''
    returnType: int
    signature: int handle_options(struct password_file_data *data, struct mosquitto_opt
      *options, int option_count)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/password-file/plugin.c:44,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/password-file/plugin.c:45,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/plugins/password-file/plugin.c:47,1
    - Dst: mosquitto_plugin_set_info
      Src: /src/mosquitto/plugins/password-file/plugin.c:54,1
    - Dst: handle_options
      Src: /src/mosquitto/plugins/password-file/plugin.c:56,1
    - Dst: password_file__parse
      Src: /src/mosquitto/plugins/password-file/plugin.c:61,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/password-file/plugin.c:66,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/password-file/plugin.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 4
    argNames:
    - identifier
    - user_data
    - options
    - option_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 77
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/plugins/password-file/plugin.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - mosquitto_calloc
    - mosquitto_plugin_set_info
    - handle_options
    - password_file__parse
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *options, int option_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/password-file/plugin.c:84,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/password-file/plugin.c:85,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/plugins/password-file/plugin.c:87,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/plugins/password-file/plugin.c:88,1
    - Dst: password_file__cleanup
      Src: /src/mosquitto/plugins/password-file/plugin.c:89,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/plugins/password-file/plugin.c:91,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/plugins/password-file/plugin.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - user_data
    - options
    - option_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/plugins/password-file/plugin.c
    functionUses: 1
    functionsReached:
    - password_file__cleanup
    - mosquitto_callback_unregister
    - UNUSED
    - mosquitto_FREE
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *options, int option_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c
    functionUses: 297
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:87,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:88,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:90,1
    - Dst: strcmp
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:91,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:95,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:96,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:98,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:102,1
    - Dst: memcpy
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:107,1
    - Dst: HASH_ADD_KEYPTR
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 112
    functionName: connect_callback
    functionSourceFile: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c
    functionUses: 0
    functionsReached:
    - mosquitto_calloc
    - mosquitto_client_id
    - mosquitto_client_username
    - strlen
    - HASH_ADD_KEYPTR
    - strcmp
    - HASH_FIND
    - memcpy
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int connect_callback(int event, void *event_data, void *userdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:122,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:123,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:125,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:126,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:128,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:130,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:132,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 138
    functionName: disconnect_callback
    functionSourceFile: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c
    functionUses: 0
    functionsReached:
    - mosquitto_client_id
    - strlen
    - DL_DELETE
    - mosquitto_free
    - HASH_FIND
    - HASH_DELETE
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int disconnect_callback(int event, void *event_data, void *userdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:147,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:148,1
    - Dst: strcmp
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:150,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:151,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:152,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:152,1
    - Dst: time
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:155,1
    - Dst: DL_APPEND
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 164
    functionName: acl_check_callback
    functionSourceFile: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c
    functionUses: 0
    functionsReached:
    - DL_APPEND
    - mosquitto_client_id
    - strlen
    - HASH_FIND
    - strcmp
    - UNUSED
    - time
    linkageType: ''
    returnType: int
    signature: int acl_check_callback(int event, void *event_data, void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:173,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:174,1
    - Dst: time
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:176,1
    - Dst: mosquitto_subscription_delete
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:179,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 190
    functionName: tick_callback
    functionSourceFile: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c
    functionUses: 0
    functionsReached:
    - DL_DELETE
    - UNUSED
    - mosquitto_subscription_delete
    - time
    linkageType: ''
    returnType: int
    signature: int tick_callback(int event, void *event_data, void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_subscription_delete
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:179,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: DL_FOREACH_SAFE
    functionSourceFile: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c
    functionUses: 46
    functionsReached:
    - DL_DELETE
    - mosquitto_subscription_delete
    linkageType: ''
    returnType: void
    signature: void DL_FOREACH_SAFE(active_subs, client, client_tmp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:197,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:198,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:199,1
    - Dst: mosquitto_plugin_set_info
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:202,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:204,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:205,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:206,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - identifier
    - user_data
    - opts
    - opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 212
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - mosquitto_plugin_set_info
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:219,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:220,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:221,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:224,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - user_data
    - opts
    - opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 229
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c
    functionUses: 1
    functionsReached:
    - mosquitto_free
    - UNUSED
    - HASH_DELETE
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_DELETE
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:224,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: HASH_ITER
    functionSourceFile: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c
    functionUses: 59
    functionsReached:
    - mosquitto_free
    - HASH_DELETE
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, clients, client, client_tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/message-timestamp/mosquitto_message_timestamp.c:53,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/message-timestamp/mosquitto_message_timestamp.c:54,1
    - Dst: clock_gettime
      Src: /src/mosquitto/plugins/examples/message-timestamp/mosquitto_message_timestamp.c:56,1
    - Dst: gmtime
      Src: /src/mosquitto/plugins/examples/message-timestamp/mosquitto_message_timestamp.c:57,1
    - Dst: strftime
      Src: /src/mosquitto/plugins/examples/message-timestamp/mosquitto_message_timestamp.c:58,1
    - Dst: mosquitto_property_add_string_pair
      Src: /src/mosquitto/plugins/examples/message-timestamp/mosquitto_message_timestamp.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: callback_message_in
    functionSourceFile: /src/mosquitto/plugins/examples/message-timestamp/mosquitto_message_timestamp.c
    functionUses: 0
    functionsReached:
    - gmtime
    - clock_gettime
    - mosquitto_property_add_string_pair
    - strftime
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int callback_message_in(int event, void *event_data, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/message-timestamp/mosquitto_message_timestamp.c:66,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/message-timestamp/mosquitto_message_timestamp.c:67,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/message-timestamp/mosquitto_message_timestamp.c:68,1
    - Dst: mosquitto_plugin_set_info
      Src: /src/mosquitto/plugins/examples/message-timestamp/mosquitto_message_timestamp.c:71,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/message-timestamp/mosquitto_message_timestamp.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - identifier
    - user_data
    - opts
    - opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/plugins/examples/message-timestamp/mosquitto_message_timestamp.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - mosquitto_plugin_set_info
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/message-timestamp/mosquitto_message_timestamp.c:79,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/message-timestamp/mosquitto_message_timestamp.c:80,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/message-timestamp/mosquitto_message_timestamp.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - opts
    - opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/plugins/examples/message-timestamp/mosquitto_message_timestamp.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c
    functionUses: 306
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c:68,1
    - Dst: mosquitto_topic_matches_sub
      Src: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c:70,1
    - Dst: mosquitto_property_copy_all
      Src: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c:76,1
    - Dst: mosquitto_broker_publish_copy
      Src: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c:81,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c:84,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 96
    functionName: callback_message_in
    functionSourceFile: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - mosquitto_broker_publish_copy
    - UNUSED
    - mosquitto_property_copy_all
    - mosquitto_topic_matches_sub
    - mosquitto_property_free_all
    linkageType: ''
    returnType: int
    signature: int callback_message_in(int event, void *event_data, void *userdata)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c:101,1
    - Dst: strcmp
      Src: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c:109,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c:110,1
    - Dst: strcmp
      Src: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c:114,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c:115,1
    - Dst: strcmp
      Src: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c:119,1
    - Dst: strcmp
      Src: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c:120,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c:125,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c:132,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c:138,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c:139,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c:140,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c:143,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 4
    argNames:
    - identifier
    - userdata
    - opts
    - opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 144
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - mosquitto_callback_register
    - mosquitto_log_printf
    - mosquitto_calloc
    - strcmp
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **userdata,
      struct mosquitto_opt *opts, int opt_count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c:151,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c:152,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c:155,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c:157,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c:158,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - userdata
    - opts
    - opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 163
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - mosquitto_callback_unregister
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *userdata, struct mosquitto_opt *opts,
      int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/plugins/examples/topic-modification/mosquitto_topic_modification.c
    functionUses: 308
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/topic-modification/mosquitto_topic_modification.c:55,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/topic-modification/mosquitto_topic_modification.c:56,1
    - Dst: mosquitto_topic_matches_sub
      Src: /src/mosquitto/plugins/examples/topic-modification/mosquitto_topic_modification.c:61,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/examples/topic-modification/mosquitto_topic_modification.c:64,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/examples/topic-modification/mosquitto_topic_modification.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 68
    functionName: callback_message_in
    functionSourceFile: /src/mosquitto/plugins/examples/topic-modification/mosquitto_topic_modification.c
    functionUses: 0
    functionsReached:
    - mosquitto_topic_matches_sub
    - strlen
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int callback_message_in(int event, void *event_data, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/topic-modification/mosquitto_topic_modification.c:73,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/topic-modification/mosquitto_topic_modification.c:74,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/topic-modification/mosquitto_topic_modification.c:75,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/topic-modification/mosquitto_topic_modification.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - identifier
    - user_data
    - opts
    - opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/plugins/examples/topic-modification/mosquitto_topic_modification.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/topic-modification/mosquitto_topic_modification.c:85,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/topic-modification/mosquitto_topic_modification.c:86,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/topic-modification/mosquitto_topic_modification.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - opts
    - opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/plugins/examples/topic-modification/mosquitto_topic_modification.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/plugins/examples/force-retain/mosquitto_force_retain.c
    functionUses: 311
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/force-retain/mosquitto_force_retain.c:51,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/force-retain/mosquitto_force_retain.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: callback_message_in
    functionSourceFile: /src/mosquitto/plugins/examples/force-retain/mosquitto_force_retain.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int callback_message_in(int event, void *event_data, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/force-retain/mosquitto_force_retain.c:62,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/force-retain/mosquitto_force_retain.c:63,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/force-retain/mosquitto_force_retain.c:64,1
    - Dst: mosquitto_plugin_set_info
      Src: /src/mosquitto/plugins/examples/force-retain/mosquitto_force_retain.c:67,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/force-retain/mosquitto_force_retain.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - identifier
    - user_data
    - opts
    - opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/plugins/examples/force-retain/mosquitto_force_retain.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - mosquitto_plugin_set_info
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/force-retain/mosquitto_force_retain.c:75,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/force-retain/mosquitto_force_retain.c:76,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/force-retain/mosquitto_force_retain.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - opts
    - opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/plugins/examples/force-retain/mosquitto_force_retain.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/plugins/examples/client-properties/mosquitto_client_properties.c
    functionUses: 314
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/client-properties/mosquitto_client_properties.c:33,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/client-properties/mosquitto_client_properties.c:34,1
    - Dst: printf
      Src: /src/mosquitto/plugins/examples/client-properties/mosquitto_client_properties.c:36,1
    - Dst: mosquitto_client_address
      Src: /src/mosquitto/plugins/examples/client-properties/mosquitto_client_properties.c:36,1
    - Dst: printf
      Src: /src/mosquitto/plugins/examples/client-properties/mosquitto_client_properties.c:37,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/examples/client-properties/mosquitto_client_properties.c:37,1
    - Dst: printf
      Src: /src/mosquitto/plugins/examples/client-properties/mosquitto_client_properties.c:38,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/examples/client-properties/mosquitto_client_properties.c:38,1
    - Dst: printf
      Src: /src/mosquitto/plugins/examples/client-properties/mosquitto_client_properties.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: callback_message_in
    functionSourceFile: /src/mosquitto/plugins/examples/client-properties/mosquitto_client_properties.c
    functionUses: 0
    functionsReached:
    - mosquitto_client_id
    - mosquitto_client_username
    - mosquitto_client_address
    - printf
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int callback_message_in(int event, void *event_data, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/client-properties/mosquitto_client_properties.c:47,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/client-properties/mosquitto_client_properties.c:48,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/client-properties/mosquitto_client_properties.c:49,1
    - Dst: mosquitto_plugin_set_info
      Src: /src/mosquitto/plugins/examples/client-properties/mosquitto_client_properties.c:52,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/client-properties/mosquitto_client_properties.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - identifier
    - user_data
    - opts
    - opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/plugins/examples/client-properties/mosquitto_client_properties.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - mosquitto_plugin_set_info
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/client-properties/mosquitto_client_properties.c:60,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/client-properties/mosquitto_client_properties.c:61,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/client-properties/mosquitto_client_properties.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - opts
    - opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/plugins/examples/client-properties/mosquitto_client_properties.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/plugins/examples/tick-interval/mosquitto_tick_interval.c
    functionUses: 317
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/tick-interval/mosquitto_tick_interval.c:69,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/examples/tick-interval/mosquitto_tick_interval.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: tick_callback
    functionSourceFile: /src/mosquitto/plugins/examples/tick-interval/mosquitto_tick_interval.c
    functionUses: 0
    functionsReached:
    - mosquitto_log_printf
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int tick_callback(int event, void *event_data, void *userdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/plugins/examples/tick-interval/mosquitto_tick_interval.c:83,1
    - Dst: mosquitto_plugin_set_info
      Src: /src/mosquitto/plugins/examples/tick-interval/mosquitto_tick_interval.c:91,1
    - Dst: strcmp
      Src: /src/mosquitto/plugins/examples/tick-interval/mosquitto_tick_interval.c:94,1
    - Dst: atoi
      Src: /src/mosquitto/plugins/examples/tick-interval/mosquitto_tick_interval.c:95,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/examples/tick-interval/mosquitto_tick_interval.c:97,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/examples/tick-interval/mosquitto_tick_interval.c:102,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/tick-interval/mosquitto_tick_interval.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - identifier
    - userdata
    - opts
    - opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 107
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/plugins/examples/tick-interval/mosquitto_tick_interval.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - mosquitto_log_printf
    - mosquitto_calloc
    - mosquitto_plugin_set_info
    - atoi
    - strcmp
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **userdata,
      struct mosquitto_opt *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/tick-interval/mosquitto_tick_interval.c:114,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/tick-interval/mosquitto_tick_interval.c:115,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/plugins/examples/tick-interval/mosquitto_tick_interval.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - userdata
    - opts
    - opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/plugins/examples/tick-interval/mosquitto_tick_interval.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *userdata, struct mosquitto_opt *opts,
      int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/plugins/examples/payload-modification/mosquitto_payload_modification.c
    functionUses: 319
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/payload-modification/mosquitto_payload_modification.c:56,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/payload-modification/mosquitto_payload_modification.c:57,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/examples/payload-modification/mosquitto_payload_modification.c:63,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/plugins/examples/payload-modification/mosquitto_payload_modification.c:68,1
    - Dst: snprintf
      Src: /src/mosquitto/plugins/examples/payload-modification/mosquitto_payload_modification.c:74,1
    - Dst: memcpy
      Src: /src/mosquitto/plugins/examples/payload-modification/mosquitto_payload_modification.c:75,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/examples/payload-modification/mosquitto_payload_modification.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 84
    functionName: callback_message_in
    functionSourceFile: /src/mosquitto/plugins/examples/payload-modification/mosquitto_payload_modification.c
    functionUses: 0
    functionsReached:
    - mosquitto_calloc
    - snprintf
    - strlen
    - memcpy
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int callback_message_in(int event, void *event_data, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/payload-modification/mosquitto_payload_modification.c:89,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/payload-modification/mosquitto_payload_modification.c:90,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/payload-modification/mosquitto_payload_modification.c:91,1
    - Dst: mosquitto_plugin_set_info
      Src: /src/mosquitto/plugins/examples/payload-modification/mosquitto_payload_modification.c:94,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/payload-modification/mosquitto_payload_modification.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - identifier
    - user_data
    - opts
    - opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/plugins/examples/payload-modification/mosquitto_payload_modification.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - mosquitto_plugin_set_info
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/payload-modification/mosquitto_payload_modification.c:102,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/payload-modification/mosquitto_payload_modification.c:103,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/payload-modification/mosquitto_payload_modification.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - opts
    - opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/plugins/examples/payload-modification/mosquitto_payload_modification.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/plugins/examples/limit-subscription-qos/mosquitto_limit_subscription_qos.c
    functionUses: 322
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/limit-subscription-qos/mosquitto_limit_subscription_qos.c:50,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/limit-subscription-qos/mosquitto_limit_subscription_qos.c:51,1
    - Dst: MQTT_SUB_OPT_GET_QOS
      Src: /src/mosquitto/plugins/examples/limit-subscription-qos/mosquitto_limit_subscription_qos.c:53,1
    - Dst: MQTT_SUB_OPT_SET_QOS
      Src: /src/mosquitto/plugins/examples/limit-subscription-qos/mosquitto_limit_subscription_qos.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: callback_subscribe
    functionSourceFile: /src/mosquitto/plugins/examples/limit-subscription-qos/mosquitto_limit_subscription_qos.c
    functionUses: 0
    functionsReached:
    - MQTT_SUB_OPT_SET_QOS
    - UNUSED
    - MQTT_SUB_OPT_GET_QOS
    linkageType: ''
    returnType: int
    signature: int callback_subscribe(int event, void *event_data, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/limit-subscription-qos/mosquitto_limit_subscription_qos.c:63,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/limit-subscription-qos/mosquitto_limit_subscription_qos.c:64,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/limit-subscription-qos/mosquitto_limit_subscription_qos.c:65,1
    - Dst: mosquitto_plugin_set_info
      Src: /src/mosquitto/plugins/examples/limit-subscription-qos/mosquitto_limit_subscription_qos.c:68,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/limit-subscription-qos/mosquitto_limit_subscription_qos.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - identifier
    - user_data
    - opts
    - opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/plugins/examples/limit-subscription-qos/mosquitto_limit_subscription_qos.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - mosquitto_plugin_set_info
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *opts, int opt_count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/add-properties/mosquitto_add_properties.c:58,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/add-properties/mosquitto_add_properties.c:59,1
    - Dst: clock_gettime
      Src: /src/mosquitto/plugins/examples/add-properties/mosquitto_add_properties.c:62,1
    - Dst: snprintf
      Src: /src/mosquitto/plugins/examples/add-properties/mosquitto_add_properties.c:63,1
    - Dst: mosquitto_property_add_string_pair
      Src: /src/mosquitto/plugins/examples/add-properties/mosquitto_add_properties.c:65,1
    - Dst: mosquitto_property_add_string_pair
      Src: /src/mosquitto/plugins/examples/add-properties/mosquitto_add_properties.c:75,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/examples/add-properties/mosquitto_add_properties.c:79,1
    - Dst: mosquitto_property_add_string_pair
      Src: /src/mosquitto/plugins/examples/add-properties/mosquitto_add_properties.c:85,1
    - Dst: mosquitto_client_username
      Src: /src/mosquitto/plugins/examples/add-properties/mosquitto_add_properties.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 96
    functionName: callback_message_in
    functionSourceFile: /src/mosquitto/plugins/examples/add-properties/mosquitto_add_properties.c
    functionUses: 0
    functionsReached:
    - mosquitto_client_id
    - snprintf
    - mosquitto_client_username
    - clock_gettime
    - mosquitto_property_add_string_pair
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int callback_message_in(int event, void *event_data, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/add-properties/mosquitto_add_properties.c:101,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/add-properties/mosquitto_add_properties.c:102,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/add-properties/mosquitto_add_properties.c:103,1
    - Dst: mosquitto_plugin_set_info
      Src: /src/mosquitto/plugins/examples/add-properties/mosquitto_add_properties.c:106,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/add-properties/mosquitto_add_properties.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - identifier
    - user_data
    - opts
    - opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/plugins/examples/add-properties/mosquitto_add_properties.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - mosquitto_plugin_set_info
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/add-properties/mosquitto_add_properties.c:114,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/add-properties/mosquitto_add_properties.c:115,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/add-properties/mosquitto_add_properties.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - opts
    - opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/plugins/examples/add-properties/mosquitto_add_properties.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *opts, int opt_count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/auth-by-ip/mosquitto_auth_by_ip.c:55,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/auth-by-ip/mosquitto_auth_by_ip.c:56,1
    - Dst: mosquitto_client_address
      Src: /src/mosquitto/plugins/examples/auth-by-ip/mosquitto_auth_by_ip.c:58,1
    - Dst: strcmp
      Src: /src/mosquitto/plugins/examples/auth-by-ip/mosquitto_auth_by_ip.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: basic_auth_callback
    functionSourceFile: /src/mosquitto/plugins/examples/auth-by-ip/mosquitto_auth_by_ip.c
    functionUses: 0
    functionsReached:
    - mosquitto_client_address
    - UNUSED
    - strcmp
    linkageType: ''
    returnType: int
    signature: int basic_auth_callback(int event, void *event_data, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/auth-by-ip/mosquitto_auth_by_ip.c:70,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/auth-by-ip/mosquitto_auth_by_ip.c:71,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/auth-by-ip/mosquitto_auth_by_ip.c:72,1
    - Dst: mosquitto_plugin_set_info
      Src: /src/mosquitto/plugins/examples/auth-by-ip/mosquitto_auth_by_ip.c:75,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/auth-by-ip/mosquitto_auth_by_ip.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - identifier
    - user_data
    - opts
    - opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/plugins/examples/auth-by-ip/mosquitto_auth_by_ip.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - mosquitto_plugin_set_info
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/auth-by-ip/mosquitto_auth_by_ip.c:83,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/auth-by-ip/mosquitto_auth_by_ip.c:84,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/auth-by-ip/mosquitto_auth_by_ip.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - opts
    - opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/plugins/examples/auth-by-ip/mosquitto_auth_by_ip.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c
    functionUses: 330
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: is_jailed
    functionSourceFile: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: bool
    signature: bool is_jailed(const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:76,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:77,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:79,1
    - Dst: is_jailed
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:81,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:89,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:89,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:94,1
    - Dst: snprintf
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 108
    functionName: callback_message_in
    functionSourceFile: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c
    functionUses: 0
    functionsReached:
    - is_jailed
    - mosquitto_calloc
    - mosquitto_client_id
    - snprintf
    - strlen
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int callback_message_in(int event, void *event_data, void *userdata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:116,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:117,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:119,1
    - Dst: is_jailed
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:121,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:127,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:129,1
    - Dst: strncmp
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:135,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 154
    functionName: callback_message_out
    functionSourceFile: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c
    functionUses: 0
    functionsReached:
    - strncmp
    - is_jailed
    - mosquitto_strdup
    - mosquitto_client_id
    - strlen
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int callback_message_out(int event, void *event_data, void *userdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:163,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:164,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:166,1
    - Dst: is_jailed
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:168,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:176,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:176,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:181,1
    - Dst: snprintf
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 195
    functionName: callback_subscribe
    functionSourceFile: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c
    functionUses: 0
    functionsReached:
    - is_jailed
    - mosquitto_calloc
    - mosquitto_client_id
    - snprintf
    - strlen
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int callback_subscribe(int event, void *event_data, void *userdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:204,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:205,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:207,1
    - Dst: is_jailed
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:209,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:217,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:217,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:222,1
    - Dst: snprintf
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 236
    functionName: callback_unsubscribe
    functionSourceFile: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c
    functionUses: 0
    functionsReached:
    - is_jailed
    - mosquitto_calloc
    - mosquitto_client_id
    - snprintf
    - strlen
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int callback_unsubscribe(int event, void *event_data, void *userdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:241,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:242,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:243,1
    - Dst: mosquitto_plugin_set_info
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:246,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:250,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:254,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:258,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - identifier
    - user_data
    - opts
    - opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 264
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - mosquitto_plugin_set_info
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *opts, int opt_count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/payload-size-stats/mosquitto_payload_size_stats.c:83,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/payload-size-stats/mosquitto_payload_size_stats.c:84,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/payload-size-stats/mosquitto_payload_size_stats.c:85,1
    - Dst: time
      Src: /src/mosquitto/plugins/examples/payload-size-stats/mosquitto_payload_size_stats.c:87,1
    - Dst: snprintf
      Src: /src/mosquitto/plugins/examples/payload-size-stats/mosquitto_payload_size_stats.c:93,1
    - Dst: snprintf
      Src: /src/mosquitto/plugins/examples/payload-size-stats/mosquitto_payload_size_stats.c:94,1
    - Dst: mosquitto_broker_publish_copy
      Src: /src/mosquitto/plugins/examples/payload-size-stats/mosquitto_payload_size_stats.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 102
    functionName: callback_tick
    functionSourceFile: /src/mosquitto/plugins/examples/payload-size-stats/mosquitto_payload_size_stats.c
    functionUses: 0
    functionsReached:
    - snprintf
    - mosquitto_broker_publish_copy
    - UNUSED
    - time
    linkageType: ''
    returnType: int
    signature: int callback_tick(int event, void *event_data, void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/payload-size-stats/mosquitto_payload_size_stats.c:110,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/payload-size-stats/mosquitto_payload_size_stats.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 121
    functionName: callback_message_in
    functionSourceFile: /src/mosquitto/plugins/examples/payload-size-stats/mosquitto_payload_size_stats.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int callback_message_in(int event, void *event_data, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/payload-size-stats/mosquitto_payload_size_stats.c:126,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/payload-size-stats/mosquitto_payload_size_stats.c:127,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/payload-size-stats/mosquitto_payload_size_stats.c:128,1
    - Dst: memset
      Src: /src/mosquitto/plugins/examples/payload-size-stats/mosquitto_payload_size_stats.c:130,1
    - Dst: memset
      Src: /src/mosquitto/plugins/examples/payload-size-stats/mosquitto_payload_size_stats.c:131,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/payload-size-stats/mosquitto_payload_size_stats.c:134,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/payload-size-stats/mosquitto_payload_size_stats.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - identifier
    - user_data
    - opts
    - opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 138
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/plugins/examples/payload-size-stats/mosquitto_payload_size_stats.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - UNUSED
    - memset
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/payload-size-stats/mosquitto_payload_size_stats.c:144,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/payload-size-stats/mosquitto_payload_size_stats.c:145,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/payload-size-stats/mosquitto_payload_size_stats.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - opts
    - opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/plugins/examples/payload-size-stats/mosquitto_payload_size_stats.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *opts, int opt_count)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:70,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:71,1
    - Dst: mosquitto_client_address
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:73,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:75,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:75,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:80,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:82,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 89
    functionName: basic_auth_callback
    functionSourceFile: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c
    functionUses: 0
    functionsReached:
    - mosquitto_client_id
    - mosquitto_client_address
    - strlen
    - HASH_FIND
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int basic_auth_callback(int event, void *event_data, void *userdata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:99,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:100,1
    - Dst: strncmp
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:103,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:103,1
    - Dst: mosquitto_client_address
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:104,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:105,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:107,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:107,1
    - Dst: mosquitto_kick_client_by_clientid
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:109,1
    - Dst: calloc
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:112,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:112,1
    - Dst: strcpy
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:116,1
    - Dst: strncpy
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:117,1
    - Dst: HASH_ADD
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:118,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:118,1
    - Dst: HASH_ADD
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:119,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:119,1
    - Dst: mosquitto_kick_client_by_clientid
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:120,1
    - Dst: fopen
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:121,1
    - Dst: fprintf
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:123,1
    - Dst: fclose
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 92
    functionDepth: 4
    functionLinenumber: 92
    functionLinenumberEnd: 131
    functionName: acl_check_callback
    functionSourceFile: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c
    functionUses: 0
    functionsReached:
    - strncmp
    - calloc
    - strncpy
    - mosquitto_client_id
    - HASH_ADD
    - fprintf
    - fclose
    - mosquitto_kick_client_by_clientid
    - mosquitto_client_address
    - strcpy
    - strlen
    - HASH_FIND
    - fopen
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int acl_check_callback(int event, void *event_data, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:136,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:137,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:138,1
    - Dst: mosquitto_plugin_set_info
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:141,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:142,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - identifier
    - user_data
    - opts
    - opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - mosquitto_plugin_set_info
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:153,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:154,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:155,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:158,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:159,1
    - Dst: free
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - user_data
    - opts
    - opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 164
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c
    functionUses: 1
    functionsReached:
    - free
    - UNUSED
    - HASH_DELETE
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_DELETE
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:158,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:159,1
    - Dst: free
      Src: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: HASH_ITER
    functionSourceFile: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c
    functionUses: 59
    functionsReached:
    - free
    - HASH_DELETE
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh_by_address, banlist_by_address, entry, entry_tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c
    functionUses: 343
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - client
    - now
    argTypes:
    - struct client_list*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: authentication_check
    functionSourceFile: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool authentication_check(struct client_list *client, time_t now)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:80,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:81,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:83,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:85,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:85,1
    - Dst: time
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:87,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:89,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:94,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:96,1
    - Dst: time
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:99,1
    - Dst: HASH_ADD_KEYPTR
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:100,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:100,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:102,1
    - Dst: time
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 106
    functionName: basic_auth_callback
    functionSourceFile: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - mosquitto_log_printf
    - mosquitto_client_id
    - mosquitto_malloc
    - strlen
    - mosquitto_free
    - HASH_ADD_KEYPTR
    - HASH_FIND
    - UNUSED
    - time
    linkageType: ''
    returnType: int
    signature: int basic_auth_callback(int event, void *event_data, void *userdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:116,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:117,1
    - Dst: time
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:119,1
    - Dst: authentication_check
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:122,1
    - Dst: rand
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:125,1
    - Dst: random
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:128,1
    - Dst: mosquitto_complete_basic_auth
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:131,1
    - Dst: mosquitto_complete_basic_auth
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:133,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:135,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:136,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:137,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 147
    functionName: tick_callback
    functionSourceFile: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c
    functionUses: 0
    functionsReached:
    - rand
    - mosquitto_log_printf
    - random
    - authentication_check
    - mosquitto_free
    - HASH_DELETE
    - mosquitto_complete_basic_auth
    - UNUSED
    - time
    linkageType: ''
    returnType: int
    signature: int tick_callback(int event, void *event_data, void *userdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: authentication_check
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:122,1
    - Dst: rand
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:125,1
    - Dst: random
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:128,1
    - Dst: mosquitto_complete_basic_auth
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:131,1
    - Dst: mosquitto_complete_basic_auth
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:133,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:135,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:136,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:137,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 140
    functionName: HASH_ITER
    functionSourceFile: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c
    functionUses: 59
    functionsReached:
    - rand
    - mosquitto_log_printf
    - random
    - authentication_check
    - mosquitto_free
    - HASH_DELETE
    - mosquitto_complete_basic_auth
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, clients, client, client_tmp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:154,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:155,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:156,1
    - Dst: mosquitto_plugin_set_info
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:159,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:161,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - identifier
    - user_data
    - opts
    - opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 167
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - mosquitto_plugin_set_info
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:174,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:175,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:176,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:179,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:180,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - user_data
    - opts
    - opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 185
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c
    functionUses: 1
    functionsReached:
    - mosquitto_free
    - UNUSED
    - HASH_DELETE
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_DELETE
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:179,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:180,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: HASH_ITER
    functionSourceFile: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c
    functionUses: 59
    functionsReached:
    - mosquitto_free
    - HASH_DELETE
    linkageType: ''
    returnType: void
    signature: void HASH_ITER(hh, clients, client, client_tmp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:92,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:93,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:94,1
    - Dst: clock_gettime
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:96,1
    - Dst: snprintf
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:102,1
    - Dst: snprintf
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:103,1
    - Dst: mosquitto_broker_publish_copy
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 111
    functionName: callback_tick
    functionSourceFile: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c
    functionUses: 0
    functionsReached:
    - clock_gettime
    - mosquitto_broker_publish_copy
    - UNUSED
    - snprintf
    linkageType: ''
    returnType: int
    signature: int callback_tick(int event, void *event_data, void *userdata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:120,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:121,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:123,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:125,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:125,1
    - Dst: malloc
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:127,1
    - Dst: strdup
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:131,1
    - Dst: free
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:133,1
    - Dst: time
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:136,1
    - Dst: HASH_ADD_KEYPTR
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:137,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 142
    functionName: callback_connect
    functionSourceFile: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c
    functionUses: 0
    functionsReached:
    - free
    - mosquitto_client_id
    - strdup
    - malloc
    - strlen
    - HASH_ADD_KEYPTR
    - HASH_FIND
    - UNUSED
    - time
    linkageType: ''
    returnType: int
    signature: int callback_connect(int event, void *event_data, void *userdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:153,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:154,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:156,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:158,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:158,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:160,1
    - Dst: time
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:162,1
    - Dst: free
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:163,1
    - Dst: free
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 176
    functionName: callback_disconnect
    functionSourceFile: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c
    functionUses: 0
    functionsReached:
    - free
    - mosquitto_client_id
    - strlen
    - HASH_FIND
    - HASH_DELETE
    - UNUSED
    - time
    linkageType: ''
    returnType: int
    signature: int callback_disconnect(int event, void *event_data, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:181,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:182,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:183,1
    - Dst: memset
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:185,1
    - Dst: memset
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:186,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:189,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:190,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - identifier
    - user_data
    - opts
    - opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 194
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - UNUSED
    - memset
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:200,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:201,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - opts
    - opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 205
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *opts, int opt_count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/plugin-event-stats/mosquitto_plugin_event_stats.c:92,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/plugin-event-stats/mosquitto_plugin_event_stats.c:93,1
    - Dst: snprintf
      Src: /src/mosquitto/plugins/examples/plugin-event-stats/mosquitto_plugin_event_stats.c:100,1
    - Dst: mosquitto_broker_publish_copy
      Src: /src/mosquitto/plugins/examples/plugin-event-stats/mosquitto_plugin_event_stats.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 108
    functionName: callback_tick
    functionSourceFile: /src/mosquitto/plugins/examples/plugin-event-stats/mosquitto_plugin_event_stats.c
    functionUses: 0
    functionsReached:
    - mosquitto_broker_publish_copy
    - UNUSED
    - snprintf
    linkageType: ''
    returnType: int
    signature: int callback_tick(int event, void *event_data, void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/plugin-event-stats/mosquitto_plugin_event_stats.c:113,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/plugin-event-stats/mosquitto_plugin_event_stats.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 123
    functionName: callback_counter
    functionSourceFile: /src/mosquitto/plugins/examples/plugin-event-stats/mosquitto_plugin_event_stats.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int callback_counter(int event, void *event_data, void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/plugin-event-stats/mosquitto_plugin_event_stats.c:128,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/plugin-event-stats/mosquitto_plugin_event_stats.c:129,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/plugin-event-stats/mosquitto_plugin_event_stats.c:130,1
    - Dst: memset
      Src: /src/mosquitto/plugins/examples/plugin-event-stats/mosquitto_plugin_event_stats.c:132,1
    - Dst: memset
      Src: /src/mosquitto/plugins/examples/plugin-event-stats/mosquitto_plugin_event_stats.c:133,1
    - Dst: mosquitto_plugin_set_info
      Src: /src/mosquitto/plugins/examples/plugin-event-stats/mosquitto_plugin_event_stats.c:136,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/plugin-event-stats/mosquitto_plugin_event_stats.c:138,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/plugin-event-stats/mosquitto_plugin_event_stats.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - identifier
    - user_data
    - opts
    - opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 146
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/plugins/examples/plugin-event-stats/mosquitto_plugin_event_stats.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - mosquitto_plugin_set_info
    - UNUSED
    - memset
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/plugin-event-stats/mosquitto_plugin_event_stats.c:152,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/plugin-event-stats/mosquitto_plugin_event_stats.c:153,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/plugin-event-stats/mosquitto_plugin_event_stats.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - opts
    - opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/plugins/examples/plugin-event-stats/mosquitto_plugin_event_stats.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *opts, int opt_count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/print-ip-on-publish/mosquitto_print_ip_on_publish.c:24,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/print-ip-on-publish/mosquitto_print_ip_on_publish.c:25,1
    - Dst: strcmp
      Src: /src/mosquitto/plugins/examples/print-ip-on-publish/mosquitto_print_ip_on_publish.c:27,1
    - Dst: printf
      Src: /src/mosquitto/plugins/examples/print-ip-on-publish/mosquitto_print_ip_on_publish.c:28,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/examples/print-ip-on-publish/mosquitto_print_ip_on_publish.c:28,1
    - Dst: mosquitto_client_address
      Src: /src/mosquitto/plugins/examples/print-ip-on-publish/mosquitto_print_ip_on_publish.c:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 31
    functionName: callback_message_in
    functionSourceFile: /src/mosquitto/plugins/examples/print-ip-on-publish/mosquitto_print_ip_on_publish.c
    functionUses: 0
    functionsReached:
    - mosquitto_client_id
    - mosquitto_client_address
    - printf
    - strcmp
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int callback_message_in(int event, void *event_data, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/print-ip-on-publish/mosquitto_print_ip_on_publish.c:36,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/print-ip-on-publish/mosquitto_print_ip_on_publish.c:37,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/print-ip-on-publish/mosquitto_print_ip_on_publish.c:38,1
    - Dst: mosquitto_plugin_set_info
      Src: /src/mosquitto/plugins/examples/print-ip-on-publish/mosquitto_print_ip_on_publish.c:41,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/print-ip-on-publish/mosquitto_print_ip_on_publish.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - identifier
    - user_data
    - opts
    - opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/plugins/examples/print-ip-on-publish/mosquitto_print_ip_on_publish.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - mosquitto_plugin_set_info
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/print-ip-on-publish/mosquitto_print_ip_on_publish.c:49,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/print-ip-on-publish/mosquitto_print_ip_on_publish.c:50,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/print-ip-on-publish/mosquitto_print_ip_on_publish.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - opts
    - opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/plugins/examples/print-ip-on-publish/mosquitto_print_ip_on_publish.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *opts, int opt_count)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - supported_version_count
    - supported_versions
    argTypes:
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: mosquitto_plugin_version
    functionSourceFile: /src/mosquitto/plugins/examples/deny-protocol-version/mosquitto_deny_protocol_version.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_version(int supported_version_count, const int
      *supported_versions)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/deny-protocol-version/mosquitto_deny_protocol_version.c:75,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/deny-protocol-version/mosquitto_deny_protocol_version.c:76,1
    - Dst: mosquitto_client_protocol_version
      Src: /src/mosquitto/plugins/examples/deny-protocol-version/mosquitto_deny_protocol_version.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 90
    functionName: basic_auth_callback
    functionSourceFile: /src/mosquitto/plugins/examples/deny-protocol-version/mosquitto_deny_protocol_version.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - mosquitto_client_protocol_version
    linkageType: ''
    returnType: int
    signature: int basic_auth_callback(int event, void *event_data, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/deny-protocol-version/mosquitto_deny_protocol_version.c:95,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/deny-protocol-version/mosquitto_deny_protocol_version.c:96,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/deny-protocol-version/mosquitto_deny_protocol_version.c:97,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/deny-protocol-version/mosquitto_deny_protocol_version.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - identifier
    - user_data
    - opts
    - opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/plugins/examples/deny-protocol-version/mosquitto_deny_protocol_version.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/deny-protocol-version/mosquitto_deny_protocol_version.c:107,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/deny-protocol-version/mosquitto_deny_protocol_version.c:108,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/deny-protocol-version/mosquitto_deny_protocol_version.c:109,1
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/plugins/examples/deny-protocol-version/mosquitto_deny_protocol_version.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - opts
    - opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/plugins/examples/deny-protocol-version/mosquitto_deny_protocol_version.c
    functionUses: 1
    functionsReached:
    - mosquitto_callback_unregister
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/plugins/examples/connection-state/mosquitto_connection_state.c
    functionUses: 362
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/connection-state/mosquitto_connection_state.c:57,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/connection-state/mosquitto_connection_state.c:58,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/examples/connection-state/mosquitto_connection_state.c:60,1
    - Dst: snprintf
      Src: /src/mosquitto/plugins/examples/connection-state/mosquitto_connection_state.c:61,1
    - Dst: mosquitto_broker_publish_copy
      Src: /src/mosquitto/plugins/examples/connection-state/mosquitto_connection_state.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 69
    functionName: connect_callback
    functionSourceFile: /src/mosquitto/plugins/examples/connection-state/mosquitto_connection_state.c
    functionUses: 0
    functionsReached:
    - mosquitto_client_id
    - mosquitto_broker_publish_copy
    - UNUSED
    - snprintf
    linkageType: ''
    returnType: int
    signature: int connect_callback(int event, void *event_data, void *userdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/connection-state/mosquitto_connection_state.c:81,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/connection-state/mosquitto_connection_state.c:82,1
    - Dst: mosquitto_client_id
      Src: /src/mosquitto/plugins/examples/connection-state/mosquitto_connection_state.c:84,1
    - Dst: snprintf
      Src: /src/mosquitto/plugins/examples/connection-state/mosquitto_connection_state.c:85,1
    - Dst: mosquitto_property_add_int32
      Src: /src/mosquitto/plugins/examples/connection-state/mosquitto_connection_state.c:88,1
    - Dst: mosquitto_broker_publish_copy
      Src: /src/mosquitto/plugins/examples/connection-state/mosquitto_connection_state.c:93,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/plugins/examples/connection-state/mosquitto_connection_state.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 102
    functionName: disconnect_callback
    functionSourceFile: /src/mosquitto/plugins/examples/connection-state/mosquitto_connection_state.c
    functionUses: 0
    functionsReached:
    - mosquitto_broker_publish_copy
    - mosquitto_client_id
    - snprintf
    - mosquitto_property_add_int32
    - UNUSED
    - mosquitto_property_free_all
    linkageType: ''
    returnType: int
    signature: int disconnect_callback(int event, void *event_data, void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/connection-state/mosquitto_connection_state.c:109,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/connection-state/mosquitto_connection_state.c:110,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/connection-state/mosquitto_connection_state.c:111,1
    - Dst: mosquitto_plugin_set_info
      Src: /src/mosquitto/plugins/examples/connection-state/mosquitto_connection_state.c:114,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/connection-state/mosquitto_connection_state.c:116,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/connection-state/mosquitto_connection_state.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - identifier
    - user_data
    - opts
    - opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 122
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/plugins/examples/connection-state/mosquitto_connection_state.c
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - mosquitto_plugin_set_info
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/connection-state/mosquitto_connection_state.c:128,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/connection-state/mosquitto_connection_state.c:129,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/connection-state/mosquitto_connection_state.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - opts
    - opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/plugins/examples/connection-state/mosquitto_connection_state.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *opts, int opt_count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/auth-by-env/mosquitto_auth_by_env.c:46,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/auth-by-env/mosquitto_auth_by_env.c:47,1
    - Dst: strcmp
      Src: /src/mosquitto/plugins/examples/auth-by-env/mosquitto_auth_by_env.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 58
    functionName: basic_auth_callback
    functionSourceFile: /src/mosquitto/plugins/examples/auth-by-env/mosquitto_auth_by_env.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - strcmp
    linkageType: ''
    returnType: int
    signature: int basic_auth_callback(int event, void *event_data, void *userdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/auth-by-env/mosquitto_auth_by_env.c:63,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/auth-by-env/mosquitto_auth_by_env.c:64,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/auth-by-env/mosquitto_auth_by_env.c:65,1
    - Dst: getenv
      Src: /src/mosquitto/plugins/examples/auth-by-env/mosquitto_auth_by_env.c:71,1
    - Dst: strlen
      Src: /src/mosquitto/plugins/examples/auth-by-env/mosquitto_auth_by_env.c:72,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/plugins/examples/auth-by-env/mosquitto_auth_by_env.c:73,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/examples/auth-by-env/mosquitto_auth_by_env.c:75,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/plugins/examples/auth-by-env/mosquitto_auth_by_env.c:78,1
    - Dst: mosquitto_log_printf
      Src: /src/mosquitto/plugins/examples/auth-by-env/mosquitto_auth_by_env.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - identifier
    - user_data
    - opts
    - opt_count
    argTypes:
    - mosquitto_plugin_id_t*
    - void**
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 83
    functionName: mosquitto_plugin_init
    functionSourceFile: /src/mosquitto/plugins/examples/auth-by-env/mosquitto_auth_by_env.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - mosquitto_callback_register
    - mosquitto_log_printf
    - strlen
    - UNUSED
    - getenv
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_init(mosquitto_plugin_id_t *identifier, void **user_data,
      struct mosquitto_opt *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/auth-by-env/mosquitto_auth_by_env.c:89,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/auth-by-env/mosquitto_auth_by_env.c:90,1
    - Dst: UNUSED
      Src: /src/mosquitto/plugins/examples/auth-by-env/mosquitto_auth_by_env.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - user_data
    - opts
    - opt_count
    argTypes:
    - void*
    - struct mosquitto_opt*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: mosquitto_plugin_cleanup
    functionSourceFile: /src/mosquitto/plugins/examples/auth-by-env/mosquitto_auth_by_env.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_plugin_cleanup(void *user_data, struct mosquitto_opt
      *opts, int opt_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: DECLTYPE
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLTYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: DECLTYPE
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLTYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: DECLTYPE
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLTYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: DECLTYPE_ASSIGN
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLTYPE_ASSIGN(dst,src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: DECLTYPE_ASSIGN
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLTYPE_ASSIGN(dst,src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: uthash_malloc
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_malloc(sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: uthash_free
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_free(ptr,sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: uthash_bzero
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_bzero(a,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: uthash_strlen
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_strlen(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - keyptr
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: HASH_FUNCTION
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FUNCTION(keyptr,keylen,hashv)
  - 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: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: HASH_KEYCMP
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_KEYCMP(a,b,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: uthash_nonfatal_oom
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_nonfatal_oom(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: HASH_RECORD_OOM
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_RECORD_OOM(oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: IF_HASH_NONFATAL_OOM
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IF_HASH_NONFATAL_OOM(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: uthash_fatal
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uthash_fatal(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: HASH_RECORD_OOM
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_RECORD_OOM(oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tbl
    - ','
    - hhp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: ELMT_FROM_HH
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ELMT_FROM_HH(tbl,hhp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tbl
    - ','
    - elp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: HH_FROM_ELMT
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HH_FROM_ELMT(tbl,elp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - itemptrhh
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 147
    functionName: HASH_ROLLBACK_BKT
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ROLLBACK_BKT(hh, head, itemptrhh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - keyptr
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: HASH_VALUE
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_VALUE(keyptr,keylen,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen
    - ','
    - hashval
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: HASH_FIND_BYHASHVALUE
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FIND_BYHASHVALUE(hh,head,keyptr,keylen,hashval,out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: HASH_FIND
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 81
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FIND(hh,head,keyptr,keylen,out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tbl
    - ','
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 189
    functionName: HASH_BLOOM_MAKE
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_MAKE(tbl,oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tbl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: HASH_BLOOM_FREE
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_FREE(tbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bv
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 196
    functionName: HASH_BLOOM_BITSET
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_BITSET(bv,idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bv
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: HASH_BLOOM_BITTEST
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_BITTEST(bv,idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tbl
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: HASH_BLOOM_ADD
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_ADD(tbl,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tbl
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: HASH_BLOOM_TEST
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_TEST(tbl,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tbl
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 209
    functionName: HASH_BLOOM_TEST
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BLOOM_TEST(tbl,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 243
    functionName: HASH_MAKE_TABLE
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_MAKE_TABLE(hh,head,oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - ','
    - replaced
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 253
    functionName: HASH_REPLACE_BYHASHVALUE_INORDER
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE_BYHASHVALUE_INORDER(hh,head,fieldname,keylen_in,hashval,add,replaced,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - ','
    - replaced
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 263
    functionName: HASH_REPLACE_BYHASHVALUE
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE_BYHASHVALUE(hh,head,fieldname,keylen_in,hashval,add,replaced)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - add
    - ','
    - replaced
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: HASH_REPLACE
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE(hh,head,fieldname,keylen_in,add,replaced)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - add
    - ','
    - replaced
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 277
    functionName: HASH_REPLACE_INORDER
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE_INORDER(hh,head,fieldname,keylen_in,add,replaced,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 285
    functionName: HASH_APPEND_LIST
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_APPEND_LIST(hh, head, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - add
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 294
    functionName: HASH_AKBI_INNER_LOOP
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_AKBI_INNER_LOOP(hh,head,add,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - add
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 309
    functionName: HASH_AKBI_INNER_LOOP
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_AKBI_INNER_LOOP(hh,head,add,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - ','
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 334
    functionName: HASH_ADD_TO_TABLE
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_TO_TABLE(hh,head,keyptr,keylen_in,hashval,add,oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - ','
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 346
    functionName: HASH_ADD_TO_TABLE
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_TO_TABLE(hh,head,keyptr,keylen_in,hashval,add,oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 382
    functionName: HASH_ADD_KEYPTR_BYHASHVALUE_INORDER
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_KEYPTR_BYHASHVALUE_INORDER(hh,head,keyptr,keylen_in,hashval,add,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen_in
    - ','
    - add
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 389
    functionName: HASH_ADD_KEYPTR_INORDER
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_KEYPTR_INORDER(hh,head,keyptr,keylen_in,add,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 392
    functionName: HASH_ADD_BYHASHVALUE_INORDER
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_BYHASHVALUE_INORDER(hh,head,fieldname,keylen_in,hashval,add,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - add
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 395
    functionName: HASH_ADD_INORDER
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_INORDER(hh,head,fieldname,keylen_in,add,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 416
    functionName: HASH_ADD_KEYPTR_BYHASHVALUE
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_KEYPTR_BYHASHVALUE(hh,head,keyptr,keylen_in,hashval,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen_in
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 423
    functionName: HASH_ADD_KEYPTR
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_KEYPTR(hh,head,keyptr,keylen_in,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 426
    functionName: HASH_ADD_BYHASHVALUE
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_BYHASHVALUE(hh,head,fieldname,keylen_in,hashval,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - fieldname
    - ','
    - keylen_in
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 429
    functionName: HASH_ADD
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD(hh,head,fieldname,keylen_in,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hashv
    - ','
    - num_bkts
    - ','
    - bkt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 434
    functionName: HASH_TO_BKT
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_TO_BKT(hashv,num_bkts,bkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - delptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 449
    functionName: HASH_DELETE
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_DELETE(hh,head,delptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - delptrhh
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 478
    functionName: HASH_DELETE_HH
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_DELETE_HH(hh,head,delptrhh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - findstr
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 485
    functionName: HASH_FIND_STR
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FIND_STR(head,findstr,out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - strfield
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 490
    functionName: HASH_ADD_STR
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_STR(head,strfield,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - strfield
    - ','
    - add
    - ','
    - replaced
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 495
    functionName: HASH_REPLACE_STR
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE_STR(head,strfield,add,replaced)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - findint
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 497
    functionName: HASH_FIND_INT
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FIND_INT(head,findint,out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - intfield
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 499
    functionName: HASH_ADD_INT
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_INT(head,intfield,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - intfield
    - ','
    - add
    - ','
    - replaced
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 501
    functionName: HASH_REPLACE_INT
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE_INT(head,intfield,add,replaced)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - findptr
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 503
    functionName: HASH_FIND_PTR
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FIND_PTR(head,findptr,out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - ptrfield
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 505
    functionName: HASH_ADD_PTR
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_PTR(head,ptrfield,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - ptrfield
    - ','
    - add
    - ','
    - replaced
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 507
    functionName: HASH_REPLACE_PTR
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_REPLACE_PTR(head,ptrfield,add,replaced)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - delptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 509
    functionName: HASH_DEL
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_DEL(head,delptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 516
    functionName: HASH_OOPS
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_OOPS(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - where
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 564
    functionName: HASH_FSCK
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FSCK(hh,head,where)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - fieldlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 578
    functionName: HASH_EMIT_KEY
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_EMIT_KEY(hh,head,keyptr,fieldlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 592
    functionName: HASH_BER
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_BER(key,keylen,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 607
    functionName: HASH_SAX
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_SAX(key,keylen,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 618
    functionName: HASH_FNV
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FNV(key,keylen,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 633
    functionName: HASH_OAT
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_OAT(key,keylen,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 636
    functionName: HASH_JEN_MIX
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_JEN_MIX(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 665
    functionName: HASH_JEN
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_JEN(key,keylen,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 720
    functionName: get16bits
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get16bits(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 725
    functionName: get16bits
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get16bits(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - keylen
    - ','
    - hashv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 735
    functionName: HASH_SFH
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_SFH(key,keylen,hashv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - tbl
    - ','
    - hh
    - ','
    - head
    - ','
    - keyptr
    - ','
    - keylen_in
    - ','
    - hashval
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 792
    functionName: HASH_FIND_IN_BKT
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FIND_IN_BKT(tbl,hh,head,keyptr,keylen_in,hashval,out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - hh
    - ','
    - addhh
    - ','
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 814
    functionName: HASH_ADD_TO_BKT
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ADD_TO_BKT(head,hh,addhh,oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - delhh
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 830
    functionName: HASH_DEL_IN_BKT
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_DEL_IN_BKT(head,delhh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - tbl
    - ','
    - oomed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 911
    functionName: HASH_EXPAND_BUCKETS
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_EXPAND_BUCKETS(hh,tbl,oomed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 917
    functionName: HASH_SORT
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_SORT(head,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - cmpfcn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 1000
    functionName: HASH_SRT
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_SRT(hh,head,cmpfcn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - hh_dst
    - ','
    - dst
    - ','
    - hh_src
    - ','
    - src
    - ','
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1063
    functionName: HASH_SELECT
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_SELECT(hh_dst, dst, hh_src, src, cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hh
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1074
    functionName: HASH_CLEAR
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_CLEAR(hh,head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hh
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1081
    functionName: HASH_OVERHEAD
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_OVERHEAD(hh,head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - el
    - ','
    - tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1086
    functionName: HASH_ITER
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 59
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ITER(hh,head,el,tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - hh
    - ','
    - head
    - ','
    - el
    - ','
    - tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1090
    functionName: HASH_ITER
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 59
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_ITER(hh,head,el,tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1094
    functionName: HASH_COUNT
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_COUNT(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hh
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1095
    functionName: HASH_CNT
    functionSourceFile: /src/mosquitto/deps/uthash.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_CNT(hh,head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: LDECLTYPE
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LDECLTYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: LDECLTYPE
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LDECLTYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: LDECLTYPE
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LDECLTYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: IF_NO_DECLTYPE
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IF_NO_DECLTYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: LDECLTYPE
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LDECLTYPE(x)
  - 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: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: UTLIST_SV
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTLIST_SV(elt,list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - elt
    - ','
    - list
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: UTLIST_NEXT
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTLIST_NEXT(elt,list,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - elt
    - ','
    - list
    - ','
    - to
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: UTLIST_NEXTASGN
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTLIST_NEXTASGN(elt,list,to,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - elt
    - ','
    - list
    - ','
    - to
    - ','
    - prev
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: UTLIST_PREVASGN
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTLIST_PREVASGN(elt,list,to,prev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - list
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: UTLIST_RS
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTLIST_RS(list)
  - 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: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: UTLIST_CASTASGN
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTLIST_CASTASGN(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - elt
    - ','
    - list
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: UTLIST_NEXT
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTLIST_NEXT(elt,list,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - elt
    - ','
    - list
    - ','
    - to
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: UTLIST_NEXTASGN
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTLIST_NEXTASGN(elt,list,to,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - elt
    - ','
    - list
    - ','
    - to
    - ','
    - prev
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: UTLIST_PREVASGN
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTLIST_PREVASGN(elt,list,to,prev)
  - 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: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: UTLIST_CASTASGN
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTLIST_CASTASGN(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - list
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: LL_SORT
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_SORT(list, cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - list
    - ','
    - cmp
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 172
    functionName: LL_SORT2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_SORT2(list, cmp, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - list
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: DL_SORT
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_SORT(list, cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - list
    - ','
    - cmp
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 236
    functionName: DL_SORT2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_SORT2(list, cmp, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - list
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: CDL_SORT
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_SORT(list, cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - list
    - ','
    - cmp
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 312
    functionName: CDL_SORT2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_SORT2(list, cmp, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: LL_PREPEND
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_PREPEND(head,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 324
    functionName: LL_PREPEND2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_PREPEND2(head,add,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head1
    - ','
    - head2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 327
    functionName: LL_CONCAT
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_CONCAT(head1,head2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head1
    - ','
    - head2
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 339
    functionName: LL_CONCAT2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_CONCAT2(head1,head2,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 342
    functionName: LL_APPEND
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_APPEND(head,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 355
    functionName: LL_APPEND2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_APPEND2(head,add,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 358
    functionName: LL_INSERT_INORDER
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_INSERT_INORDER(head,add,cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - cmp
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 370
    functionName: LL_INSERT_INORDER2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_INSERT_INORDER2(head,add,cmp,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - elt
    - ','
    - like
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 373
    functionName: LL_LOWER_BOUND
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_LOWER_BOUND(head,elt,like,cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - elt
    - ','
    - like
    - ','
    - cmp
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 386
    functionName: LL_LOWER_BOUND2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_LOWER_BOUND2(head,elt,like,cmp,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - del
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 389
    functionName: LL_DELETE
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_DELETE(head,del)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - del
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 405
    functionName: LL_DELETE2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_DELETE2(head,del,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - counter
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 409
    functionName: LL_COUNT
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_COUNT(head,el,counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - counter
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 414
    functionName: LL_COUNT2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_COUNT2(head,el,counter,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - el
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 417
    functionName: LL_FOREACH
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_FOREACH(head,el)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 420
    functionName: LL_FOREACH2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_FOREACH2(head,el,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 423
    functionName: LL_FOREACH_SAFE
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_FOREACH_SAFE(head,el,tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - tmp
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 426
    functionName: LL_FOREACH_SAFE2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_FOREACH_SAFE2(head,el,tmp,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - out
    - ','
    - field
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 429
    functionName: LL_SEARCH_SCALAR
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_SEARCH_SCALAR(head,out,field,val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - out
    - ','
    - field
    - ','
    - val
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 436
    functionName: LL_SEARCH_SCALAR2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_SEARCH_SCALAR2(head,out,field,val,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - out
    - ','
    - elt
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    functionName: LL_SEARCH
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_SEARCH(head,out,elt,cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - out
    - ','
    - elt
    - ','
    - cmp
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 446
    functionName: LL_SEARCH2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_SEARCH2(head,out,elt,cmp,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 466
    functionName: LL_REPLACE_ELEM2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_REPLACE_ELEM2(head, el, add, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 469
    functionName: LL_REPLACE_ELEM
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_REPLACE_ELEM(head, el, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 493
    functionName: LL_PREPEND_ELEM2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_PREPEND_ELEM2(head, el, add, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 495
    functionName: LL_PREPEND_ELEM
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_PREPEND_ELEM(head, el, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 508
    functionName: LL_APPEND_ELEM2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_APPEND_ELEM2(head, el, add, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 510
    functionName: LL_APPEND_ELEM
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_APPEND_ELEM(head, el, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head1
    - ','
    - head2
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 527
    functionName: LL_CONCAT2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_CONCAT2(head1,head2,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 532
    functionName: LL_APPEND2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_APPEND2(head,add,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - cmp
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 557
    functionName: LL_INSERT_INORDER2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_INSERT_INORDER2(head,add,cmp,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - del
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 574
    functionName: LL_DELETE2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_DELETE2(head,del,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 594
    functionName: LL_REPLACE_ELEM2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_REPLACE_ELEM2(head, el, add, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 618
    functionName: LL_PREPEND_ELEM2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LL_PREPEND_ELEM2(head, el, add, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 625
    functionName: DL_PREPEND
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_PREPEND(head,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 637
    functionName: DL_PREPEND2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_PREPEND2(head,add,prev,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 640
    functionName: DL_APPEND
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_APPEND(head,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 654
    functionName: DL_APPEND2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_APPEND2(head,add,prev,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 657
    functionName: DL_INSERT_INORDER
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_INSERT_INORDER(head,add,cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - cmp
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 670
    functionName: DL_INSERT_INORDER2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_INSERT_INORDER2(head,add,cmp,prev,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - elt
    - ','
    - like
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 673
    functionName: DL_LOWER_BOUND
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_LOWER_BOUND(head,elt,like,cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - elt
    - ','
    - like
    - ','
    - cmp
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 686
    functionName: DL_LOWER_BOUND2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_LOWER_BOUND2(head,elt,like,cmp,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head1
    - ','
    - head2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 689
    functionName: DL_CONCAT
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_CONCAT(head1,head2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head1
    - ','
    - head2
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 704
    functionName: DL_CONCAT2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_CONCAT2(head1,head2,prev,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - del
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 707
    functionName: DL_DELETE
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_DELETE(head,del)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - del
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 727
    functionName: DL_DELETE2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_DELETE2(head,del,prev,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - counter
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 731
    functionName: DL_COUNT
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_COUNT(head,el,counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - counter
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 736
    functionName: DL_COUNT2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_COUNT2(head,el,counter,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - el
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 739
    functionName: DL_FOREACH
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_FOREACH(head,el)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 742
    functionName: DL_FOREACH2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_FOREACH2(head,el,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - tmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 746
    functionName: DL_FOREACH_SAFE
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_FOREACH_SAFE(head,el,tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - tmp
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 749
    functionName: DL_FOREACH_SAFE2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_FOREACH_SAFE2(head,el,tmp,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 781
    functionName: DL_REPLACE_ELEM2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_REPLACE_ELEM2(head, el, add, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 784
    functionName: DL_REPLACE_ELEM
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_REPLACE_ELEM(head, el, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 803
    functionName: DL_PREPEND_ELEM2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_PREPEND_ELEM2(head, el, add, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 805
    functionName: DL_PREPEND_ELEM
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_PREPEND_ELEM(head, el, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 824
    functionName: DL_APPEND_ELEM2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_APPEND_ELEM2(head, el, add, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 826
    functionName: DL_APPEND_ELEM
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_APPEND_ELEM(head, el, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - cmp
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 858
    functionName: DL_INSERT_INORDER2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DL_INSERT_INORDER2(head,add,cmp,prev,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 865
    functionName: CDL_APPEND
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_APPEND(head,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 879
    functionName: CDL_APPEND2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_APPEND2(head,add,prev,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 882
    functionName: CDL_PREPEND
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_PREPEND(head,add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 896
    functionName: CDL_PREPEND2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_PREPEND2(head,add,prev,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 899
    functionName: CDL_INSERT_INORDER
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_INSERT_INORDER(head,add,cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - cmp
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 912
    functionName: CDL_INSERT_INORDER2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_INSERT_INORDER2(head,add,cmp,prev,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - elt
    - ','
    - like
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 915
    functionName: CDL_LOWER_BOUND
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_LOWER_BOUND(head,elt,like,cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - elt
    - ','
    - like
    - ','
    - cmp
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 928
    functionName: CDL_LOWER_BOUND2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_LOWER_BOUND2(head,elt,like,cmp,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - del
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 931
    functionName: CDL_DELETE
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_DELETE(head,del)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - del
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 942
    functionName: CDL_DELETE2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_DELETE2(head,del,prev,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - counter
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 946
    functionName: CDL_COUNT
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_COUNT(head,el,counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - counter
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 951
    functionName: CDL_COUNT2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_COUNT2(head, el, counter,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - el
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 954
    functionName: CDL_FOREACH
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_FOREACH(head,el)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 957
    functionName: CDL_FOREACH2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_FOREACH2(head,el,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - tmp1
    - ','
    - tmp2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 960
    functionName: CDL_FOREACH_SAFE
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_FOREACH_SAFE(head,el,tmp1,tmp2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - tmp1
    - ','
    - tmp2
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 965
    functionName: CDL_FOREACH_SAFE2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_FOREACH_SAFE2(head,el,tmp1,tmp2,prev,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - out
    - ','
    - field
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 968
    functionName: CDL_SEARCH_SCALAR
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_SEARCH_SCALAR(head,out,field,val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - out
    - ','
    - field
    - ','
    - val
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 975
    functionName: CDL_SEARCH_SCALAR2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_SEARCH_SCALAR2(head,out,field,val,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - out
    - ','
    - elt
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 978
    functionName: CDL_SEARCH
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_SEARCH(head,out,elt,cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - out
    - ','
    - elt
    - ','
    - cmp
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 985
    functionName: CDL_SEARCH2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_SEARCH2(head,out,elt,cmp,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 1005
    functionName: CDL_REPLACE_ELEM2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_REPLACE_ELEM2(head, el, add, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1008
    functionName: CDL_REPLACE_ELEM
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_REPLACE_ELEM(head, el, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1025
    functionName: CDL_PREPEND_ELEM2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_PREPEND_ELEM2(head, el, add, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1028
    functionName: CDL_PREPEND_ELEM
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_PREPEND_ELEM(head, el, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1042
    functionName: CDL_APPEND_ELEM2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_APPEND_ELEM2(head, el, add, prev, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - el
    - ','
    - add
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1045
    functionName: CDL_APPEND_ELEM
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_APPEND_ELEM(head, el, add)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - add
    - ','
    - cmp
    - ','
    - prev
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1074
    functionName: CDL_INSERT_INORDER2
    functionSourceFile: /src/mosquitto/deps/utlist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDL_INSERT_INORDER2(head,add,cmp,prev,next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: likely
    functionSourceFile: /src/mosquitto/deps/picohttpparser/picohttpparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: unlikely
    functionSourceFile: /src/mosquitto/deps/picohttpparser/picohttpparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: likely
    functionSourceFile: /src/mosquitto/deps/picohttpparser/picohttpparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: 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: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: unlikely
    functionSourceFile: /src/mosquitto/deps/picohttpparser/picohttpparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unlikely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: ALIGNED
    functionSourceFile: /src/mosquitto/deps/picohttpparser/picohttpparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALIGNED(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: ALIGNED
    functionSourceFile: /src/mosquitto/deps/picohttpparser/picohttpparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALIGNED(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: IS_PRINTABLE_ASCII
    functionSourceFile: /src/mosquitto/deps/picohttpparser/picohttpparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_PRINTABLE_ASCII(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: CHECK_EOF
    functionSourceFile: /src/mosquitto/deps/picohttpparser/picohttpparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_EOF()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: EXPECT_CHAR_NO_CHECK
    functionSourceFile: /src/mosquitto/deps/picohttpparser/picohttpparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPECT_CHAR_NO_CHECK(ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: EXPECT_CHAR
    functionSourceFile: /src/mosquitto/deps/picohttpparser/picohttpparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPECT_CHAR(ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tok
    - ','
    - toklen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 95
    functionName: ADVANCE_TOKEN
    functionSourceFile: /src/mosquitto/deps/picohttpparser/picohttpparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADVANCE_TOKEN(tok, toklen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:109,1
    - Dst: _mm_loadu_si128
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:110,1
    - Dst: _mm_loadu_si128
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:114,1
    - Dst: _mm_cmpestri
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:115,1
    - Dst: unlikely
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:116,1
    - Dst: likely
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - buf
    - buf_end
    - ranges
    - ranges_size
    - found
    argTypes:
    - char*
    - char*
    - char*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 132
    functionName: findchar_fast
    functionSourceFile: /src/mosquitto/deps/picohttpparser/picohttpparser.c
    functionUses: 0
    functionsReached:
    - unlikely
    - _mm_cmpestri
    - likely
    - _mm_loadu_si128
    linkageType: ''
    returnType: char
    signature: char *findchar_fast(const char *buf, const char *buf_end, const char
      *ranges, size_t ranges_size, int *found)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: findchar_fast
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:143,1
    - Dst: likely
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:148,1
    - Dst: DOIT
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:155,1
    - Dst: DOIT
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:156,1
    - Dst: DOIT
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:157,1
    - Dst: DOIT
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:158,1
    - Dst: DOIT
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:159,1
    - Dst: DOIT
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:160,1
    - Dst: DOIT
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:161,1
    - Dst: DOIT
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:162,1
    - Dst: likely
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:166,1
    - Dst: likely
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:166,1
    - Dst: unlikely
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:166,1
    - Dst: CHECK_EOF
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:173,1
    - Dst: unlikely
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:174,1
    - Dst: IS_PRINTABLE_ASCII
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:174,1
    - Dst: likely
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:175,1
    - Dst: likely
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:175,1
    - Dst: unlikely
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:175,1
    - Dst: likely
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:181,1
    - Dst: EXPECT_CHAR
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:183,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 5
    argNames:
    - buf
    - buf_end
    - token
    - token_len
    - ret
    argTypes:
    - char*
    - char*
    - char**
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 195
    functionName: get_token_to_eol
    functionSourceFile: /src/mosquitto/deps/picohttpparser/picohttpparser.c
    functionUses: 0
    functionsReached:
    - unlikely
    - findchar_fast
    - IS_PRINTABLE_ASCII
    - DOIT
    - CHECK_EOF
    - likely
    - EXPECT_CHAR
    linkageType: ''
    returnType: char
    signature: char *get_token_to_eol(const char *buf, const char *buf_end, const
      char **token, size_t *token_len, int *ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: DOIT
    functionSourceFile: /src/mosquitto/deps/picohttpparser/picohttpparser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DOIT()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_EOF
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:203,1
    - Dst: CHECK_EOF
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:206,1
    - Dst: EXPECT_CHAR
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - buf
    - buf_end
    - last_len
    - ret
    argTypes:
    - char*
    - char*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 220
    functionName: is_complete
    functionSourceFile: /src/mosquitto/deps/picohttpparser/picohttpparser.c
    functionUses: 0
    functionsReached:
    - EXPECT_CHAR
    - CHECK_EOF
    linkageType: ''
    returnType: char
    signature: char *is_complete(const char *buf, const char *buf_end, size_t last_len,
      int *ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - valp_
    - ','
    - mul_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 229
    functionName: PARSE_INT
    functionSourceFile: /src/mosquitto/deps/picohttpparser/picohttpparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSE_INT(valp_, mul_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - valp_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 240
    functionName: PARSE_INT_3
    functionSourceFile: /src/mosquitto/deps/picohttpparser/picohttpparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSE_INT_3(valp_)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: findchar_fast
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:257,1
    - Dst: CHECK_EOF
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:259,1
    - Dst: CHECK_EOF
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:269,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 6
    argNames:
    - buf
    - buf_end
    - token
    - token_len
    - next_char
    - ret
    argTypes:
    - char*
    - char*
    - char**
    - size_t*
    - char
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 274
    functionName: parse_token
    functionSourceFile: /src/mosquitto/deps/picohttpparser/picohttpparser.c
    functionUses: 0
    functionsReached:
    - findchar_fast
    - CHECK_EOF
    linkageType: ''
    returnType: char
    signature: "char *parse_token(const char *buf, const char *buf_end, const char
      **token, size_t *token_len, char next_char,\n                               int
      *ret)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CHAR_NO_CHECK
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:284,1
    - Dst: EXPECT_CHAR_NO_CHECK
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:285,1
    - Dst: EXPECT_CHAR_NO_CHECK
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:286,1
    - Dst: EXPECT_CHAR_NO_CHECK
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:287,1
    - Dst: EXPECT_CHAR_NO_CHECK
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:288,1
    - Dst: EXPECT_CHAR_NO_CHECK
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:289,1
    - Dst: EXPECT_CHAR_NO_CHECK
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:290,1
    - Dst: PARSE_INT
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - buf
    - buf_end
    - minor_version
    - ret
    argTypes:
    - char*
    - char*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 293
    functionName: parse_http_version
    functionSourceFile: /src/mosquitto/deps/picohttpparser/picohttpparser.c
    functionUses: 0
    functionsReached:
    - EXPECT_CHAR_NO_CHECK
    - PARSE_INT
    linkageType: ''
    returnType: char
    signature: char *parse_http_version(const char *buf, const char *buf_end, int
      *minor_version, int *ret)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_EOF
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:299,1
    - Dst: EXPECT_CHAR
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:302,1
    - Dst: parse_token
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:315,1
    - Dst: CHECK_EOF
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:324,1
    - Dst: get_token_to_eol
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:335,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 6
    argNames:
    - buf
    - buf_end
    - headers
    - num_headers
    - max_headers
    - ret
    argTypes:
    - char*
    - char*
    - struct phr_header*
    - size_t*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 350
    functionName: parse_headers
    functionSourceFile: /src/mosquitto/deps/picohttpparser/picohttpparser.c
    functionUses: 0
    functionsReached:
    - parse_token
    - get_token_to_eol
    - EXPECT_CHAR
    - CHECK_EOF
    linkageType: ''
    returnType: char
    signature: "char *parse_headers(const char *buf, const char *buf_end, struct phr_header
      *headers, size_t *num_headers,\n                                 size_t max_headers,
      int *ret)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_EOF
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:357,1
    - Dst: EXPECT_CHAR
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:360,1
    - Dst: parse_token
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:366,1
    - Dst: CHECK_EOF
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:371,1
    - Dst: ADVANCE_TOKEN
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:373,1
    - Dst: CHECK_EOF
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:376,1
    - Dst: parse_http_version
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:382,1
    - Dst: EXPECT_CHAR
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:387,1
    - Dst: parse_headers
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:395,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 11
    argNames:
    - buf
    - buf_end
    - method
    - method_len
    - path
    - path_len
    - minor_version
    - headers
    - num_headers
    - max_headers
    - ret
    argTypes:
    - char*
    - char*
    - char**
    - size_t*
    - char**
    - size_t*
    - int*
    - struct phr_header*
    - size_t*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 352
    functionDepth: 4
    functionLinenumber: 352
    functionLinenumberEnd: 396
    functionName: parse_request
    functionSourceFile: /src/mosquitto/deps/picohttpparser/picohttpparser.c
    functionUses: 1
    functionsReached:
    - parse_http_version
    - parse_token
    - parse_headers
    - CHECK_EOF
    - ADVANCE_TOKEN
    - EXPECT_CHAR
    linkageType: ''
    returnType: char
    signature: "char *parse_request(const char *buf, const char *buf_end, const char
      **method, size_t *method_len, const char **path,\n                                 size_t
      *path_len, int *minor_version, struct phr_header *headers, size_t *num_headers,\n
      \                                size_t max_headers, int *ret)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_complete
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:414,1
    - Dst: parse_request
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:418,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 10
    argNames:
    - buf_start
    - len
    - method
    - method_len
    - path
    - path_len
    - minor_version
    - headers
    - num_headers
    - last_len
    argTypes:
    - char*
    - size_t
    - char**
    - size_t*
    - char**
    - size_t*
    - int*
    - struct phr_header*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 398
    functionDepth: 5
    functionLinenumber: 398
    functionLinenumberEnd: 424
    functionName: phr_parse_request
    functionSourceFile: /src/mosquitto/deps/picohttpparser/picohttpparser.c
    functionUses: 1
    functionsReached:
    - parse_request
    - is_complete
    linkageType: ''
    returnType: int
    signature: "int phr_parse_request(const char *buf_start, size_t len, const char
      **method, size_t *method_len, const char **path,\n                      size_t
      *path_len, int *minor_version, struct phr_header *headers, size_t *num_headers,
      size_t last_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: parse_http_version
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:430,1
    - Dst: CHECK_EOF
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:440,1
    - Dst: PARSE_INT_3
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:447,1
    - Dst: get_token_to_eol
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:450,1
    - Dst: parse_headers
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:468,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 10
    argNames:
    - buf
    - buf_end
    - minor_version
    - status
    - msg
    - msg_len
    - headers
    - num_headers
    - max_headers
    - ret
    argTypes:
    - char*
    - char*
    - int*
    - int*
    - char**
    - size_t*
    - struct phr_header*
    - size_t*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 426
    functionDepth: 4
    functionLinenumber: 426
    functionLinenumberEnd: 469
    functionName: parse_response
    functionSourceFile: /src/mosquitto/deps/picohttpparser/picohttpparser.c
    functionUses: 0
    functionsReached:
    - parse_http_version
    - parse_headers
    - get_token_to_eol
    - CHECK_EOF
    - PARSE_INT_3
    linkageType: ''
    returnType: char
    signature: "char *parse_response(const char *buf, const char *buf_end, int *minor_version,
      int *status, const char **msg,\n                                  size_t *msg_len,
      struct phr_header *headers, size_t *num_headers, size_t max_headers, int *ret)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_complete
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:486,1
    - Dst: parse_response
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:490,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 9
    argNames:
    - buf_start
    - len
    - minor_version
    - status
    - msg
    - msg_len
    - headers
    - num_headers
    - last_len
    argTypes:
    - char*
    - size_t
    - int*
    - int*
    - char**
    - size_t*
    - struct phr_header*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 471
    functionDepth: 5
    functionLinenumber: 471
    functionLinenumberEnd: 495
    functionName: phr_parse_response
    functionSourceFile: /src/mosquitto/deps/picohttpparser/picohttpparser.c
    functionUses: 0
    functionsReached:
    - is_complete
    - parse_response
    linkageType: ''
    returnType: int
    signature: "int phr_parse_response(const char *buf_start, size_t len, int *minor_version,
      int *status, const char **msg, size_t *msg_len,\n                       struct
      phr_header *headers, size_t *num_headers, size_t last_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_complete
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:507,1
    - Dst: parse_headers
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - buf_start
    - len
    - headers
    - num_headers
    - last_len
    argTypes:
    - char*
    - size_t
    - struct phr_header*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 497
    functionDepth: 4
    functionLinenumber: 497
    functionLinenumberEnd: 516
    functionName: phr_parse_headers
    functionSourceFile: /src/mosquitto/deps/picohttpparser/picohttpparser.c
    functionUses: 0
    functionsReached:
    - parse_headers
    - is_complete
    linkageType: ''
    returnType: int
    signature: int phr_parse_headers(const char *buf_start, size_t len, struct phr_header
      *headers, size_t *num_headers, size_t last_len)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - ch
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 538
    functionName: decode_hex
    functionSourceFile: /src/mosquitto/deps/picohttpparser/picohttpparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int decode_hex(int ch)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: decode_hex
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:552,1
    - Dst: memmove
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:592,1
    - Dst: memmove
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:599,1
    - Dst: assert
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:642,1
    - Dst: memmove
      Src: /src/mosquitto/deps/picohttpparser/picohttpparser.c:650,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 114
    argCount: 3
    argNames:
    - decoder
    - buf
    - _bufsz
    argTypes:
    - struct phr_chunked_decoder*
    - char*
    - size_t*
    assertStmts:
    - condition: (!"decoder is corrupt")
      pos:
        line_end: 641
        line_start: 641
        source_file: /src/mosquitto/deps/picohttpparser/picohttpparser.c
    constantsTouched: []
    func_position:
      end: 653
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 653
    functionName: phr_decode_chunked
    functionSourceFile: /src/mosquitto/deps/picohttpparser/picohttpparser.c
    functionUses: 0
    functionsReached:
    - memmove
    - decode_hex
    - assert
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t phr_decode_chunked(struct phr_chunked_decoder *decoder, char
      *buf, size_t *_bufsz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - struct phr_chunked_decoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 658
    functionName: phr_decode_chunked_is_in_data
    functionSourceFile: /src/mosquitto/deps/picohttpparser/picohttpparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int phr_decode_chunked_is_in_data(struct phr_chunked_decoder *decoder)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:67,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:70,1
    - Dst: SSL_get_tlsext_status_ocsp_resp
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:72,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:73,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:79,1
    - Dst: d2i_OCSP_RESPONSE
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:84,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:86,1
    - Dst: OCSP_response_status
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:90,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:92,1
    - Dst: OCSP_response_status_str
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:93,1
    - Dst: OCSP_response_get1_basic
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:97,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:99,1
    - Dst: SSL_get_peer_cert_chain
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:103,1
    - Dst: sk_X509_num
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:104,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:105,1
    - Dst: sk_X509_num
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:105,1
    - Dst: SSL_CTX_get_cert_store
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:109,1
    - Dst: OCSP_basic_verify
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:116,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:117,1
    - Dst: OCSP_resp_count
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:121,1
    - Dst: OCSP_resp_get0
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:127,1
    - Dst: OCSP_single_get0_status
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:132,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:134,1
    - Dst: OCSP_cert_status_str
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:135,1
    - Dst: OCSP_check_validity
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:140,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:141,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:147,1
    - Dst: OCSP_crl_reason_str
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:148,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:155,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:161,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:164,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:170,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/mosquitto/lib/net_mosq_ocsp.c:173,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 85
    argCount: 2
    argNames:
    - ssl
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 176
    functionName: mosquitto__verify_ocsp_status_cb
    functionSourceFile: /src/mosquitto/lib/net_mosq_ocsp.c
    functionUses: 0
    functionsReached:
    - OCSP_response_status
    - OCSP_response_status_str
    - OCSP_crl_reason_str
    - log__printf
    - SSL_CTX_get_cert_store
    - OCSP_cert_status_str
    - SSL_get_tlsext_status_ocsp_resp
    - d2i_OCSP_RESPONSE
    - OCSP_single_get0_status
    - OCSP_resp_count
    - SSL_get_peer_cert_chain
    - STACK_OF
    - OCSP_response_get1_basic
    - UNUSED
    - OCSP_resp_get0
    - OCSP_check_validity
    - OCSP_basic_verify
    - OCSP_RESPONSE_free
    - sk_X509_num
    - OCSP_BASICRESP_free
    linkageType: ''
    returnType: int
    signature: int mosquitto__verify_ocsp_status_cb(SSL *ssl, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/packet_mosq.c:57,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/lib/packet_mosq.c:76,1
    - Dst: memset
      Src: /src/mosquitto/lib/packet_mosq.c:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - packet
    - command
    - remaining_length
    argTypes:
    - struct mosquitto__packet**
    - uint8_t
    - uint32_t
    assertStmts:
    - condition: (packet)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/mosquitto/lib/packet_mosq.c
    constantsTouched: []
    func_position:
      end: 96
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 96
    functionName: packet__alloc
    functionSourceFile: /src/mosquitto/lib/packet_mosq.c
    functionUses: 13
    functionsReached:
    - memset
    - mosquitto_malloc
    - assert
    linkageType: ''
    returnType: int
    signature: int packet__alloc(struct mosquitto__packet **packet, uint8_t command,
      uint32_t remaining_length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/packet_mosq.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - packet
    argTypes:
    - struct mosquitto__packet_in*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: packet__cleanup
    functionSourceFile: /src/mosquitto/lib/packet_mosq.c
    functionUses: 4
    functionsReached:
    - mosquitto_FREE
    linkageType: ''
    returnType: void
    signature: void packet__cleanup(struct mosquitto__packet_in *packet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/packet_mosq.c:126,1
    - Dst: metrics__int_dec
      Src: /src/mosquitto/lib/packet_mosq.c:128,1
    - Dst: metrics__int_dec
      Src: /src/mosquitto/lib/packet_mosq.c:129,1
    - Dst: packet__cleanup
      Src: /src/mosquitto/lib/packet_mosq.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 135
    functionName: packet__cleanup_all_no_locks
    functionSourceFile: /src/mosquitto/lib/packet_mosq.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - packet__cleanup
    - metrics__int_dec
    linkageType: ''
    returnType: void
    signature: void packet__cleanup_all_no_locks(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/packet_mosq.c:140,1
    - Dst: packet__cleanup_all_no_locks
      Src: /src/mosquitto/lib/packet_mosq.c:141,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/packet_mosq.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 3
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: packet__cleanup_all
    functionSourceFile: /src/mosquitto/lib/packet_mosq.c
    functionUses: 0
    functionsReached:
    - COMPAT_pthread_mutex_unlock
    - COMPAT_pthread_mutex_lock
    - packet__cleanup_all_no_locks
    linkageType: ''
    returnType: void
    signature: void packet__cleanup_all(struct mosquitto *mosq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_free
      Src: /src/mosquitto/lib/packet_mosq.c:150,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/packet_mosq.c:153,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/lib/packet_mosq.c:157,1
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/packet_mosq.c:162,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/lib/packet_mosq.c:171,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/lib/packet_mosq.c:172,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/packet_mosq.c:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - mosq
    - packet
    argTypes:
    - struct mosquitto*
    - struct mosquitto__packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 174
    functionName: packet__queue_append
    functionSourceFile: /src/mosquitto/lib/packet_mosq.c
    functionUses: 0
    functionsReached:
    - metrics__int_inc
    - COMPAT_pthread_mutex_unlock
    - mosquitto_free
    - COMPAT_pthread_mutex_lock
    - log__printf
    linkageType: ''
    returnType: void
    signature: void packet__queue_append(struct mosquitto *mosq, struct mosquitto__packet
      *packet)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/packet_mosq.c:182,1
    - Dst: assert
      Src: /src/mosquitto/lib/packet_mosq.c:183,1
    - Dst: packet__queue_append
      Src: /src/mosquitto/lib/packet_mosq.c:191,1
    - Dst: lws_callback_on_writable
      Src: /src/mosquitto/lib/packet_mosq.c:193,1
    - Dst: ws__prepare_packet
      Src: /src/mosquitto/lib/packet_mosq.c:198,1
    - Dst: packet__queue_append
      Src: /src/mosquitto/lib/packet_mosq.c:208,1
    - Dst: packet__write
      Src: /src/mosquitto/lib/packet_mosq.c:211,1
    - Dst: write
      Src: /src/mosquitto/lib/packet_mosq.c:217,1
    - Dst: send
      Src: /src/mosquitto/lib/packet_mosq.c:220,1
    - Dst: packet__write
      Src: /src/mosquitto/lib/packet_mosq.c:225,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - mosq
    - packet
    argTypes:
    - struct mosquitto*
    - struct mosquitto__packet*
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/mosquitto/lib/packet_mosq.c
    - condition: (packet)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/mosquitto/lib/packet_mosq.c
    constantsTouched: []
    func_position:
      end: 230
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 230
    functionName: packet__queue
    functionSourceFile: /src/mosquitto/lib/packet_mosq.c
    functionUses: 5
    functionsReached:
    - send
    - ws__prepare_packet
    - write
    - lws_callback_on_writable
    - packet__write
    - assert
    - packet__queue_append
    linkageType: ''
    returnType: int
    signature: int packet__queue(struct mosquitto *mosq, struct mosquitto__packet
      *packet)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_varint_bytes
      Src: /src/mosquitto/lib/packet_mosq.c:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - mosq
    - remaining_length
    argTypes:
    - struct mosquitto*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 247
    functionName: packet__check_oversize
    functionSourceFile: /src/mosquitto/lib/packet_mosq.c
    functionUses: 2
    functionsReached:
    - mosquitto_varint_bytes
    linkageType: ''
    returnType: int
    signature: int packet__check_oversize(struct mosquitto *mosq, uint32_t remaining_length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/packet_mosq.c:253,1
    - Dst: metrics__int_dec
      Src: /src/mosquitto/lib/packet_mosq.c:257,1
    - Dst: metrics__int_dec
      Src: /src/mosquitto/lib/packet_mosq.c:258,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/packet_mosq.c:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 269
    functionName: packet__get_next_out
    functionSourceFile: /src/mosquitto/lib/packet_mosq.c
    functionUses: 1
    functionsReached:
    - metrics__int_dec
    - COMPAT_pthread_mutex_lock
    - COMPAT_pthread_mutex_unlock
    linkageType: ''
    returnType: struct mosquitto__packet
    signature: struct mosquitto__packet *packet__get_next_out(struct mosquitto *mosq)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: net__is_connected
      Src: /src/mosquitto/lib/packet_mosq.c:281,1
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/packet_mosq.c:285,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/packet_mosq.c:287,1
    - Dst: mux__add_out
      Src: /src/mosquitto/lib/packet_mosq.c:294,1
    - Dst: mosquitto__get_state
      Src: /src/mosquitto/lib/packet_mosq.c:297,1
    - Dst: net__write
      Src: /src/mosquitto/lib/packet_mosq.c:304,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/lib/packet_mosq.c:306,1
    - Dst: WINDOWS_SET_ERRNO
      Src: /src/mosquitto/lib/packet_mosq.c:310,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/lib/packet_mosq.c:333,1
    - Dst: callback__on_publish
      Src: /src/mosquitto/lib/packet_mosq.c:336,1
    - Dst: net__socket_shutdown
      Src: /src/mosquitto/lib/packet_mosq.c:338,1
    - Dst: packet__get_next_out
      Src: /src/mosquitto/lib/packet_mosq.c:343,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/packet_mosq.c:344,1
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/packet_mosq.c:350,1
    - Dst: mosquitto_time
      Src: /src/mosquitto/lib/packet_mosq.c:351,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/packet_mosq.c:352,1
    - Dst: mux__remove_out
      Src: /src/mosquitto/lib/packet_mosq.c:357,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 63
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 361
    functionName: packet__write
    functionSourceFile: /src/mosquitto/lib/packet_mosq.c
    functionUses: 3
    functionsReached:
    - mosquitto_FREE
    - net__is_connected
    - mux__add_out
    - net__socket_shutdown
    - mosquitto__get_state
    - mosquitto_time
    - mux__remove_out
    - metrics__int_inc
    - COMPAT_pthread_mutex_unlock
    - COMPAT_pthread_mutex_lock
    - WINDOWS_SET_ERRNO
    - net__write
    - packet__get_next_out
    - callback__on_publish
    linkageType: ''
    returnType: int
    signature: int packet__write(struct mosquitto *mosq)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: func_read
      Src: /src/mosquitto/lib/packet_mosq.c:368,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/lib/packet_mosq.c:372,1
    - Dst: WINDOWS_SET_ERRNO
      Src: /src/mosquitto/lib/packet_mosq.c:378,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 393
    functionName: read_header
    functionSourceFile: /src/mosquitto/lib/packet_mosq.c
    functionUses: 0
    functionsReached:
    - WINDOWS_SET_ERRNO
    - func_read
    - metrics__int_inc
    linkageType: ''
    returnType: int
    signature: int read_header(struct mosquitto *mosq, ssize_t (*func_read)(struct
      mosquitto *, void *, size_t))
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: read_header
      Src: /src/mosquitto/lib/packet_mosq.c:403,1
    - Dst: send__disconnect
      Src: /src/mosquitto/lib/packet_mosq.c:419,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/packet_mosq.c:424,1
    - Dst: read_header
      Src: /src/mosquitto/lib/packet_mosq.c:443,1
    - Dst: send__disconnect
      Src: /src/mosquitto/lib/packet_mosq.c:531,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/lib/packet_mosq.c:539,1
    - Dst: memcpy
      Src: /src/mosquitto/lib/packet_mosq.c:554,1
    - Dst: local__read
      Src: /src/mosquitto/lib/packet_mosq.c:568,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/lib/packet_mosq.c:570,1
    - Dst: WINDOWS_SET_ERRNO
      Src: /src/mosquitto/lib/packet_mosq.c:574,1
    - Dst: keepalive__update
      Src: /src/mosquitto/lib/packet_mosq.c:583,1
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/packet_mosq.c:585,1
    - Dst: mosquitto_time
      Src: /src/mosquitto/lib/packet_mosq.c:586,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/packet_mosq.c:587,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/lib/packet_mosq.c:607,1
    - Dst: handle__packet
      Src: /src/mosquitto/lib/packet_mosq.c:609,1
    - Dst: packet__cleanup
      Src: /src/mosquitto/lib/packet_mosq.c:612,1
    - Dst: keepalive__update
      Src: /src/mosquitto/lib/packet_mosq.c:615,1
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/packet_mosq.c:617,1
    - Dst: mosquitto_time
      Src: /src/mosquitto/lib/packet_mosq.c:618,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/packet_mosq.c:619,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 168
    argCount: 2
    argNames:
    - mosq
    - state
    argTypes:
    - struct mosquitto*
    - enum mosquitto_client_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 622
    functionName: packet__read_single
    functionSourceFile: /src/mosquitto/lib/packet_mosq.c
    functionUses: 0
    functionsReached:
    - keepalive__update
    - mosquitto_time
    - mosquitto_malloc
    - local__read
    - metrics__int_inc
    - COMPAT_pthread_mutex_unlock
    - packet__cleanup
    - handle__packet
    - send__disconnect
    - WINDOWS_SET_ERRNO
    - memcpy
    - COMPAT_pthread_mutex_lock
    - UNUSED
    - read_header
    linkageType: ''
    returnType: int
    signature: int packet__read_single(struct mosquitto *mosq, enum mosquitto_client_state
      state, ssize_t (*local__read)(struct mosquitto *, void *, size_t))
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: net__is_connected
      Src: /src/mosquitto/lib/packet_mosq.c:634,1
    - Dst: mosquitto__get_state
      Src: /src/mosquitto/lib/packet_mosq.c:662,1
    - Dst: packet__read_single
      Src: /src/mosquitto/lib/packet_mosq.c:666,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 625
    functionDepth: 3
    functionLinenumber: 625
    functionLinenumberEnd: 673
    functionName: packet__read
    functionSourceFile: /src/mosquitto/lib/packet_mosq.c
    functionUses: 2
    functionsReached:
    - mosquitto__get_state
    - net__is_connected
    - packet__read_single
    linkageType: ''
    returnType: int
    signature: int packet__read(struct mosquitto *mosq)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log__printf
      Src: /src/mosquitto/lib/handle_auth.c:45,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/handle_auth.c:45,1
    - Dst: packet__read_byte
      Src: /src/mosquitto/lib/handle_auth.c:54,1
    - Dst: property__read_all
      Src: /src/mosquitto/lib/handle_auth.c:58,1
    - Dst: mosquitto_property_read_string
      Src: /src/mosquitto/lib/handle_auth.c:63,1
    - Dst: mosquitto_property_read_binary
      Src: /src/mosquitto/lib/handle_auth.c:64,1
    - Dst: callback__on_ext_auth
      Src: /src/mosquitto/lib/handle_auth.c:65,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/handle_auth.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 69
    functionName: handle__auth
    functionSourceFile: /src/mosquitto/lib/handle_auth.c
    functionUses: 1
    functionsReached:
    - property__read_all
    - SAFE_PRINT
    - mosquitto_property_read_binary
    - packet__read_byte
    - log__printf
    - mosquitto_property_free_all
    - callback__on_ext_auth
    - mosquitto_property_read_string
    linkageType: ''
    returnType: int
    signature: int handle__auth(struct mosquitto *mosq)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/send_disconnect.c:43,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/send_disconnect.c:47,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/send_disconnect.c:47,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/send_disconnect.c:51,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/send_disconnect.c:51,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/send_disconnect.c:55,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/send_disconnect.c:55,1
    - Dst: mosquitto_property_get_remaining_length
      Src: /src/mosquitto/lib/send_disconnect.c:61,1
    - Dst: packet__alloc
      Src: /src/mosquitto/lib/send_disconnect.c:67,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/send_disconnect.c:69,1
    - Dst: packet__write_byte
      Src: /src/mosquitto/lib/send_disconnect.c:73,1
    - Dst: property__write_all
      Src: /src/mosquitto/lib/send_disconnect.c:75,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/lib/send_disconnect.c:80,1
    - Dst: packet__queue
      Src: /src/mosquitto/lib/send_disconnect.c:82,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - mosq
    - reason_code
    - properties
    argTypes:
    - struct mosquitto*
    - uint8_t
    - mosquitto_property*
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/mosquitto/lib/send_disconnect.c
    constantsTouched: []
    func_position:
      end: 83
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 83
    functionName: send__disconnect
    functionSourceFile: /src/mosquitto/lib/send_disconnect.c
    functionUses: 8
    functionsReached:
    - mosquitto_FREE
    - packet__write_byte
    - packet__queue
    - SAFE_PRINT
    - mosquitto_property_get_remaining_length
    - property__write_all
    - metrics__int_inc
    - assert
    - packet__alloc
    - log__printf
    linkageType: ''
    returnType: int
    signature: int send__disconnect(struct mosquitto *mosq, uint8_t reason_code, const
      mosquitto_property *properties)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/util_mosq.c:65,1
    - Dst: mosquitto_time
      Src: /src/mosquitto/lib/util_mosq.c:69,1
    - Dst: net__is_connected
      Src: /src/mosquitto/lib/util_mosq.c:75,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/util_mosq.c:78,1
    - Dst: net__socket_close
      Src: /src/mosquitto/lib/util_mosq.c:79,1
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/util_mosq.c:83,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/util_mosq.c:86,1
    - Dst: net__is_connected
      Src: /src/mosquitto/lib/util_mosq.c:87,1
    - Dst: mosquitto__get_state
      Src: /src/mosquitto/lib/util_mosq.c:90,1
    - Dst: send__pingreq
      Src: /src/mosquitto/lib/util_mosq.c:92,1
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/util_mosq.c:94,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/util_mosq.c:97,1
    - Dst: context__send_will
      Src: /src/mosquitto/lib/util_mosq.c:102,1
    - Dst: net__socket_close
      Src: /src/mosquitto/lib/util_mosq.c:105,1
    - Dst: net__socket_close
      Src: /src/mosquitto/lib/util_mosq.c:107,1
    - Dst: mosquitto__get_state
      Src: /src/mosquitto/lib/util_mosq.c:108,1
    - Dst: callback__on_disconnect
      Src: /src/mosquitto/lib/util_mosq.c:114,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/mosquitto/lib/util_mosq.c
    constantsTouched: []
    func_position:
      end: 121
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 121
    functionName: mosquitto__check_keepalive
    functionSourceFile: /src/mosquitto/lib/util_mosq.c
    functionUses: 1
    functionsReached:
    - net__is_connected
    - net__socket_close
    - mosquitto__get_state
    - mosquitto_time
    - assert
    - COMPAT_pthread_mutex_unlock
    - send__pingreq
    - context__send_will
    - callback__on_disconnect
    - COMPAT_pthread_mutex_lock
    - log__printf
    linkageType: ''
    returnType: int
    signature: int mosquitto__check_keepalive(struct mosquitto *mosq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/util_mosq.c:134,1
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/util_mosq.c:136,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/util_mosq.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/mosquitto/lib/util_mosq.c
    constantsTouched: []
    func_position:
      end: 145
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 145
    functionName: mosquitto__mid_generate
    functionSourceFile: /src/mosquitto/lib/util_mosq.c
    functionUses: 4
    functionsReached:
    - COMPAT_pthread_mutex_unlock
    - COMPAT_pthread_mutex_lock
    - assert
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t mosquitto__mid_generate(struct mosquitto *mosq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto__hex2bin
      Src: /src/mosquitto/lib/util_mosq.c:155,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/lib/util_mosq.c:159,1
    - Dst: memcpy
      Src: /src/mosquitto/lib/util_mosq.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - hex
    - bin
    argTypes:
    - char*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 166
    functionName: mosquitto__hex2bin_sha1
    functionSourceFile: /src/mosquitto/lib/util_mosq.c
    functionUses: 0
    functionsReached:
    - mosquitto__hex2bin
    - memcpy
    - mosquitto_malloc
    linkageType: ''
    returnType: int
    signature: int mosquitto__hex2bin_sha1(const char *hex, unsigned char **bin)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/lib/util_mosq.c:177,1
    - Dst: strncmp
      Src: /src/mosquitto/lib/util_mosq.c:178,1
    - Dst: BN_hex2bn
      Src: /src/mosquitto/lib/util_mosq.c:190,1
    - Dst: BN_free
      Src: /src/mosquitto/lib/util_mosq.c:192,1
    - Dst: BN_num_bytes
      Src: /src/mosquitto/lib/util_mosq.c:196,1
    - Dst: BN_free
      Src: /src/mosquitto/lib/util_mosq.c:197,1
    - Dst: BN_bn2bin
      Src: /src/mosquitto/lib/util_mosq.c:201,1
    - Dst: BN_free
      Src: /src/mosquitto/lib/util_mosq.c:202,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - hex
    - bin
    - bin_max_len
    argTypes:
    - char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 204
    functionName: mosquitto__hex2bin
    functionSourceFile: /src/mosquitto/lib/util_mosq.c
    functionUses: 2
    functionsReached:
    - strncmp
    - BN_bn2bin
    - strlen
    - BN_hex2bn
    - BN_free
    - BN_num_bytes
    linkageType: ''
    returnType: int
    signature: int mosquitto__hex2bin(const char *hex, unsigned char *bin, int bin_max_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: util__increment_receive_quota
    functionSourceFile: /src/mosquitto/lib/util_mosq.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void util__increment_receive_quota(struct mosquitto *mosq)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 221
    functionName: util__increment_send_quota
    functionSourceFile: /src/mosquitto/lib/util_mosq.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void util__increment_send_quota(struct mosquitto *mosq)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: util__decrement_receive_quota
    functionSourceFile: /src/mosquitto/lib/util_mosq.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void util__decrement_receive_quota(struct mosquitto *mosq)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: util__decrement_send_quota
    functionSourceFile: /src/mosquitto/lib/util_mosq.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void util__decrement_send_quota(struct mosquitto *mosq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/util_mosq.c:242,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/util_mosq.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - mosq
    - state
    argTypes:
    - struct mosquitto*
    - enum mosquitto_client_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 252
    functionName: mosquitto__set_state
    functionSourceFile: /src/mosquitto/lib/util_mosq.c
    functionUses: 20
    functionsReached:
    - COMPAT_pthread_mutex_lock
    - COMPAT_pthread_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int mosquitto__set_state(struct mosquitto *mosq, enum mosquitto_client_state
      state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/util_mosq.c:258,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/util_mosq.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 263
    functionName: mosquitto__get_state
    functionSourceFile: /src/mosquitto/lib/util_mosq.c
    functionUses: 5
    functionsReached:
    - COMPAT_pthread_mutex_lock
    - COMPAT_pthread_mutex_unlock
    linkageType: ''
    returnType: enum mosquitto_client_state
    signature: enum mosquitto_client_state mosquitto__get_state(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/util_mosq.c:270,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/util_mosq.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mosq
    - request_disconnect
    argTypes:
    - struct mosquitto*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: mosquitto__set_request_disconnect
    functionSourceFile: /src/mosquitto/lib/util_mosq.c
    functionUses: 0
    functionsReached:
    - COMPAT_pthread_mutex_lock
    - COMPAT_pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void mosquitto__set_request_disconnect(struct mosquitto *mosq, bool
      request_disconnect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/util_mosq.c:280,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/util_mosq.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 285
    functionName: mosquitto__get_request_disconnect
    functionSourceFile: /src/mosquitto/lib/util_mosq.c
    functionUses: 0
    functionsReached:
    - COMPAT_pthread_mutex_lock
    - COMPAT_pthread_mutex_unlock
    linkageType: ''
    returnType: bool
    signature: bool mosquitto__get_request_disconnect(struct mosquitto *mosq)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/handle_unsuback.c:50,1
    - Dst: mosquitto__get_state
      Src: /src/mosquitto/lib/handle_unsuback.c:52,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/handle_unsuback.c:64,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/handle_unsuback.c:64,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/handle_unsuback.c:66,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/handle_unsuback.c:66,1
    - Dst: packet__read_uint16
      Src: /src/mosquitto/lib/handle_unsuback.c:68,1
    - Dst: property__read_all
      Src: /src/mosquitto/lib/handle_unsuback.c:77,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/lib/handle_unsuback.c:84,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/handle_unsuback.c:86,1
    - Dst: packet__read_byte
      Src: /src/mosquitto/lib/handle_unsuback.c:90,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/handle_unsuback.c:92,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/handle_unsuback.c:93,1
    - Dst: callback__on_unsubscribe
      Src: /src/mosquitto/lib/handle_unsuback.c:101,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/handle_unsuback.c:103,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/handle_unsuback.c:104,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/mosquitto/lib/handle_unsuback.c
    constantsTouched: []
    func_position:
      end: 107
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 107
    functionName: handle__unsuback
    functionSourceFile: /src/mosquitto/lib/handle_unsuback.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - callback__on_unsubscribe
    - SAFE_PRINT
    - property__read_all
    - mosquitto__get_state
    - packet__read_uint16
    - mosquitto_malloc
    - assert
    - packet__read_byte
    - log__printf
    - mosquitto_property_free_all
    linkageType: ''
    returnType: int
    signature: int handle__unsuback(struct mosquitto *mosq)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_identifier
      Src: /src/mosquitto/lib/handle_publish.c:41,1
    - Dst: mosquitto_property_varint_value
      Src: /src/mosquitto/lib/handle_publish.c:53,1
    - Dst: mosquitto_property_int16_value
      Src: /src/mosquitto/lib/handle_publish.c:60,1
    - Dst: alias__add_r2l
      Src: /src/mosquitto/lib/handle_publish.c:66,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/handle_publish.c:71,1
    - Dst: alias__find_by_alias
      Src: /src/mosquitto/lib/handle_publish.c:72,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/lib/handle_publish.c:82,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 4
    argNames:
    - mosq
    - props
    - message
    - topic_alias
    argTypes:
    - struct mosquitto*
    - mosquitto_property*
    - struct mosquitto_message_all*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 86
    functionName: property__process_publish
    functionSourceFile: /src/mosquitto/lib/handle_publish.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - alias__find_by_alias
    - mosquitto_property_identifier
    - mosquitto_property_next
    - mosquitto_property_varint_value
    - mosquitto_property_int16_value
    - alias__add_r2l
    linkageType: ''
    returnType: int
    signature: int property__process_publish(struct mosquitto *mosq, mosquitto_property
      *props, struct mosquitto_message_all *message, uint16_t *topic_alias)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/handle_publish.c:99,1
    - Dst: mosquitto__get_state
      Src: /src/mosquitto/lib/handle_publish.c:101,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/lib/handle_publish.c:105,1
    - Dst: packet__read_string
      Src: /src/mosquitto/lib/handle_publish.c:116,1
    - Dst: message__cleanup
      Src: /src/mosquitto/lib/handle_publish.c:118,1
    - Dst: message__cleanup
      Src: /src/mosquitto/lib/handle_publish.c:122,1
    - Dst: message__cleanup
      Src: /src/mosquitto/lib/handle_publish.c:129,1
    - Dst: packet__read_uint16
      Src: /src/mosquitto/lib/handle_publish.c:135,1
    - Dst: message__cleanup
      Src: /src/mosquitto/lib/handle_publish.c:137,1
    - Dst: message__cleanup
      Src: /src/mosquitto/lib/handle_publish.c:141,1
    - Dst: property__read_all
      Src: /src/mosquitto/lib/handle_publish.c:148,1
    - Dst: message__cleanup
      Src: /src/mosquitto/lib/handle_publish.c:150,1
    - Dst: property__process_publish
      Src: /src/mosquitto/lib/handle_publish.c:154,1
    - Dst: message__cleanup
      Src: /src/mosquitto/lib/handle_publish.c:156,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/handle_publish.c:157,1
    - Dst: message__cleanup
      Src: /src/mosquitto/lib/handle_publish.c:163,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/handle_publish.c:164,1
    - Dst: mosquitto_pub_topic_check
      Src: /src/mosquitto/lib/handle_publish.c:167,1
    - Dst: message__cleanup
      Src: /src/mosquitto/lib/handle_publish.c:168,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/handle_publish.c:169,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/lib/handle_publish.c:175,1
    - Dst: message__cleanup
      Src: /src/mosquitto/lib/handle_publish.c:177,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/handle_publish.c:178,1
    - Dst: packet__read_bytes
      Src: /src/mosquitto/lib/handle_publish.c:181,1
    - Dst: message__cleanup
      Src: /src/mosquitto/lib/handle_publish.c:183,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/handle_publish.c:184,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/handle_publish.c:188,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/handle_publish.c:190,1
    - Dst: callback__on_message
      Src: /src/mosquitto/lib/handle_publish.c:196,1
    - Dst: message__cleanup
      Src: /src/mosquitto/lib/handle_publish.c:197,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/handle_publish.c:198,1
    - Dst: util__decrement_receive_quota
      Src: /src/mosquitto/lib/handle_publish.c:201,1
    - Dst: send__puback
      Src: /src/mosquitto/lib/handle_publish.c:202,1
    - Dst: callback__on_message
      Src: /src/mosquitto/lib/handle_publish.c:203,1
    - Dst: message__cleanup
      Src: /src/mosquitto/lib/handle_publish.c:204,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/handle_publish.c:205,1
    - Dst: util__decrement_receive_quota
      Src: /src/mosquitto/lib/handle_publish.c:209,1
    - Dst: send__pubrec
      Src: /src/mosquitto/lib/handle_publish.c:210,1
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/handle_publish.c:211,1
    - Dst: message__queue
      Src: /src/mosquitto/lib/handle_publish.c:213,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/handle_publish.c:214,1
    - Dst: message__cleanup
      Src: /src/mosquitto/lib/handle_publish.c:217,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/handle_publish.c:218,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 106
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/mosquitto/lib/handle_publish.c
    constantsTouched: []
    func_position:
      end: 221
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 221
    functionName: handle__publish
    functionSourceFile: /src/mosquitto/lib/handle_publish.c
    functionUses: 1
    functionsReached:
    - property__read_all
    - SAFE_PRINT
    - packet__read_uint16
    - util__decrement_receive_quota
    - message__queue
    - callback__on_message
    - COMPAT_pthread_mutex_lock
    - log__printf
    - send__pubrec
    - mosquitto_property_free_all
    - COMPAT_pthread_mutex_unlock
    - mosquitto_pub_topic_check
    - packet__read_string
    - mosquitto_calloc
    - assert
    - packet__read_bytes
    - send__puback
    - mosquitto__get_state
    - property__process_publish
    - message__cleanup
    linkageType: ''
    returnType: int
    signature: int handle__publish(struct mosquitto *mosq)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/read_handle.c:39,1
    - Dst: handle__pingreq
      Src: /src/mosquitto/lib/read_handle.c:43,1
    - Dst: handle__pingresp
      Src: /src/mosquitto/lib/read_handle.c:46,1
    - Dst: handle__pubackcomp
      Src: /src/mosquitto/lib/read_handle.c:49,1
    - Dst: handle__pubackcomp
      Src: /src/mosquitto/lib/read_handle.c:52,1
    - Dst: handle__publish
      Src: /src/mosquitto/lib/read_handle.c:55,1
    - Dst: handle__pubrec
      Src: /src/mosquitto/lib/read_handle.c:58,1
    - Dst: handle__pubrel
      Src: /src/mosquitto/lib/read_handle.c:61,1
    - Dst: handle__connack
      Src: /src/mosquitto/lib/read_handle.c:64,1
    - Dst: handle__suback
      Src: /src/mosquitto/lib/read_handle.c:67,1
    - Dst: handle__unsuback
      Src: /src/mosquitto/lib/read_handle.c:70,1
    - Dst: handle__disconnect
      Src: /src/mosquitto/lib/read_handle.c:73,1
    - Dst: handle__auth
      Src: /src/mosquitto/lib/read_handle.c:76,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/read_handle.c:80,1
    - Dst: send__disconnect
      Src: /src/mosquitto/lib/read_handle.c:87,1
    - Dst: send__disconnect
      Src: /src/mosquitto/lib/read_handle.c:89,1
    - Dst: send__disconnect
      Src: /src/mosquitto/lib/read_handle.c:91,1
    - Dst: send__disconnect
      Src: /src/mosquitto/lib/read_handle.c:93,1
    - Dst: send__disconnect
      Src: /src/mosquitto/lib/read_handle.c:95,1
    - Dst: send__disconnect
      Src: /src/mosquitto/lib/read_handle.c:97,1
    - Dst: send__disconnect
      Src: /src/mosquitto/lib/read_handle.c:99,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 68
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/mosquitto/lib/read_handle.c
    constantsTouched: []
    func_position:
      end: 104
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 104
    functionName: handle__packet
    functionSourceFile: /src/mosquitto/lib/read_handle.c
    functionUses: 2
    functionsReached:
    - handle__pubackcomp
    - handle__pubrel
    - handle__unsuback
    - handle__pingresp
    - handle__connack
    - handle__publish
    - assert
    - handle__suback
    - handle__pingreq
    - handle__pubrec
    - handle__auth
    - log__printf
    - send__disconnect
    - handle__disconnect
    linkageType: ''
    returnType: int
    signature: int handle__packet(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: WINDOWS_SET_ERRNO
    functionSourceFile: /src/mosquitto/lib/mosquitto_internal.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WINDOWS_SET_ERRNO()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: SAFE_PRINT
    functionSourceFile: /src/mosquitto/lib/mosquitto_internal.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAFE_PRINT(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: SAFE_FREE
    functionSourceFile: /src/mosquitto/lib/mosquitto_internal.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAFE_FREE(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 476
    functionName: STREMPTY
    functionSourceFile: /src/mosquitto/lib/mosquitto_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREMPTY(str)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/handle_pubrel.c:51,1
    - Dst: mosquitto__get_state
      Src: /src/mosquitto/lib/handle_pubrel.c:53,1
    - Dst: packet__read_uint16
      Src: /src/mosquitto/lib/handle_pubrel.c:65,1
    - Dst: packet__read_byte
      Src: /src/mosquitto/lib/handle_pubrel.c:74,1
    - Dst: property__read_all
      Src: /src/mosquitto/lib/handle_pubrel.c:84,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/handle_pubrel.c:90,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/handle_pubrel.c:99,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/handle_pubrel.c:99,1
    - Dst: db__message_release_incoming
      Src: /src/mosquitto/lib/handle_pubrel.c:101,1
    - Dst: send__pubcomp
      Src: /src/mosquitto/lib/handle_pubrel.c:109,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/handle_pubrel.c:114,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/handle_pubrel.c:114,1
    - Dst: send__pubcomp
      Src: /src/mosquitto/lib/handle_pubrel.c:116,1
    - Dst: message__remove
      Src: /src/mosquitto/lib/handle_pubrel.c:118,1
    - Dst: message__remove
      Src: /src/mosquitto/lib/handle_pubrel.c:122,1
    - Dst: callback__on_message
      Src: /src/mosquitto/lib/handle_pubrel.c:126,1
    - Dst: message__cleanup
      Src: /src/mosquitto/lib/handle_pubrel.c:127,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 67
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/mosquitto/lib/handle_pubrel.c
    constantsTouched: []
    func_position:
      end: 136
      start: 41
    functionDepth: 6
    functionLinenumber: 41
    functionLinenumberEnd: 136
    functionName: handle__pubrel
    functionSourceFile: /src/mosquitto/lib/handle_pubrel.c
    functionUses: 2
    functionsReached:
    - db__message_release_incoming
    - property__read_all
    - SAFE_PRINT
    - mosquitto__get_state
    - packet__read_uint16
    - assert
    - callback__on_message
    - message__remove
    - message__cleanup
    - packet__read_byte
    - log__printf
    - mosquitto_property_free_all
    - send__pubcomp
    linkageType: ''
    returnType: int
    signature: int handle__pubrel(struct mosquitto *mosq)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/handle_pubackcomp.c:49,1
    - Dst: mosquitto__get_state
      Src: /src/mosquitto/lib/handle_pubackcomp.c:51,1
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/handle_pubackcomp.c:60,1
    - Dst: util__increment_send_quota
      Src: /src/mosquitto/lib/handle_pubackcomp.c:61,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/handle_pubackcomp.c:62,1
    - Dst: packet__read_uint16
      Src: /src/mosquitto/lib/handle_pubackcomp.c:64,1
    - Dst: packet__read_byte
      Src: /src/mosquitto/lib/handle_pubackcomp.c:84,1
    - Dst: property__read_all
      Src: /src/mosquitto/lib/handle_pubackcomp.c:90,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/handle_pubackcomp.c:107,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/handle_pubackcomp.c:115,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/handle_pubackcomp.c:121,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/handle_pubackcomp.c:126,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/handle_pubackcomp.c:126,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/handle_pubackcomp.c:129,1
    - Dst: db__message_delete_outgoing
      Src: /src/mosquitto/lib/handle_pubackcomp.c:131,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/handle_pubackcomp.c:133,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/handle_pubackcomp.c:133,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/handle_pubackcomp.c:139,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/handle_pubackcomp.c:139,1
    - Dst: message__delete
      Src: /src/mosquitto/lib/handle_pubackcomp.c:141,1
    - Dst: callback__on_publish
      Src: /src/mosquitto/lib/handle_pubackcomp.c:144,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/handle_pubackcomp.c:145,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/handle_pubackcomp.c:147,1
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/handle_pubackcomp.c:154,1
    - Dst: message__release_to_inflight
      Src: /src/mosquitto/lib/handle_pubackcomp.c:155,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/handle_pubackcomp.c:156,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 82
    argCount: 2
    argNames:
    - mosq
    - type
    argTypes:
    - struct mosquitto*
    - char*
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/mosquitto/lib/handle_pubackcomp.c
    constantsTouched: []
    func_position:
      end: 160
      start: 41
    functionDepth: 7
    functionLinenumber: 41
    functionLinenumberEnd: 160
    functionName: handle__pubackcomp
    functionSourceFile: /src/mosquitto/lib/handle_pubackcomp.c
    functionUses: 2
    functionsReached:
    - property__read_all
    - SAFE_PRINT
    - util__increment_send_quota
    - mosquitto__get_state
    - packet__read_uint16
    - db__message_delete_outgoing
    - COMPAT_pthread_mutex_unlock
    - assert
    - message__release_to_inflight
    - COMPAT_pthread_mutex_lock
    - packet__read_byte
    - log__printf
    - mosquitto_property_free_all
    - callback__on_publish
    - message__delete
    linkageType: ''
    returnType: int
    signature: int handle__pubackcomp(struct mosquitto *mosq, const char *type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/send_mosq.c:44,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/send_mosq.c:46,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/send_mosq.c:46,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/send_mosq.c:48,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/send_mosq.c:48,1
    - Dst: send__simple_command
      Src: /src/mosquitto/lib/send_mosq.c:50,1
    - Dst: mosquitto_time
      Src: /src/mosquitto/lib/send_mosq.c:52,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/lib/send_mosq.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/mosquitto/lib/send_mosq.c
    constantsTouched: []
    func_position:
      end: 58
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 58
    functionName: send__pingreq
    functionSourceFile: /src/mosquitto/lib/send_mosq.c
    functionUses: 1
    functionsReached:
    - send__simple_command
    - SAFE_PRINT
    - mosquitto_time
    - metrics__int_inc
    - assert
    - log__printf
    linkageType: ''
    returnType: int
    signature: int send__pingreq(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log__printf
      Src: /src/mosquitto/lib/send_mosq.c:64,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/send_mosq.c:64,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/lib/send_mosq.c:65,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/send_mosq.c:67,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/send_mosq.c:67,1
    - Dst: send__simple_command
      Src: /src/mosquitto/lib/send_mosq.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: send__pingresp
    functionSourceFile: /src/mosquitto/lib/send_mosq.c
    functionUses: 0
    functionsReached:
    - log__printf
    - send__simple_command
    - metrics__int_inc
    - SAFE_PRINT
    linkageType: ''
    returnType: int
    signature: int send__pingresp(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log__printf
      Src: /src/mosquitto/lib/send_mosq.c:76,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/send_mosq.c:76,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/lib/send_mosq.c:77,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/send_mosq.c:79,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/send_mosq.c:79,1
    - Dst: util__increment_receive_quota
      Src: /src/mosquitto/lib/send_mosq.c:81,1
    - Dst: send__command_with_mid
      Src: /src/mosquitto/lib/send_mosq.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - mosq
    - mid
    - reason_code
    - properties
    argTypes:
    - struct mosquitto*
    - uint16_t
    - uint8_t
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: send__puback
    functionSourceFile: /src/mosquitto/lib/send_mosq.c
    functionUses: 4
    functionsReached:
    - SAFE_PRINT
    - send__command_with_mid
    - util__increment_receive_quota
    - metrics__int_inc
    - log__printf
    linkageType: ''
    returnType: int
    signature: int send__puback(struct mosquitto *mosq, uint16_t mid, uint8_t reason_code,
      const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log__printf
      Src: /src/mosquitto/lib/send_mosq.c:90,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/send_mosq.c:90,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/lib/send_mosq.c:91,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/send_mosq.c:93,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/send_mosq.c:93,1
    - Dst: util__increment_receive_quota
      Src: /src/mosquitto/lib/send_mosq.c:95,1
    - Dst: send__command_with_mid
      Src: /src/mosquitto/lib/send_mosq.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - mosq
    - mid
    - properties
    argTypes:
    - struct mosquitto*
    - uint16_t
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 98
    functionName: send__pubcomp
    functionSourceFile: /src/mosquitto/lib/send_mosq.c
    functionUses: 1
    functionsReached:
    - SAFE_PRINT
    - send__command_with_mid
    - util__increment_receive_quota
    - metrics__int_inc
    - log__printf
    linkageType: ''
    returnType: int
    signature: int send__pubcomp(struct mosquitto *mosq, uint16_t mid, const mosquitto_property
      *properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log__printf
      Src: /src/mosquitto/lib/send_mosq.c:104,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/send_mosq.c:104,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/lib/send_mosq.c:105,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/send_mosq.c:107,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/send_mosq.c:107,1
    - Dst: util__increment_receive_quota
      Src: /src/mosquitto/lib/send_mosq.c:110,1
    - Dst: send__command_with_mid
      Src: /src/mosquitto/lib/send_mosq.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - mosq
    - mid
    - reason_code
    - properties
    argTypes:
    - struct mosquitto*
    - uint16_t
    - uint8_t
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 114
    functionName: send__pubrec
    functionSourceFile: /src/mosquitto/lib/send_mosq.c
    functionUses: 6
    functionsReached:
    - SAFE_PRINT
    - send__command_with_mid
    - util__increment_receive_quota
    - metrics__int_inc
    - log__printf
    linkageType: ''
    returnType: int
    signature: int send__pubrec(struct mosquitto *mosq, uint16_t mid, uint8_t reason_code,
      const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log__printf
      Src: /src/mosquitto/lib/send_mosq.c:120,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/send_mosq.c:120,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/lib/send_mosq.c:121,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/send_mosq.c:123,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/send_mosq.c:123,1
    - Dst: send__command_with_mid
      Src: /src/mosquitto/lib/send_mosq.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - mid
    - properties
    argTypes:
    - struct mosquitto*
    - uint16_t
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 127
    functionName: send__pubrel
    functionSourceFile: /src/mosquitto/lib/send_mosq.c
    functionUses: 1
    functionsReached:
    - log__printf
    - send__command_with_mid
    - metrics__int_inc
    - SAFE_PRINT
    linkageType: ''
    returnType: int
    signature: int send__pubrel(struct mosquitto *mosq, uint16_t mid, const mosquitto_property
      *properties)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/send_mosq.c:137,1
    - Dst: mosquitto_property_get_remaining_length
      Src: /src/mosquitto/lib/send_mosq.c:150,1
    - Dst: packet__alloc
      Src: /src/mosquitto/lib/send_mosq.c:154,1
    - Dst: packet__write_uint16
      Src: /src/mosquitto/lib/send_mosq.c:159,1
    - Dst: packet__write_byte
      Src: /src/mosquitto/lib/send_mosq.c:163,1
    - Dst: property__write_all
      Src: /src/mosquitto/lib/send_mosq.c:166,1
    - Dst: packet__queue
      Src: /src/mosquitto/lib/send_mosq.c:170,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 6
    argNames:
    - mosq
    - command
    - mid
    - dup
    - reason_code
    - properties
    argTypes:
    - struct mosquitto*
    - uint8_t
    - uint16_t
    - bool
    - uint8_t
    - mosquitto_property*
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/mosquitto/lib/send_mosq.c
    constantsTouched: []
    func_position:
      end: 171
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 171
    functionName: send__command_with_mid
    functionSourceFile: /src/mosquitto/lib/send_mosq.c
    functionUses: 4
    functionsReached:
    - packet__write_byte
    - packet__queue
    - mosquitto_property_get_remaining_length
    - property__write_all
    - assert
    - packet__alloc
    - packet__write_uint16
    linkageType: ''
    returnType: int
    signature: int send__command_with_mid(struct mosquitto *mosq, uint8_t command,
      uint16_t mid, bool dup, uint8_t reason_code, const mosquitto_property *properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/send_mosq.c:180,1
    - Dst: packet__alloc
      Src: /src/mosquitto/lib/send_mosq.c:182,1
    - Dst: packet__queue
      Src: /src/mosquitto/lib/send_mosq.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mosq
    - command
    argTypes:
    - struct mosquitto*
    - uint8_t
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/mosquitto/lib/send_mosq.c
    constantsTouched: []
    func_position:
      end: 188
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 188
    functionName: send__simple_command
    functionSourceFile: /src/mosquitto/lib/send_mosq.c
    functionUses: 2
    functionsReached:
    - packet__queue
    - packet__alloc
    - assert
    linkageType: ''
    returnType: int
    signature: int send__simple_command(struct mosquitto *mosq, uint8_t command)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/logging_mosq.c:38,1
    - Dst: assert
      Src: /src/mosquitto/lib/logging_mosq.c:39,1
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/logging_mosq.c:41,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/logging_mosq.c:43,1
    - Dst: strlen
      Src: /src/mosquitto/lib/logging_mosq.c:46,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/lib/logging_mosq.c:47,1
    - Dst: va_start
      Src: /src/mosquitto/lib/logging_mosq.c:52,1
    - Dst: vsnprintf
      Src: /src/mosquitto/lib/logging_mosq.c:53,1
    - Dst: va_end
      Src: /src/mosquitto/lib/logging_mosq.c:54,1
    - Dst: on_log
      Src: /src/mosquitto/lib/logging_mosq.c:57,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/logging_mosq.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - mosq
    - priority
    - fmt
    argTypes:
    - struct mosquitto*
    - unsigned int
    - char*
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/mosquitto/lib/logging_mosq.c
    - condition: (fmt)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/mosquitto/lib/logging_mosq.c
    constantsTouched: []
    func_position:
      end: 63
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 63
    functionName: log__printf
    functionSourceFile: /src/mosquitto/lib/logging_mosq.c
    functionUses: 155
    functionsReached:
    - mosquitto_FREE
    - mosquitto_malloc
    - COMPAT_pthread_mutex_unlock
    - assert
    - strlen
    - va_end
    - COMPAT_pthread_mutex_lock
    - va_start
    - vsnprintf
    - on_log
    linkageType: ''
    returnType: int
    signature: int log__printf(struct mosquitto *mosq, unsigned int priority, const
      char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: SSL_DATA_PENDING
    functionSourceFile: /src/mosquitto/lib/tls_mosq.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_DATA_PENDING(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: SSL_DATA_PENDING
    functionSourceFile: /src/mosquitto/lib/tls_mosq.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSL_DATA_PENDING(A)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_pub_topic_check
      Src: /src/mosquitto/lib/will_mosq.c:55,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/lib/will_mosq.c:58,1
    - Dst: strlen
      Src: /src/mosquitto/lib/will_mosq.c:58,1
    - Dst: mosquitto_property_check_command
      Src: /src/mosquitto/lib/will_mosq.c:68,1
    - Dst: mosquitto_property_identifier
      Src: /src/mosquitto/lib/will_mosq.c:68,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/lib/will_mosq.c:72,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/will_mosq.c:77,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/will_mosq.c:78,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/will_mosq.c:79,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/will_mosq.c:80,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/lib/will_mosq.c:83,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/will_mosq.c:87,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/lib/will_mosq.c:98,1
    - Dst: memcpy
      Src: /src/mosquitto/lib/will_mosq.c:104,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/will_mosq.c:115,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/will_mosq.c:116,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/will_mosq.c:117,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 72
    argCount: 7
    argNames:
    - mosq
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    - properties
    argTypes:
    - struct mosquitto*
    - char*
    - int
    - void*
    - int
    - bool
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 121
    functionName: will__set
    functionSourceFile: /src/mosquitto/lib/will_mosq.c
    functionUses: 3
    functionsReached:
    - mosquitto_FREE
    - mosquitto_strdup
    - mosquitto_property_identifier
    - mosquitto_calloc
    - mosquitto_malloc
    - strlen
    - mosquitto_validate_utf8
    - memcpy
    - mosquitto_property_check_command
    - mosquitto_pub_topic_check
    - mosquitto_property_next
    - mosquitto_property_free_all
    linkageType: ''
    returnType: int
    signature: int will__set(struct mosquitto *mosq, const char *topic, int payloadlen,
      const void *payload, int qos, bool retain, mosquitto_property *properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/will_mosq.c:130,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/will_mosq.c:131,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/will_mosq.c:133,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/will_mosq.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 139
    functionName: will__clear
    functionSourceFile: /src/mosquitto/lib/will_mosq.c
    functionUses: 7
    functionsReached:
    - mosquitto_FREE
    - mosquitto_property_free_all
    linkageType: ''
    returnType: int
    signature: int will__clear(struct mosquitto *mosq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/messages_mosq.c:43,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/messages_mosq.c:44,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/messages_mosq.c:45,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/messages_mosq.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - message
    argTypes:
    - struct mosquitto_message_all**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: message__cleanup
    functionSourceFile: /src/mosquitto/lib/messages_mosq.c
    functionUses: 2
    functionsReached:
    - mosquitto_FREE
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void message__cleanup(struct mosquitto_message_all **message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/messages_mosq.c:54,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/lib/messages_mosq.c:56,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/lib/messages_mosq.c:57,1
    - Dst: message__cleanup
      Src: /src/mosquitto/lib/messages_mosq.c:58,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/lib/messages_mosq.c:60,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/lib/messages_mosq.c:61,1
    - Dst: message__cleanup
      Src: /src/mosquitto/lib/messages_mosq.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/mosquitto/lib/messages_mosq.c
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: message__cleanup_all
    functionSourceFile: /src/mosquitto/lib/messages_mosq.c
    functionUses: 0
    functionsReached:
    - DL_DELETE
    - DL_FOREACH_SAFE
    - message__cleanup
    - assert
    linkageType: ''
    returnType: void
    signature: void message__cleanup_all(struct mosquitto *mosq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/messages_mosq.c:74,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/lib/messages_mosq.c:81,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/messages_mosq.c:83,1
    - Dst: memcpy
      Src: /src/mosquitto/lib/messages_mosq.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct mosquitto_message*
    - struct mosquitto_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 93
    functionName: mosquitto_message_copy
    functionSourceFile: /src/mosquitto/lib/messages_mosq.c
    functionUses: 1
    functionsReached:
    - mosquitto_strdup
    - memcpy
    - mosquitto_FREE
    - mosquitto_calloc
    linkageType: ''
    returnType: int
    signature: int mosquitto_message_copy(struct mosquitto_message *dst, const struct
      mosquitto_message *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/messages_mosq.c:100,1
    - Dst: message__remove
      Src: /src/mosquitto/lib/messages_mosq.c:102,1
    - Dst: message__cleanup
      Src: /src/mosquitto/lib/messages_mosq.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - mosq
    - mid
    - dir
    - qos
    argTypes:
    - struct mosquitto*
    - uint16_t
    - enum mosquitto_msg_direction
    - int
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/mosquitto/lib/messages_mosq.c
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: message__delete
    functionSourceFile: /src/mosquitto/lib/messages_mosq.c
    functionUses: 1
    functionsReached:
    - message__remove
    - message__cleanup
    - assert
    linkageType: ''
    returnType: int
    signature: int message__delete(struct mosquitto *mosq, uint16_t mid, enum mosquitto_msg_direction
      dir, int qos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/messages_mosq.c:120,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/messages_mosq.c:121,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/messages_mosq.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - message
    argTypes:
    - struct mosquitto_message**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 123
    functionName: mosquitto_message_free
    functionSourceFile: /src/mosquitto/lib/messages_mosq.c
    functionUses: 2
    functionsReached:
    - mosquitto_FREE
    linkageType: ''
    returnType: void
    signature: void mosquitto_message_free(struct mosquitto_message **message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/messages_mosq.c:132,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/messages_mosq.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - message
    argTypes:
    - struct mosquitto_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: mosquitto_message_free_contents
    functionSourceFile: /src/mosquitto/lib/messages_mosq.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    linkageType: ''
    returnType: void
    signature: void mosquitto_message_free_contents(struct mosquitto_message *message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/messages_mosq.c:140,1
    - Dst: assert
      Src: /src/mosquitto/lib/messages_mosq.c:141,1
    - Dst: assert
      Src: /src/mosquitto/lib/messages_mosq.c:142,1
    - Dst: DL_APPEND
      Src: /src/mosquitto/lib/messages_mosq.c:145,1
    - Dst: DL_APPEND
      Src: /src/mosquitto/lib/messages_mosq.c:148,1
    - Dst: message__release_to_inflight
      Src: /src/mosquitto/lib/messages_mosq.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - mosq
    - message
    - dir
    argTypes:
    - struct mosquitto*
    - struct mosquitto_message_all*
    - enum mosquitto_msg_direction
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/mosquitto/lib/messages_mosq.c
    - condition: (message->msg.qos != 0)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/mosquitto/lib/messages_mosq.c
    - condition: (message)
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/mosquitto/lib/messages_mosq.c
    constantsTouched: []
    func_position:
      end: 153
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 153
    functionName: message__queue
    functionSourceFile: /src/mosquitto/lib/messages_mosq.c
    functionUses: 1
    functionsReached:
    - DL_APPEND
    - message__release_to_inflight
    - assert
    linkageType: ''
    returnType: int
    signature: int message__queue(struct mosquitto *mosq, struct mosquitto_message_all
      *message, enum mosquitto_msg_direction dir)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/messages_mosq.c:159,1
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/messages_mosq.c:161,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/lib/messages_mosq.c:164,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/lib/messages_mosq.c:167,1
    - Dst: message__cleanup
      Src: /src/mosquitto/lib/messages_mosq.c:168,1
    - Dst: util__decrement_receive_quota
      Src: /src/mosquitto/lib/messages_mosq.c:172,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/messages_mosq.c:175,1
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/messages_mosq.c:178,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/lib/messages_mosq.c:181,1
    - Dst: util__decrement_send_quota
      Src: /src/mosquitto/lib/messages_mosq.c:185,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/messages_mosq.c:202,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 2
    argNames:
    - mosq
    - update_quota_only
    argTypes:
    - struct mosquitto*
    - bool
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/mosquitto/lib/messages_mosq.c
    constantsTouched: []
    func_position:
      end: 203
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 203
    functionName: message__reconnect_reset
    functionSourceFile: /src/mosquitto/lib/messages_mosq.c
    functionUses: 0
    functionsReached:
    - util__decrement_receive_quota
    - util__decrement_send_quota
    - assert
    - COMPAT_pthread_mutex_unlock
    - DL_DELETE
    - DL_FOREACH_SAFE
    - message__cleanup
    - COMPAT_pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void message__reconnect_reset(struct mosquitto *mosq, bool update_quota_only)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/lib/messages_mosq.c:213,1
    - Dst: send__publish
      Src: /src/mosquitto/lib/messages_mosq.c:221,1
    - Dst: util__decrement_send_quota
      Src: /src/mosquitto/lib/messages_mosq.c:225,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - mosq
    - dir
    argTypes:
    - struct mosquitto*
    - enum mosquitto_msg_direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 234
    functionName: message__release_to_inflight
    functionSourceFile: /src/mosquitto/lib/messages_mosq.c
    functionUses: 2
    functionsReached:
    - DL_FOREACH_SAFE
    - util__decrement_send_quota
    - send__publish
    linkageType: ''
    returnType: int
    signature: int message__release_to_inflight(struct mosquitto *mosq, enum mosquitto_msg_direction
      dir)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/messages_mosq.c:241,1
    - Dst: assert
      Src: /src/mosquitto/lib/messages_mosq.c:242,1
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/messages_mosq.c:245,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/lib/messages_mosq.c:247,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/messages_mosq.c:250,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/lib/messages_mosq.c:253,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/messages_mosq.c:261,1
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/messages_mosq.c:268,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/lib/messages_mosq.c:269,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/messages_mosq.c:272,1
    - Dst: DL_DELETE
      Src: /src/mosquitto/lib/messages_mosq.c:275,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/messages_mosq.c:283,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 5
    argNames:
    - mosq
    - mid
    - dir
    - message
    - qos
    argTypes:
    - struct mosquitto*
    - uint16_t
    - enum mosquitto_msg_direction
    - struct mosquitto_message_all**
    - int
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/mosquitto/lib/messages_mosq.c
    - condition: (message)
      pos:
        line_end: 241
        line_start: 241
        source_file: /src/mosquitto/lib/messages_mosq.c
    constantsTouched: []
    func_position:
      end: 290
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 290
    functionName: message__remove
    functionSourceFile: /src/mosquitto/lib/messages_mosq.c
    functionUses: 2
    functionsReached:
    - COMPAT_pthread_mutex_unlock
    - assert
    - DL_DELETE
    - DL_FOREACH_SAFE
    - COMPAT_pthread_mutex_lock
    linkageType: ''
    returnType: int
    signature: int message__remove(struct mosquitto *mosq, uint16_t mid, enum mosquitto_msg_direction
      dir, struct mosquitto_message_all **message, int qos)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/messages_mosq.c:296,1
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/messages_mosq.c:299,1
    - Dst: DL_FOREACH
      Src: /src/mosquitto/lib/messages_mosq.c:302,1
    - Dst: send__publish
      Src: /src/mosquitto/lib/messages_mosq.c:307,1
    - Dst: send__pubrec
      Src: /src/mosquitto/lib/messages_mosq.c:311,1
    - Dst: send__pubrel
      Src: /src/mosquitto/lib/messages_mosq.c:316,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/messages_mosq.c:323,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/mosquitto/lib/messages_mosq.c
    constantsTouched: []
    func_position:
      end: 325
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 325
    functionName: message__retry_check
    functionSourceFile: /src/mosquitto/lib/messages_mosq.c
    functionUses: 0
    functionsReached:
    - send__publish
    - send__pubrel
    - DL_FOREACH
    - assert
    - COMPAT_pthread_mutex_unlock
    - COMPAT_pthread_mutex_lock
    - send__pubrec
    linkageType: ''
    returnType: void
    signature: void message__retry_check(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/messages_mosq.c:330,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/messages_mosq.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mosq
    - message_retry
    argTypes:
    - struct mosquitto*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 332
    functionName: mosquitto_message_retry_set
    functionSourceFile: /src/mosquitto/lib/messages_mosq.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void mosquitto_message_retry_set(struct mosquitto *mosq, unsigned int
      message_retry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/messages_mosq.c:338,1
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/messages_mosq.c:340,1
    - Dst: DL_FOREACH_SAFE
      Src: /src/mosquitto/lib/messages_mosq.c:341,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/messages_mosq.c:344,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/messages_mosq.c:348,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/messages_mosq.c:352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - mosq
    - mid
    - state
    - qos
    argTypes:
    - struct mosquitto*
    - uint16_t
    - enum mosquitto_msg_state
    - int
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 337
        line_start: 337
        source_file: /src/mosquitto/lib/messages_mosq.c
    constantsTouched: []
    func_position:
      end: 354
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 354
    functionName: message__out_update
    functionSourceFile: /src/mosquitto/lib/messages_mosq.c
    functionUses: 0
    functionsReached:
    - COMPAT_pthread_mutex_unlock
    - DL_FOREACH_SAFE
    - COMPAT_pthread_mutex_lock
    - assert
    linkageType: ''
    returnType: int
    signature: int message__out_update(struct mosquitto *mosq, uint16_t mid, enum
      mosquitto_msg_state state, int qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/lib/messages_mosq.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mosq
    - max_inflight_messages
    argTypes:
    - struct mosquitto*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: mosquitto_max_inflight_messages_set
    functionSourceFile: /src/mosquitto/lib/messages_mosq.c
    functionUses: 0
    functionsReached:
    - mosquitto_int_option
    linkageType: ''
    returnType: int
    signature: int mosquitto_max_inflight_messages_set(struct mosquitto *mosq, unsigned
      int max_inflight_messages)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/send_publish.c:56,1
    - Dst: net__is_connected
      Src: /src/mosquitto/lib/send_publish.c:58,1
    - Dst: plugin__handle_message_out
      Src: /src/mosquitto/lib/send_publish.c:76,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/send_publish.c:97,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/send_publish.c:102,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/lib/send_publish.c:107,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/lib/send_publish.c:110,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/send_publish.c:113,1
    - Dst: strlen
      Src: /src/mosquitto/lib/send_publish.c:127,1
    - Dst: strlen
      Src: /src/mosquitto/lib/send_publish.c:128,1
    - Dst: LL_FOREACH
      Src: /src/mosquitto/lib/send_publish.c:137,1
    - Dst: mosquitto_topic_matches_sub
      Src: /src/mosquitto/lib/send_publish.c:142,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/send_publish.c:147,1
    - Dst: strncmp
      Src: /src/mosquitto/lib/send_publish.c:153,1
    - Dst: strlen
      Src: /src/mosquitto/lib/send_publish.c:153,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/send_publish.c:154,1
    - Dst: strlen
      Src: /src/mosquitto/lib/send_publish.c:154,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/send_publish.c:155,1
    - Dst: strlen
      Src: /src/mosquitto/lib/send_publish.c:165,1
    - Dst: strlen
      Src: /src/mosquitto/lib/send_publish.c:165,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/lib/send_publish.c:166,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/send_publish.c:168,1
    - Dst: snprintf
      Src: /src/mosquitto/lib/send_publish.c:171,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/send_publish.c:173,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/send_publish.c:176,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/send_publish.c:176,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/lib/send_publish.c:177,1
    - Dst: send__real_publish
      Src: /src/mosquitto/lib/send_publish.c:178,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/send_publish.c:179,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/send_publish.c:186,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/send_publish.c:186,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/lib/send_publish.c:187,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/send_publish.c:189,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/send_publish.c:189,1
    - Dst: send__real_publish
      Src: /src/mosquitto/lib/send_publish.c:193,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/lib/send_publish.c:195,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/lib/send_publish.c:198,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/send_publish.c:201,1
    - Dst: send__real_publish
      Src: /src/mosquitto/lib/send_publish.c:205,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 115
    argCount: 11
    argNames:
    - mosq
    - mid
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    - dup
    - subscription_identifier
    - store_props
    - expiry_interval
    argTypes:
    - struct mosquitto*
    - uint16_t
    - char*
    - uint32_t
    - void*
    - uint8_t
    - bool
    - bool
    - uint32_t
    - mosquitto_property*
    - uint32_t
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/mosquitto/lib/send_publish.c
    constantsTouched: []
    func_position:
      end: 207
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 207
    functionName: send__publish
    functionSourceFile: /src/mosquitto/lib/send_publish.c
    functionUses: 3
    functionsReached:
    - mosquitto_strdup
    - strncmp
    - mosquitto_FREE
    - net__is_connected
    - plugin__handle_message_out
    - SAFE_PRINT
    - LL_FOREACH
    - mosquitto_malloc
    - snprintf
    - assert
    - metrics__int_inc
    - strlen
    - mosquitto_free
    - send__real_publish
    - log__printf
    - mosquitto_topic_matches_sub
    - mosquitto_property_free_all
    linkageType: ''
    returnType: int
    signature: int send__publish(struct mosquitto *mosq, uint16_t mid, const char
      *topic, uint32_t payloadlen, const void *payload, uint8_t qos, bool retain,
      bool dup, uint32_t subscription_identifier, const mosquitto_property *store_props,
      uint32_t expiry_interval)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/send_publish.c:224,1
    - Dst: assert
      Src: /src/mosquitto/lib/send_publish.c:227,1
    - Dst: alias__find_by_topic
      Src: /src/mosquitto/lib/send_publish.c:231,1
    - Dst: alias__add_l2r
      Src: /src/mosquitto/lib/send_publish.c:238,1
    - Dst: strlen
      Src: /src/mosquitto/lib/send_publish.c:244,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/lib/send_publish.c:253,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/lib/send_publish.c:261,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/lib/send_publish.c:271,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/lib/send_publish.c:280,1
    - Dst: mosquitto_varint_bytes
      Src: /src/mosquitto/lib/send_publish.c:284,1
    - Dst: packet__check_oversize
      Src: /src/mosquitto/lib/send_publish.c:293,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/send_publish.c:295,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/send_publish.c:295,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/send_publish.c:297,1
    - Dst: packet__alloc
      Src: /src/mosquitto/lib/send_publish.c:302,1
    - Dst: packet__write_string
      Src: /src/mosquitto/lib/send_publish.c:309,1
    - Dst: strlen
      Src: /src/mosquitto/lib/send_publish.c:309,1
    - Dst: packet__write_uint16
      Src: /src/mosquitto/lib/send_publish.c:311,1
    - Dst: packet__write_uint16
      Src: /src/mosquitto/lib/send_publish.c:314,1
    - Dst: packet__write_varint
      Src: /src/mosquitto/lib/send_publish.c:318,1
    - Dst: property__write_all
      Src: /src/mosquitto/lib/send_publish.c:319,1
    - Dst: property__write_all
      Src: /src/mosquitto/lib/send_publish.c:321,1
    - Dst: property__write_all
      Src: /src/mosquitto/lib/send_publish.c:325,1
    - Dst: property__write_all
      Src: /src/mosquitto/lib/send_publish.c:328,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/lib/send_publish.c:334,1
    - Dst: packet__write_bytes
      Src: /src/mosquitto/lib/send_publish.c:339,1
    - Dst: packet__queue
      Src: /src/mosquitto/lib/send_publish.c:342,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 89
    argCount: 11
    argNames:
    - mosq
    - mid
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    - dup
    - subscription_identifier
    - store_props
    - expiry_interval
    argTypes:
    - struct mosquitto*
    - uint16_t
    - char*
    - uint32_t
    - void*
    - uint8_t
    - bool
    - bool
    - uint32_t
    - mosquitto_property*
    - uint32_t
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/mosquitto/lib/send_publish.c
    constantsTouched: []
    func_position:
      end: 343
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 343
    functionName: send__real_publish
    functionSourceFile: /src/mosquitto/lib/send_publish.c
    functionUses: 2
    functionsReached:
    - alias__add_l2r
    - log__printf
    - SAFE_PRINT
    - packet__queue
    - mosquitto_property_get_length_all
    - packet__write_varint
    - property__write_all
    - metrics__int_inc
    - assert
    - alias__find_by_topic
    - packet__check_oversize
    - strlen
    - packet__write_string
    - packet__write_bytes
    - packet__alloc
    - mosquitto_varint_bytes
    - packet__write_uint16
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int send__real_publish(struct mosquitto *mosq, uint16_t mid, const
      char *topic, uint32_t payloadlen, const void *payload, uint8_t qos, bool retain,
      bool dup, uint32_t subscription_identifier, const mosquitto_property *store_props,
      uint32_t expiry_interval)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_realloc
      Src: /src/mosquitto/lib/alias_mosq.c:35,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/alias_mosq.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - mosq
    - topic
    - alias
    argTypes:
    - struct mosquitto*
    - char*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 55
    functionName: alias__add_l2r
    functionSourceFile: /src/mosquitto/lib/alias_mosq.c
    functionUses: 1
    functionsReached:
    - mosquitto_strdup
    - mosquitto_realloc
    linkageType: ''
    returnType: int
    signature: int alias__add_l2r(struct mosquitto *mosq, const char *topic, uint16_t
      *alias)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/alias_mosq.c:65,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/alias_mosq.c:66,1
    - Dst: mosquitto_realloc
      Src: /src/mosquitto/lib/alias_mosq.c:76,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/alias_mosq.c:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - mosq
    - topic
    - alias
    argTypes:
    - struct mosquitto*
    - char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 91
    functionName: alias__add_r2l
    functionSourceFile: /src/mosquitto/lib/alias_mosq.c
    functionUses: 2
    functionsReached:
    - mosquitto_FREE
    - mosquitto_realloc
    - mosquitto_strdup
    linkageType: ''
    returnType: int
    signature: int alias__add_r2l(struct mosquitto *mosq, const char *topic, uint16_t
      alias)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/alias_mosq.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - mosq
    - direction
    - alias
    - topic
    argTypes:
    - struct mosquitto*
    - int
    - uint16_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 119
    functionName: alias__find_by_alias
    functionSourceFile: /src/mosquitto/lib/alias_mosq.c
    functionUses: 2
    functionsReached:
    - mosquitto_strdup
    linkageType: ''
    returnType: int
    signature: int alias__find_by_alias(struct mosquitto *mosq, int direction, uint16_t
      alias, char **topic)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/lib/alias_mosq.c:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - mosq
    - direction
    - topic
    - alias
    argTypes:
    - struct mosquitto*
    - int
    - char*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 143
    functionName: alias__find_by_topic
    functionSourceFile: /src/mosquitto/lib/alias_mosq.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int alias__find_by_topic(struct mosquitto *mosq, int direction, const
      char *topic, uint16_t *alias)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/alias_mosq.c:151,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/alias_mosq.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 155
    functionName: alias__free_r2l
    functionSourceFile: /src/mosquitto/lib/alias_mosq.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    linkageType: ''
    returnType: void
    signature: void alias__free_r2l(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/alias_mosq.c:163,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/alias_mosq.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 167
    functionName: alias__free_l2r
    functionSourceFile: /src/mosquitto/lib/alias_mosq.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    linkageType: ''
    returnType: void
    signature: void alias__free_l2r(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alias__free_r2l
      Src: /src/mosquitto/lib/alias_mosq.c:172,1
    - Dst: alias__free_l2r
      Src: /src/mosquitto/lib/alias_mosq.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: alias__free_all
    functionSourceFile: /src/mosquitto/lib/alias_mosq.c
    functionUses: 2
    functionsReached:
    - alias__free_r2l
    - alias__free_l2r
    linkageType: ''
    returnType: void
    signature: void alias__free_all(struct mosquitto *mosq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WINDOWS_SET_ERRNO
      Src: /src/mosquitto/lib/socks_mosq.c:67,1
    - Dst: packet__cleanup
      Src: /src/mosquitto/lib/socks_mosq.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: socks5__network_error
    functionSourceFile: /src/mosquitto/lib/socks_mosq.c
    functionUses: 0
    functionsReached:
    - WINDOWS_SET_ERRNO
    - packet__cleanup
    linkageType: ''
    returnType: int
    signature: int socks5__network_error(struct mosquitto *mosq)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: packet__cleanup
      Src: /src/mosquitto/lib/socks_mosq.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 108
    functionName: socks5__connection_error
    functionSourceFile: /src/mosquitto/lib/socks_mosq.c
    functionUses: 0
    functionsReached:
    - packet__cleanup
    linkageType: ''
    returnType: int
    signature: int socks5__connection_error(struct mosquitto *mosq)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/lib/socks_mosq.c:117,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/socks_mosq.c:124,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/socks_mosq.c:125,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/socks_mosq.c:132,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/socks_mosq.c:133,1
    - Dst: strlen
      Src: /src/mosquitto/lib/socks_mosq.c:136,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/socks_mosq.c:139,1
    - Dst: strlen
      Src: /src/mosquitto/lib/socks_mosq.c:145,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/socks_mosq.c:148,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/socks_mosq.c:150,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/socks_mosq.c:158,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/socks_mosq.c:159,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/socks_mosq.c:160,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/socks_mosq.c:161,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/socks_mosq.c:162,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 5
    argNames:
    - mosq
    - host
    - port
    - username
    - password
    argTypes:
    - struct mosquitto*
    - char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 166
    functionName: mosquitto_socks5_set
    functionSourceFile: /src/mosquitto/lib/socks_mosq.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - strlen
    - UNUSED
    - mosquitto_strdup
    linkageType: ''
    returnType: int
    signature: int mosquitto_socks5_set(struct mosquitto *mosq, const char *host,
      int port, const char *username, const char *password)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/lib/socks_mosq.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - packet
    - packet_length
    argTypes:
    - struct mosquitto__packet**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: socks5__packet_alloc
    functionSourceFile: /src/mosquitto/lib/socks_mosq.c
    functionUses: 0
    functionsReached:
    - mosquitto_calloc
    linkageType: ''
    returnType: void
    signature: void socks5__packet_alloc(struct mosquitto__packet **packet, uint32_t
      packet_length)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto__get_state
      Src: /src/mosquitto/lib/socks_mosq.c:196,1
    - Dst: socks5__packet_alloc
      Src: /src/mosquitto/lib/socks_mosq.c:205,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/lib/socks_mosq.c:220,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/lib/socks_mosq.c:225,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/socks_mosq.c:227,1
    - Dst: packet__queue
      Src: /src/mosquitto/lib/socks_mosq.c:231,1
    - Dst: inet_pton
      Src: /src/mosquitto/lib/socks_mosq.c:233,1
    - Dst: inet_pton
      Src: /src/mosquitto/lib/socks_mosq.c:234,1
    - Dst: socks5__packet_alloc
      Src: /src/mosquitto/lib/socks_mosq.c:239,1
    - Dst: memcpy
      Src: /src/mosquitto/lib/socks_mosq.c:245,1
    - Dst: MOSQ_MSB
      Src: /src/mosquitto/lib/socks_mosq.c:246,1
    - Dst: MOSQ_LSB
      Src: /src/mosquitto/lib/socks_mosq.c:247,1
    - Dst: socks5__packet_alloc
      Src: /src/mosquitto/lib/socks_mosq.c:251,1
    - Dst: memcpy
      Src: /src/mosquitto/lib/socks_mosq.c:257,1
    - Dst: MOSQ_MSB
      Src: /src/mosquitto/lib/socks_mosq.c:258,1
    - Dst: MOSQ_LSB
      Src: /src/mosquitto/lib/socks_mosq.c:259,1
    - Dst: strlen
      Src: /src/mosquitto/lib/socks_mosq.c:261,1
    - Dst: socks5__packet_alloc
      Src: /src/mosquitto/lib/socks_mosq.c:267,1
    - Dst: memcpy
      Src: /src/mosquitto/lib/socks_mosq.c:274,1
    - Dst: MOSQ_MSB
      Src: /src/mosquitto/lib/socks_mosq.c:275,1
    - Dst: MOSQ_LSB
      Src: /src/mosquitto/lib/socks_mosq.c:276,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/lib/socks_mosq.c:282,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/lib/socks_mosq.c:287,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/socks_mosq.c:289,1
    - Dst: packet__queue
      Src: /src/mosquitto/lib/socks_mosq.c:293,1
    - Dst: strlen
      Src: /src/mosquitto/lib/socks_mosq.c:295,1
    - Dst: strlen
      Src: /src/mosquitto/lib/socks_mosq.c:296,1
    - Dst: socks5__packet_alloc
      Src: /src/mosquitto/lib/socks_mosq.c:299,1
    - Dst: memcpy
      Src: /src/mosquitto/lib/socks_mosq.c:306,1
    - Dst: memcpy
      Src: /src/mosquitto/lib/socks_mosq.c:308,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/lib/socks_mosq.c:310,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/lib/socks_mosq.c:315,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/socks_mosq.c:317,1
    - Dst: packet__queue
      Src: /src/mosquitto/lib/socks_mosq.c:321,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 111
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 324
    functionName: socks5__send
    functionSourceFile: /src/mosquitto/lib/socks_mosq.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - inet_pton
    - packet__queue
    - mosquitto__get_state
    - mosquitto_malloc
    - MOSQ_LSB
    - mosquitto__set_state
    - MOSQ_MSB
    - strlen
    - memcpy
    - socks5__packet_alloc
    linkageType: ''
    returnType: int
    signature: int socks5__send(struct mosquitto *mosq)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto__get_state
      Src: /src/mosquitto/lib/socks_mosq.c:333,1
    - Dst: net__read
      Src: /src/mosquitto/lib/socks_mosq.c:336,1
    - Dst: socks5__network_error
      Src: /src/mosquitto/lib/socks_mosq.c:341,1
    - Dst: packet__cleanup
      Src: /src/mosquitto/lib/socks_mosq.c:345,1
    - Dst: packet__cleanup
      Src: /src/mosquitto/lib/socks_mosq.c:350,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/lib/socks_mosq.c:351,1
    - Dst: socks5__send
      Src: /src/mosquitto/lib/socks_mosq.c:352,1
    - Dst: packet__cleanup
      Src: /src/mosquitto/lib/socks_mosq.c:354,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/lib/socks_mosq.c:355,1
    - Dst: socks5__send
      Src: /src/mosquitto/lib/socks_mosq.c:356,1
    - Dst: packet__cleanup
      Src: /src/mosquitto/lib/socks_mosq.c:358,1
    - Dst: net__read
      Src: /src/mosquitto/lib/socks_mosq.c:363,1
    - Dst: socks5__network_error
      Src: /src/mosquitto/lib/socks_mosq.c:368,1
    - Dst: packet__cleanup
      Src: /src/mosquitto/lib/socks_mosq.c:372,1
    - Dst: packet__cleanup
      Src: /src/mosquitto/lib/socks_mosq.c:376,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/lib/socks_mosq.c:377,1
    - Dst: socks5__send
      Src: /src/mosquitto/lib/socks_mosq.c:378,1
    - Dst: socks5__connection_error
      Src: /src/mosquitto/lib/socks_mosq.c:380,1
    - Dst: net__read
      Src: /src/mosquitto/lib/socks_mosq.c:384,1
    - Dst: socks5__network_error
      Src: /src/mosquitto/lib/socks_mosq.c:389,1
    - Dst: packet__cleanup
      Src: /src/mosquitto/lib/socks_mosq.c:407,1
    - Dst: mosquitto_realloc
      Src: /src/mosquitto/lib/socks_mosq.c:418,1
    - Dst: packet__cleanup
      Src: /src/mosquitto/lib/socks_mosq.c:422,1
    - Dst: packet__cleanup
      Src: /src/mosquitto/lib/socks_mosq.c:430,1
    - Dst: packet__cleanup
      Src: /src/mosquitto/lib/socks_mosq.c:435,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/lib/socks_mosq.c:436,1
    - Dst: net__socket_connect_step3
      Src: /src/mosquitto/lib/socks_mosq.c:438,1
    - Dst: send__connect
      Src: /src/mosquitto/lib/socks_mosq.c:443,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/lib/socks_mosq.c:445,1
    - Dst: socks5__connection_error
      Src: /src/mosquitto/lib/socks_mosq.c:446,1
    - Dst: packet__read
      Src: /src/mosquitto/lib/socks_mosq.c:449,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 110
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 327
    functionDepth: 4
    functionLinenumber: 327
    functionLinenumberEnd: 452
    functionName: socks5__read
    functionSourceFile: /src/mosquitto/lib/socks_mosq.c
    functionUses: 0
    functionsReached:
    - net__read
    - socks5__connection_error
    - packet__read
    - mosquitto__get_state
    - socks5__network_error
    - net__socket_connect_step3
    - packet__cleanup
    - mosquitto__set_state
    - mosquitto_realloc
    - send__connect
    - socks5__send
    linkageType: ''
    returnType: int
    signature: int socks5__read(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_getrandom
      Src: /src/mosquitto/lib/http_client.c:41,1
    - Dst: mosquitto_base64_encode
      Src: /src/mosquitto/lib/http_client.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - encoded
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: create_request_key
    functionSourceFile: /src/mosquitto/lib/http_client.c
    functionUses: 0
    functionsReached:
    - mosquitto_getrandom
    - mosquitto_base64_encode
    linkageType: ''
    returnType: int
    signature: int create_request_key(char **encoded)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/lib/http_client.c:53,1
    - Dst: create_request_key
      Src: /src/mosquitto/lib/http_client.c:58,1
    - Dst: ws__create_accept_key
      Src: /src/mosquitto/lib/http_client.c:61,1
    - Dst: strlen
      Src: /src/mosquitto/lib/http_client.c:61,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/lib/http_client.c:65,1
    - Dst: snprintf
      Src: /src/mosquitto/lib/http_client.c:72,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/http_client.c:81,1
    - Dst: packet__queue
      Src: /src/mosquitto/lib/http_client.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 86
    functionName: http_c__context_init
    functionSourceFile: /src/mosquitto/lib/http_client.c
    functionUses: 0
    functionsReached:
    - ws__create_accept_key
    - mosquitto_FREE
    - packet__queue
    - create_request_key
    - mosquitto_calloc
    - snprintf
    - strlen
    linkageType: ''
    returnType: int
    signature: int http_c__context_init(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/http_client.c:91,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/http_client.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: http_c__context_cleanup
    functionSourceFile: /src/mosquitto/lib/http_client.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    linkageType: ''
    returnType: int
    signature: int http_c__context_cleanup(struct mosquitto *context)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto__get_state
      Src: /src/mosquitto/lib/http_client.c:123,1
    - Dst: strlen
      Src: /src/mosquitto/lib/http_client.c:128,1
    - Dst: net__read
      Src: /src/mosquitto/lib/http_client.c:129,1
    - Dst: WINDOWS_SET_ERRNO
      Src: /src/mosquitto/lib/http_client.c:134,1
    - Dst: phr_parse_response
      Src: /src/mosquitto/lib/http_client.c:151,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/http_client.c:165,1
    - Dst: strncasecmp
      Src: /src/mosquitto/lib/http_client.c:175,1
    - Dst: strncasecmp
      Src: /src/mosquitto/lib/http_client.c:176,1
    - Dst: strncasecmp
      Src: /src/mosquitto/lib/http_client.c:179,1
    - Dst: strncasecmp
      Src: /src/mosquitto/lib/http_client.c:186,1
    - Dst: strncasecmp
      Src: /src/mosquitto/lib/http_client.c:196,1
    - Dst: strncasecmp
      Src: /src/mosquitto/lib/http_client.c:199,1
    - Dst: strncasecmp
      Src: /src/mosquitto/lib/http_client.c:202,1
    - Dst: strncasecmp
      Src: /src/mosquitto/lib/http_client.c:212,1
    - Dst: strncmp
      Src: /src/mosquitto/lib/http_client.c:214,1
    - Dst: strncmp
      Src: /src/mosquitto/lib/http_client.c:228,1
    - Dst: http_c__context_cleanup
      Src: /src/mosquitto/lib/http_client.c:233,1
    - Dst: ws__context_init
      Src: /src/mosquitto/lib/http_client.c:234,1
    - Dst: send__connect
      Src: /src/mosquitto/lib/http_client.c:237,1
    - Dst: packet__cleanup_all
      Src: /src/mosquitto/lib/http_client.c:239,1
    - Dst: net__socket_close
      Src: /src/mosquitto/lib/http_client.c:240,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/lib/http_client.c:241,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 102
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 97
    functionDepth: 6
    functionLinenumber: 97
    functionLinenumberEnd: 244
    functionName: http_c__read
    functionSourceFile: /src/mosquitto/lib/http_client.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - strncmp
    - net__read
    - net__socket_close
    - http_c__context_cleanup
    - mosquitto__get_state
    - packet__cleanup_all
    - phr_parse_response
    - mosquitto__set_state
    - strlen
    - ws__context_init
    - send__connect
    - WINDOWS_SET_ERRNO
    - strncasecmp
    linkageType: ''
    returnType: int
    signature: int http_c__read(struct mosquitto *mosq)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/handle_suback.c:48,1
    - Dst: mosquitto__get_state
      Src: /src/mosquitto/lib/handle_suback.c:50,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/handle_suback.c:62,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/handle_suback.c:62,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/handle_suback.c:64,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/handle_suback.c:64,1
    - Dst: packet__read_uint16
      Src: /src/mosquitto/lib/handle_suback.c:66,1
    - Dst: property__read_all
      Src: /src/mosquitto/lib/handle_suback.c:75,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/handle_suback.c:83,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/lib/handle_suback.c:86,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/handle_suback.c:88,1
    - Dst: packet__read_byte
      Src: /src/mosquitto/lib/handle_suback.c:92,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/handle_suback.c:94,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/handle_suback.c:95,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/handle_suback.c:103,1
    - Dst: callback__on_subscribe
      Src: /src/mosquitto/lib/handle_suback.c:105,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/handle_suback.c:106,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/handle_suback.c:108,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/mosquitto/lib/handle_suback.c
    constantsTouched: []
    func_position:
      end: 111
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 111
    functionName: handle__suback
    functionSourceFile: /src/mosquitto/lib/handle_suback.c
    functionUses: 2
    functionsReached:
    - mosquitto_FREE
    - SAFE_PRINT
    - property__read_all
    - mosquitto__get_state
    - packet__read_uint16
    - mosquitto_malloc
    - assert
    - callback__on_subscribe
    - packet__read_byte
    - log__printf
    - mosquitto_property_free_all
    linkageType: ''
    returnType: int
    signature: int handle__suback(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UI_method_get_opener
      Src: /src/mosquitto/lib/net_mosq.c:89,1
    - Dst: UI_OpenSSL
      Src: /src/mosquitto/lib/net_mosq.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: ui_open
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 0
    functionsReached:
    - UI_method_get_opener
    - UI_OpenSSL
    linkageType: ''
    returnType: int
    signature: int ui_open(UI *ui)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UI_method_get_reader
      Src: /src/mosquitto/lib/net_mosq.c:95,1
    - Dst: UI_OpenSSL
      Src: /src/mosquitto/lib/net_mosq.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ui
    - uis
    argTypes:
    - UI*
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: ui_read
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 0
    functionsReached:
    - UI_method_get_reader
    - UI_OpenSSL
    linkageType: ''
    returnType: int
    signature: int ui_read(UI *ui, UI_STRING *uis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UI_method_get_writer
      Src: /src/mosquitto/lib/net_mosq.c:101,1
    - Dst: UI_OpenSSL
      Src: /src/mosquitto/lib/net_mosq.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ui
    - uis
    argTypes:
    - UI*
    - UI_STRING*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: ui_write
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 0
    functionsReached:
    - UI_OpenSSL
    - UI_method_get_writer
    linkageType: ''
    returnType: int
    signature: int ui_write(UI *ui, UI_STRING *uis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UI_method_get_closer
      Src: /src/mosquitto/lib/net_mosq.c:107,1
    - Dst: UI_OpenSSL
      Src: /src/mosquitto/lib/net_mosq.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ui
    argTypes:
    - UI*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: ui_close
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 0
    functionsReached:
    - UI_OpenSSL
    - UI_method_get_closer
    linkageType: ''
    returnType: int
    signature: int ui_close(UI *ui)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UI_create_method
      Src: /src/mosquitto/lib/net_mosq.c:113,1
    - Dst: UI_method_set_opener
      Src: /src/mosquitto/lib/net_mosq.c:114,1
    - Dst: UI_method_set_reader
      Src: /src/mosquitto/lib/net_mosq.c:115,1
    - Dst: UI_method_set_writer
      Src: /src/mosquitto/lib/net_mosq.c:116,1
    - Dst: UI_method_set_closer
      Src: /src/mosquitto/lib/net_mosq.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: setup_ui_method
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 0
    functionsReached:
    - UI_method_set_opener
    - UI_create_method
    - UI_method_set_writer
    - UI_method_set_reader
    - UI_method_set_closer
    linkageType: ''
    returnType: void
    signature: void setup_ui_method(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UI_destroy_method
      Src: /src/mosquitto/lib/net_mosq.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: cleanup_ui_method
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 0
    functionsReached:
    - UI_destroy_method
    linkageType: ''
    returnType: void
    signature: void cleanup_ui_method(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setup_ui_method
      Src: /src/mosquitto/lib/net_mosq.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: net__get_ui_method
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 1
    functionsReached:
    - setup_ui_method
    linkageType: ''
    returnType: UI_METHOD
    signature: UI_METHOD *net__get_ui_method(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WSAStartup
      Src: /src/mosquitto/lib/net_mosq.c:145,1
    - Dst: MAKEWORD
      Src: /src/mosquitto/lib/net_mosq.c:145,1
    - Dst: ares_library_init
      Src: /src/mosquitto/lib/net_mosq.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 155
    functionName: net__init
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 1
    functionsReached:
    - ares_library_init
    - MAKEWORD
    - WSAStartup
    linkageType: ''
    returnType: int
    signature: int net__init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_ui_method
      Src: /src/mosquitto/lib/net_mosq.c:161,1
    - Dst: ENGINE_cleanup
      Src: /src/mosquitto/lib/net_mosq.c:164,1
    - Dst: ares_library_cleanup
      Src: /src/mosquitto/lib/net_mosq.c:171,1
    - Dst: WSACleanup
      Src: /src/mosquitto/lib/net_mosq.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: net__cleanup
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 1
    functionsReached:
    - WSACleanup
    - ENGINE_cleanup
    - cleanup_ui_method
    - ares_library_cleanup
    linkageType: ''
    returnType: void
    signature: void net__cleanup(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_load_builtin_engines
      Src: /src/mosquitto/lib/net_mosq.c:189,1
    - Dst: SSL_get_ex_new_index
      Src: /src/mosquitto/lib/net_mosq.c:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 196
    functionName: net__init_tls
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 1
    functionsReached:
    - ENGINE_load_builtin_engines
    - SSL_get_ex_new_index
    linkageType: ''
    returnType: void
    signature: void net__init_tls(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 207
    functionName: net__is_connected
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool net__is_connected(struct mosquitto *mosq)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/net_mosq.c:221,1
    - Dst: SSL_in_init
      Src: /src/mosquitto/lib/net_mosq.c:228,1
    - Dst: SSL_shutdown
      Src: /src/mosquitto/lib/net_mosq.c:229,1
    - Dst: SSL_free
      Src: /src/mosquitto/lib/net_mosq.c:231,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/lib/net_mosq.c:240,1
    - Dst: lws_callback_on_writable
      Src: /src/mosquitto/lib/net_mosq.c:242,1
    - Dst: net__is_connected
      Src: /src/mosquitto/lib/net_mosq.c:249,1
    - Dst: HASH_FIND
      Src: /src/mosquitto/lib/net_mosq.c:251,1
    - Dst: HASH_DELETE
      Src: /src/mosquitto/lib/net_mosq.c:253,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/lib/net_mosq.c:259,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/mosquitto/lib/net_mosq.c
    constantsTouched: []
    func_position:
      end: 265
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 265
    functionName: net__socket_close
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 9
    functionsReached:
    - net__is_connected
    - SSL_shutdown
    - lws_callback_on_writable
    - assert
    - COMPAT_CLOSE
    - mosquitto__set_state
    - SSL_in_init
    - HASH_FIND
    - SSL_free
    - HASH_DELETE
    linkageType: ''
    returnType: int
    signature: int net__socket_close(struct mosquitto *mosq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/net_mosq.c:276,1
    - Dst: net__is_connected
      Src: /src/mosquitto/lib/net_mosq.c:278,1
    - Dst: COMPAT_SHUTDOWN
      Src: /src/mosquitto/lib/net_mosq.c:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/mosquitto/lib/net_mosq.c
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: net__socket_shutdown
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 1
    functionsReached:
    - net__is_connected
    - COMPAT_SHUTDOWN
    - assert
    linkageType: ''
    returnType: int
    signature: int net__socket_shutdown(struct mosquitto *mosq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/net_mosq.c:296,1
    - Dst: SSL_get_ex_data
      Src: /src/mosquitto/lib/net_mosq.c:298,1
    - Dst: snprintf
      Src: /src/mosquitto/lib/net_mosq.c:303,1
    - Dst: mosquitto__hex2bin
      Src: /src/mosquitto/lib/net_mosq.c:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 6
    argNames:
    - ssl
    - hint
    - identity
    - max_identity_len
    - psk
    - max_psk_len
    argTypes:
    - SSL*
    - char*
    - char*
    - unsigned int
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 310
    functionName: psk_client_callback
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 0
    functionsReached:
    - mosquitto__hex2bin
    - snprintf
    - UNUSED
    - SSL_get_ex_data
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int psk_client_callback(SSL *ssl, const char *hint,\n\t\tchar
      *identity, unsigned int max_identity_len,\n\t\tunsigned char *psk, unsigned
      int max_psk_len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gai_cancel
      Src: /src/mosquitto/lib/net_mosq.c:325,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/net_mosq.c:328,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/net_mosq.c:329,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/lib/net_mosq.c:331,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/lib/net_mosq.c:336,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/net_mosq.c:338,1
    - Dst: getaddrinfo_a
      Src: /src/mosquitto/lib/net_mosq.c:348,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/net_mosq.c:353,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/net_mosq.c:354,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - mosq
    - host
    argTypes:
    - struct mosquitto*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 360
    functionName: net__try_connect_step1
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - gai_cancel
    - getaddrinfo_a
    - mosquitto_calloc
    linkageType: ''
    returnType: int
    signature: int net__try_connect_step1(struct mosquitto *mosq, const char *host)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/mosquitto/lib/net_mosq.c:373,1
    - Dst: htons
      Src: /src/mosquitto/lib/net_mosq.c:379,1
    - Dst: htons
      Src: /src/mosquitto/lib/net_mosq.c:381,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/lib/net_mosq.c:383,1
    - Dst: net__socket_nonblock
      Src: /src/mosquitto/lib/net_mosq.c:389,1
    - Dst: connect
      Src: /src/mosquitto/lib/net_mosq.c:393,1
    - Dst: WINDOWS_SET_ERRNO
      Src: /src/mosquitto/lib/net_mosq.c:394,1
    - Dst: net__socket_nonblock
      Src: /src/mosquitto/lib/net_mosq.c:401,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/lib/net_mosq.c:407,1
    - Dst: freeaddrinfo
      Src: /src/mosquitto/lib/net_mosq.c:410,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/net_mosq.c:414,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/net_mosq.c:415,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 3
    argNames:
    - mosq
    - port
    - sock
    argTypes:
    - struct mosquitto*
    - uint16_t
    - mosq_sock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 422
    functionName: net__try_connect_step2
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - net__socket_nonblock
    - COMPAT_CLOSE
    - socket
    - freeaddrinfo
    - connect
    - WINDOWS_SET_ERRNO
    - htons
    linkageType: ''
    returnType: int
    signature: int net__try_connect_step2(struct mosquitto *mosq, uint16_t port, mosq_sock_t
      *sock)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/lib/net_mosq.c:438,1
    - Dst: getaddrinfo
      Src: /src/mosquitto/lib/net_mosq.c:442,1
    - Dst: getaddrinfo
      Src: /src/mosquitto/lib/net_mosq.c:449,1
    - Dst: freeaddrinfo
      Src: /src/mosquitto/lib/net_mosq.c:451,1
    - Dst: socket
      Src: /src/mosquitto/lib/net_mosq.c:458,1
    - Dst: htons
      Src: /src/mosquitto/lib/net_mosq.c:464,1
    - Dst: htons
      Src: /src/mosquitto/lib/net_mosq.c:466,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/lib/net_mosq.c:468,1
    - Dst: bind
      Src: /src/mosquitto/lib/net_mosq.c:475,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/lib/net_mosq.c:480,1
    - Dst: net__socket_nonblock
      Src: /src/mosquitto/lib/net_mosq.c:488,1
    - Dst: connect
      Src: /src/mosquitto/lib/net_mosq.c:493,1
    - Dst: WINDOWS_SET_ERRNO
      Src: /src/mosquitto/lib/net_mosq.c:494,1
    - Dst: net__socket_nonblock
      Src: /src/mosquitto/lib/net_mosq.c:502,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/lib/net_mosq.c:509,1
    - Dst: freeaddrinfo
      Src: /src/mosquitto/lib/net_mosq.c:512,1
    - Dst: freeaddrinfo
      Src: /src/mosquitto/lib/net_mosq.c:514,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 75
    argCount: 5
    argNames:
    - host
    - port
    - sock
    - bind_address
    - blocking
    argTypes:
    - char*
    - uint16_t
    - mosq_sock_t*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 520
    functionName: net__try_connect_tcp
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 0
    functionsReached:
    - getaddrinfo
    - COMPAT_CLOSE
    - net__socket_nonblock
    - WINDOWS_SET_ERRNO
    - socket
    - freeaddrinfo
    - memset
    - connect
    - htons
    - bind
    linkageType: ''
    returnType: int
    signature: int net__try_connect_tcp(const char *host, uint16_t port, mosq_sock_t
      *sock, const char *bind_address, bool blocking)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/lib/net_mosq.c:532,1
    - Dst: strlen
      Src: /src/mosquitto/lib/net_mosq.c:532,1
    - Dst: memset
      Src: /src/mosquitto/lib/net_mosq.c:536,1
    - Dst: strncpy
      Src: /src/mosquitto/lib/net_mosq.c:538,1
    - Dst: socket
      Src: /src/mosquitto/lib/net_mosq.c:540,1
    - Dst: net__socket_nonblock
      Src: /src/mosquitto/lib/net_mosq.c:544,1
    - Dst: connect
      Src: /src/mosquitto/lib/net_mosq.c:549,1
    - Dst: close
      Src: /src/mosquitto/lib/net_mosq.c:551,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - host
    - sock
    argTypes:
    - char*
    - mosq_sock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 558
    functionName: net__try_connect_unix
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 0
    functionsReached:
    - close
    - net__socket_nonblock
    - strlen
    - socket
    - memset
    - connect
    - strncpy
    linkageType: ''
    returnType: int
    signature: int net__try_connect_unix(const char *host, mosq_sock_t *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: net__try_connect_unix
      Src: /src/mosquitto/lib/net_mosq.c:566,1
    - Dst: net__try_connect_tcp
      Src: /src/mosquitto/lib/net_mosq.c:571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - host
    - port
    - sock
    - bind_address
    - blocking
    argTypes:
    - char*
    - uint16_t
    - mosq_sock_t*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 573
    functionName: net__try_connect
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 1
    functionsReached:
    - net__try_connect_unix
    - net__try_connect_tcp
    linkageType: ''
    returnType: int
    signature: int net__try_connect(const char *host, uint16_t port, mosq_sock_t *sock,
      const char *bind_address, bool blocking)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_error
      Src: /src/mosquitto/lib/net_mosq.c:585,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:587,1
    - Dst: ERR_error_string
      Src: /src/mosquitto/lib/net_mosq.c:587,1
    - Dst: ERR_get_error
      Src: /src/mosquitto/lib/net_mosq.c:588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mosq
    - msg
    argTypes:
    - struct mosquitto*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: net__print_ssl_error
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 5
    functionsReached:
    - log__printf
    - ERR_error_string
    - ERR_get_error
    linkageType: ''
    returnType: void
    signature: void net__print_ssl_error(struct mosquitto *mosq, const char *msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ERR_clear_error
      Src: /src/mosquitto/lib/net_mosq.c:598,1
    - Dst: SSL_set_tlsext_status_type
      Src: /src/mosquitto/lib/net_mosq.c:601,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:602,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/mosquitto/lib/net_mosq.c:605,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:606,1
    - Dst: SSL_CTX_set_tlsext_status_arg
      Src: /src/mosquitto/lib/net_mosq.c:609,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:610,1
    - Dst: SSL_set_connect_state
      Src: /src/mosquitto/lib/net_mosq.c:614,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 616
    functionName: net__socket_connect_tls
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 0
    functionsReached:
    - SSL_set_connect_state
    - SSL_set_tlsext_status_type
    - SSL_CTX_set_tlsext_status_arg
    - log__printf
    - ERR_clear_error
    - SSL_CTX_set_tlsext_status_cb
    linkageType: ''
    returnType: int
    signature: int net__socket_connect_tls(struct mosquitto *mosq)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/mosquitto/lib/net_mosq.c:628,1
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/mosquitto/lib/net_mosq.c:632,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:636,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:638,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:640,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:644,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:646,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:648,1
    - Dst: SSL_CTX_load_verify_file
      Src: /src/mosquitto/lib/net_mosq.c:656,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:659,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:661,1
    - Dst: SSL_CTX_load_verify_dir
      Src: /src/mosquitto/lib/net_mosq.c:667,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:670,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:672,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 679
    functionName: net__tls_load_ca
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_load_verify_locations
    - SSL_CTX_load_verify_file
    - log__printf
    - SSL_CTX_load_verify_dir
    - SSL_CTX_set_default_verify_paths
    linkageType: ''
    returnType: int
    signature: int net__tls_load_ca(struct mosquitto *mosq)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: net__init_tls
      Src: /src/mosquitto/lib/net_mosq.c:692,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:700,1
    - Dst: SSL_CTX_new
      Src: /src/mosquitto/lib/net_mosq.c:712,1
    - Dst: TLS_client_method
      Src: /src/mosquitto/lib/net_mosq.c:712,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:715,1
    - Dst: net__print_ssl_error
      Src: /src/mosquitto/lib/net_mosq.c:716,1
    - Dst: SSL_CTX_set_options
      Src: /src/mosquitto/lib/net_mosq.c:723,1
    - Dst: SSL_CTX_set_options
      Src: /src/mosquitto/lib/net_mosq.c:728,1
    - Dst: strcmp
      Src: /src/mosquitto/lib/net_mosq.c:730,1
    - Dst: SSL_CTX_set_options
      Src: /src/mosquitto/lib/net_mosq.c:731,1
    - Dst: strcmp
      Src: /src/mosquitto/lib/net_mosq.c:733,1
    - Dst: SSL_CTX_set_options
      Src: /src/mosquitto/lib/net_mosq.c:734,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:736,1
    - Dst: SSL_CTX_set_dh_auto
      Src: /src/mosquitto/lib/net_mosq.c:741,1
    - Dst: SSL_CTX_set_options
      Src: /src/mosquitto/lib/net_mosq.c:744,1
    - Dst: strnlen
      Src: /src/mosquitto/lib/net_mosq.c:748,1
    - Dst: memcpy
      Src: /src/mosquitto/lib/net_mosq.c:750,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/mosquitto/lib/net_mosq.c:751,1
    - Dst: SSL_CTX_set_mode
      Src: /src/mosquitto/lib/net_mosq.c:756,1
    - Dst: ENGINE_by_id
      Src: /src/mosquitto/lib/net_mosq.c:761,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:763,1
    - Dst: ENGINE_init
      Src: /src/mosquitto/lib/net_mosq.c:766,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:767,1
    - Dst: ENGINE_free
      Src: /src/mosquitto/lib/net_mosq.c:768,1
    - Dst: ENGINE_set_default
      Src: /src/mosquitto/lib/net_mosq.c:771,1
    - Dst: ENGINE_free
      Src: /src/mosquitto/lib/net_mosq.c:772,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/mosquitto/lib/net_mosq.c:777,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:779,1
    - Dst: ENGINE_FINISH
      Src: /src/mosquitto/lib/net_mosq.c:781,1
    - Dst: net__print_ssl_error
      Src: /src/mosquitto/lib/net_mosq.c:783,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/mosquitto/lib/net_mosq.c:789,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:791,1
    - Dst: net__tls_load_ca
      Src: /src/mosquitto/lib/net_mosq.c:797,1
    - Dst: ENGINE_FINISH
      Src: /src/mosquitto/lib/net_mosq.c:800,1
    - Dst: net__print_ssl_error
      Src: /src/mosquitto/lib/net_mosq.c:802,1
    - Dst: SSL_CTX_set_verify
      Src: /src/mosquitto/lib/net_mosq.c:806,1
    - Dst: SSL_CTX_set_verify
      Src: /src/mosquitto/lib/net_mosq.c:808,1
    - Dst: SSL_CTX_set_default_passwd_cb
      Src: /src/mosquitto/lib/net_mosq.c:812,1
    - Dst: SSL_CTX_set_default_passwd_cb_userdata
      Src: /src/mosquitto/lib/net_mosq.c:813,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/mosquitto/lib/net_mosq.c:817,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:820,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:822,1
    - Dst: ENGINE_FINISH
      Src: /src/mosquitto/lib/net_mosq.c:825,1
    - Dst: net__print_ssl_error
      Src: /src/mosquitto/lib/net_mosq.c:827,1
    - Dst: net__get_ui_method
      Src: /src/mosquitto/lib/net_mosq.c:834,1
    - Dst: ENGINE_ctrl_cmd
      Src: /src/mosquitto/lib/net_mosq.c:836,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:837,1
    - Dst: ENGINE_FINISH
      Src: /src/mosquitto/lib/net_mosq.c:838,1
    - Dst: net__print_ssl_error
      Src: /src/mosquitto/lib/net_mosq.c:839,1
    - Dst: ENGINE_ctrl_cmd
      Src: /src/mosquitto/lib/net_mosq.c:842,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:843,1
    - Dst: ENGINE_FINISH
      Src: /src/mosquitto/lib/net_mosq.c:844,1
    - Dst: net__print_ssl_error
      Src: /src/mosquitto/lib/net_mosq.c:845,1
    - Dst: ENGINE_load_private_key
      Src: /src/mosquitto/lib/net_mosq.c:850,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:852,1
    - Dst: ENGINE_FINISH
      Src: /src/mosquitto/lib/net_mosq.c:853,1
    - Dst: net__print_ssl_error
      Src: /src/mosquitto/lib/net_mosq.c:854,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/mosquitto/lib/net_mosq.c:857,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:858,1
    - Dst: ENGINE_FINISH
      Src: /src/mosquitto/lib/net_mosq.c:859,1
    - Dst: net__print_ssl_error
      Src: /src/mosquitto/lib/net_mosq.c:860,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/mosquitto/lib/net_mosq.c:865,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:868,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:870,1
    - Dst: ENGINE_FINISH
      Src: /src/mosquitto/lib/net_mosq.c:873,1
    - Dst: net__print_ssl_error
      Src: /src/mosquitto/lib/net_mosq.c:875,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/mosquitto/lib/net_mosq.c:879,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:881,1
    - Dst: ENGINE_FINISH
      Src: /src/mosquitto/lib/net_mosq.c:883,1
    - Dst: net__print_ssl_error
      Src: /src/mosquitto/lib/net_mosq.c:885,1
    - Dst: SSL_CTX_set_psk_client_callback
      Src: /src/mosquitto/lib/net_mosq.c:891,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/mosquitto/lib/net_mosq.c:893,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 158
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 682
    functionDepth: 2
    functionLinenumber: 682
    functionLinenumberEnd: 900
    functionName: net__init_ssl_ctx
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_use_PrivateKey_file
    - SSL_CTX_set_cipher_list
    - SSL_CTX_set_verify
    - strcmp
    - strnlen
    - log__printf
    - ENGINE_init
    - net__init_tls
    - net__print_ssl_error
    - SSL_CTX_use_PrivateKey
    - SSL_CTX_set_options
    - net__get_ui_method
    - memcpy
    - SSL_CTX_set_ciphersuites
    - SSL_CTX_use_certificate_chain_file
    - ENGINE_load_private_key
    - TLS_client_method
    - SSL_CTX_set_default_passwd_cb_userdata
    - ENGINE_ctrl_cmd
    - SSL_CTX_set_dh_auto
    - net__tls_load_ca
    - ENGINE_free
    - SSL_CTX_set_default_passwd_cb
    - SSL_CTX_check_private_key
    - SSL_CTX_new
    - ENGINE_FINISH
    - SSL_CTX_set_mode
    - SSL_CTX_set_psk_client_callback
    - ENGINE_by_id
    - ENGINE_set_default
    - SSL_CTX_set_alpn_protos
    linkageType: ''
    returnType: int
    signature: int net__init_ssl_ctx(struct mosquitto *mosq)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: net__init_ssl_ctx
      Src: /src/mosquitto/lib/net_mosq.c:909,1
    - Dst: net__socket_close
      Src: /src/mosquitto/lib/net_mosq.c:911,1
    - Dst: SSL_free
      Src: /src/mosquitto/lib/net_mosq.c:917,1
    - Dst: SSL_new
      Src: /src/mosquitto/lib/net_mosq.c:919,1
    - Dst: net__socket_close
      Src: /src/mosquitto/lib/net_mosq.c:921,1
    - Dst: net__print_ssl_error
      Src: /src/mosquitto/lib/net_mosq.c:922,1
    - Dst: SSL_set_ex_data
      Src: /src/mosquitto/lib/net_mosq.c:926,1
    - Dst: net__socket_close
      Src: /src/mosquitto/lib/net_mosq.c:927,1
    - Dst: net__print_ssl_error
      Src: /src/mosquitto/lib/net_mosq.c:928,1
    - Dst: BIO_new_socket
      Src: /src/mosquitto/lib/net_mosq.c:931,1
    - Dst: net__socket_close
      Src: /src/mosquitto/lib/net_mosq.c:933,1
    - Dst: net__print_ssl_error
      Src: /src/mosquitto/lib/net_mosq.c:934,1
    - Dst: SSL_set_bio
      Src: /src/mosquitto/lib/net_mosq.c:937,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/mosquitto/lib/net_mosq.c:942,1
    - Dst: net__socket_close
      Src: /src/mosquitto/lib/net_mosq.c:943,1
    - Dst: tls__set_verify_hostname
      Src: /src/mosquitto/lib/net_mosq.c:946,1
    - Dst: net__socket_connect_tls
      Src: /src/mosquitto/lib/net_mosq.c:950,1
    - Dst: net__socket_close
      Src: /src/mosquitto/lib/net_mosq.c:951,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/net_mosq.c:957,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/net_mosq.c:958,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 2
    argNames:
    - mosq
    - host
    argTypes:
    - struct mosquitto*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 904
    functionDepth: 3
    functionLinenumber: 904
    functionLinenumberEnd: 961
    functionName: net__socket_connect_step3
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 2
    functionsReached:
    - SSL_set_bio
    - net__socket_close
    - net__socket_connect_tls
    - net__print_ssl_error
    - SSL_set_ex_data
    - net__init_ssl_ctx
    - BIO_new_socket
    - tls__set_verify_hostname
    - SSL_free
    - SSL_new
    - SSL_set_tlsext_host_name
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int net__socket_connect_step3(struct mosquitto *mosq, const char *host)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: net__try_connect
      Src: /src/mosquitto/lib/net_mosq.c:973,1
    - Dst: setsockopt
      Src: /src/mosquitto/lib/net_mosq.c:980,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/net_mosq.c:981,1
    - Dst: net__socket_connect_step3
      Src: /src/mosquitto/lib/net_mosq.c:989,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 5
    argNames:
    - mosq
    - host
    - port
    - bind_address
    - blocking
    argTypes:
    - struct mosquitto*
    - char*
    - uint16_t
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 965
    functionDepth: 4
    functionLinenumber: 965
    functionLinenumberEnd: 996
    functionName: net__socket_connect
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 1
    functionsReached:
    - net__try_connect
    - net__socket_connect_step3
    - setsockopt
    - log__printf
    linkageType: ''
    returnType: int
    signature: int net__socket_connect(struct mosquitto *mosq, const char *host, uint16_t
      port, const char *bind_address, bool blocking)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_error
      Src: /src/mosquitto/lib/net_mosq.c:1006,1
    - Dst: mux__add_out
      Src: /src/mosquitto/lib/net_mosq.c:1011,1
    - Dst: net__print_ssl_error
      Src: /src/mosquitto/lib/net_mosq.c:1017,1
    - Dst: ERR_clear_error
      Src: /src/mosquitto/lib/net_mosq.c:1021,1
    - Dst: WSASetLastError
      Src: /src/mosquitto/lib/net_mosq.c:1023,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - mosq
    - ret
    argTypes:
    - struct mosquitto*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1025
    functionName: net__handle_ssl
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 0
    functionsReached:
    - ERR_clear_error
    - mux__add_out
    - net__print_ssl_error
    - SSL_get_error
    - WSASetLastError
    linkageType: ''
    returnType: void
    signature: void net__handle_ssl(struct mosquitto *mosq, int ret)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/net_mosq.c:1034,1
    - Dst: ERR_clear_error
      Src: /src/mosquitto/lib/net_mosq.c:1038,1
    - Dst: SSL_read
      Src: /src/mosquitto/lib/net_mosq.c:1039,1
    - Dst: net__handle_ssl
      Src: /src/mosquitto/lib/net_mosq.c:1041,1
    - Dst: read
      Src: /src/mosquitto/lib/net_mosq.c:1050,1
    - Dst: recv
      Src: /src/mosquitto/lib/net_mosq.c:1052,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - mosq
    - buf
    - count
    argTypes:
    - struct mosquitto*
    - void*
    - size_t
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 1033
        line_start: 1033
        source_file: /src/mosquitto/lib/net_mosq.c
    constantsTouched: []
    func_position:
      end: 1055
      start: 1029
    functionDepth: 2
    functionLinenumber: 1029
    functionLinenumberEnd: 1055
    functionName: net__read
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 5
    functionsReached:
    - SSL_read
    - net__handle_ssl
    - recv
    - read
    - assert
    - ERR_clear_error
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t net__read(struct mosquitto *mosq, void *buf, size_t count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/net_mosq.c:1063,1
    - Dst: ERR_clear_error
      Src: /src/mosquitto/lib/net_mosq.c:1068,1
    - Dst: SSL_write
      Src: /src/mosquitto/lib/net_mosq.c:1070,1
    - Dst: net__handle_ssl
      Src: /src/mosquitto/lib/net_mosq.c:1072,1
    - Dst: send
      Src: /src/mosquitto/lib/net_mosq.c:1079,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - mosq
    - buf
    - count
    argTypes:
    - struct mosquitto*
    - void*
    - size_t
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 1062
        line_start: 1062
        source_file: /src/mosquitto/lib/net_mosq.c
    constantsTouched: []
    func_position:
      end: 1081
      start: 1058
    functionDepth: 2
    functionLinenumber: 1058
    functionLinenumberEnd: 1081
    functionName: net__write
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 1
    functionsReached:
    - send
    - net__handle_ssl
    - assert
    - ERR_clear_error
    - SSL_write
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t net__write(struct mosquitto *mosq, const void *buf, size_t
      count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/mosquitto/lib/net_mosq.c:1089,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/lib/net_mosq.c:1091,1
    - Dst: fcntl
      Src: /src/mosquitto/lib/net_mosq.c:1095,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/lib/net_mosq.c:1097,1
    - Dst: ioctlsocket
      Src: /src/mosquitto/lib/net_mosq.c:1103,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/lib/net_mosq.c:1104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - sock
    argTypes:
    - mosq_sock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1110
    functionName: net__socket_nonblock
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 5
    functionsReached:
    - ioctlsocket
    - fcntl
    - COMPAT_CLOSE
    linkageType: ''
    returnType: int
    signature: int net__socket_nonblock(mosq_sock_t *sock)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/lib/net_mosq.c:1133,1
    - Dst: htonl
      Src: /src/mosquitto/lib/net_mosq.c:1136,1
    - Dst: socket
      Src: /src/mosquitto/lib/net_mosq.c:1148,1
    - Dst: bind
      Src: /src/mosquitto/lib/net_mosq.c:1153,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/lib/net_mosq.c:1154,1
    - Dst: listen
      Src: /src/mosquitto/lib/net_mosq.c:1158,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/lib/net_mosq.c:1159,1
    - Dst: memset
      Src: /src/mosquitto/lib/net_mosq.c:1162,1
    - Dst: getsockname
      Src: /src/mosquitto/lib/net_mosq.c:1164,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/lib/net_mosq.c:1165,1
    - Dst: htonl
      Src: /src/mosquitto/lib/net_mosq.c:1171,1
    - Dst: socket
      Src: /src/mosquitto/lib/net_mosq.c:1179,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/lib/net_mosq.c:1181,1
    - Dst: net__socket_nonblock
      Src: /src/mosquitto/lib/net_mosq.c:1184,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/lib/net_mosq.c:1185,1
    - Dst: connect
      Src: /src/mosquitto/lib/net_mosq.c:1188,1
    - Dst: WINDOWS_SET_ERRNO
      Src: /src/mosquitto/lib/net_mosq.c:1189,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/lib/net_mosq.c:1191,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/lib/net_mosq.c:1192,1
    - Dst: accept
      Src: /src/mosquitto/lib/net_mosq.c:1196,1
    - Dst: WINDOWS_SET_ERRNO
      Src: /src/mosquitto/lib/net_mosq.c:1198,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/lib/net_mosq.c:1200,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/lib/net_mosq.c:1201,1
    - Dst: net__socket_nonblock
      Src: /src/mosquitto/lib/net_mosq.c:1206,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/lib/net_mosq.c:1207,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/lib/net_mosq.c:1208,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/lib/net_mosq.c:1211,1
    - Dst: socketpair
      Src: /src/mosquitto/lib/net_mosq.c:1224,1
    - Dst: net__socket_nonblock
      Src: /src/mosquitto/lib/net_mosq.c:1227,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/lib/net_mosq.c:1228,1
    - Dst: net__socket_nonblock
      Src: /src/mosquitto/lib/net_mosq.c:1231,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/lib/net_mosq.c:1232,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 100
    argCount: 2
    argNames:
    - pairR
    - pairW
    argTypes:
    - mosq_sock_t*
    - mosq_sock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1116
    functionDepth: 2
    functionLinenumber: 1116
    functionLinenumberEnd: 1239
    functionName: net__socketpair
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 0
    functionsReached:
    - listen
    - htonl
    - getsockname
    - socketpair
    - COMPAT_CLOSE
    - net__socket_nonblock
    - socket
    - memset
    - connect
    - accept
    - WINDOWS_SET_ERRNO
    - bind
    linkageType: ''
    returnType: int
    signature: int net__socketpair(mosq_sock_t *pairR, mosq_sock_t *pairW)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/net_mosq.c:1250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1254
    functionName: mosquitto_ssl_get
    functionSourceFile: /src/mosquitto/lib/net_mosq.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void *mosquitto_ssl_get(struct mosquitto *mosq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/srv_mosq.c:43,1
    - Dst: ares_parse_srv_reply
      Src: /src/mosquitto/lib/srv_mosq.c:46,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/lib/srv_mosq.c:49,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/srv_mosq.c:52,1
    - Dst: callback__on_disconnect
      Src: /src/mosquitto/lib/srv_mosq.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - arg
    - status
    - timeouts
    - abuf
    - alen
    argTypes:
    - void*
    - int
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 56
    functionName: srv_callback
    functionSourceFile: /src/mosquitto/lib/srv_mosq.c
    functionUses: 0
    functionsReached:
    - ares_parse_srv_reply
    - callback__on_disconnect
    - mosquitto_connect
    - log__printf
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void srv_callback(void *arg, int status, int timeouts, unsigned char
      *abuf, int alen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/srv_mosq.c:69,1
    - Dst: ares_init
      Src: /src/mosquitto/lib/srv_mosq.c:75,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/lib/srv_mosq.c:85,1
    - Dst: strlen
      Src: /src/mosquitto/lib/srv_mosq.c:85,1
    - Dst: strlen
      Src: /src/mosquitto/lib/srv_mosq.c:85,1
    - Dst: sprintf
      Src: /src/mosquitto/lib/srv_mosq.c:89,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/lib/srv_mosq.c:93,1
    - Dst: strlen
      Src: /src/mosquitto/lib/srv_mosq.c:93,1
    - Dst: strlen
      Src: /src/mosquitto/lib/srv_mosq.c:93,1
    - Dst: sprintf
      Src: /src/mosquitto/lib/srv_mosq.c:97,1
    - Dst: ares_search
      Src: /src/mosquitto/lib/srv_mosq.c:99,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/srv_mosq.c:100,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/lib/srv_mosq.c:103,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/srv_mosq.c:110,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/srv_mosq.c:111,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/srv_mosq.c:112,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/srv_mosq.c:113,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 4
    argNames:
    - mosq
    - host
    - keepalive
    - bind_address
    argTypes:
    - struct mosquitto*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 117
    functionName: mosquitto_connect_srv
    functionSourceFile: /src/mosquitto/lib/srv_mosq.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - ares_search
    - mosquitto_malloc
    - sprintf
    - mosquitto__set_state
    - strlen
    - UNUSED
    - ares_init
    linkageType: ''
    returnType: int
    signature: int mosquitto_connect_srv(struct mosquitto *mosq, const char *host,
      int keepalive, const char *bind_address)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_copy_all
      Src: /src/mosquitto/lib/extended_auth.c:34,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/lib/extended_auth.c:45,1
    - Dst: mosquitto_property_add_binary
      Src: /src/mosquitto/lib/extended_auth.c:51,1
    - Dst: mosquitto_property_get_remaining_length
      Src: /src/mosquitto/lib/extended_auth.c:57,1
    - Dst: packet__check_oversize
      Src: /src/mosquitto/lib/extended_auth.c:59,1
    - Dst: packet__alloc
      Src: /src/mosquitto/lib/extended_auth.c:64,1
    - Dst: packet__write_byte
      Src: /src/mosquitto/lib/extended_auth.c:69,1
    - Dst: property__write_all
      Src: /src/mosquitto/lib/extended_auth.c:70,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/extended_auth.c:71,1
    - Dst: packet__queue
      Src: /src/mosquitto/lib/extended_auth.c:73,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/extended_auth.c:75,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 5
    argNames:
    - context
    - auth_method
    - auth_data_len
    - auth_data
    - input_props
    argTypes:
    - struct mosquitto*
    - char*
    - uint16_t
    - void*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 27
    functionDepth: 3
    functionLinenumber: 27
    functionLinenumberEnd: 77
    functionName: mosquitto_ext_auth_continue
    functionSourceFile: /src/mosquitto/lib/extended_auth.c
    functionUses: 1
    functionsReached:
    - packet__write_byte
    - packet__queue
    - mosquitto_property_get_remaining_length
    - property__write_all
    - packet__check_oversize
    - packet__alloc
    - mosquitto_property_copy_all
    - mosquitto_property_add_string
    - mosquitto_property_free_all
    - mosquitto_property_add_binary
    linkageType: ''
    returnType: int
    signature: int mosquitto_ext_auth_continue(struct mosquitto *context, const char
      *auth_method, uint16_t auth_data_len, const void *auth_data, const mosquitto_property
      *input_props)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/send_subscribe.c:48,1
    - Dst: assert
      Src: /src/mosquitto/lib/send_subscribe.c:49,1
    - Dst: mosquitto_property_get_remaining_length
      Src: /src/mosquitto/lib/send_subscribe.c:53,1
    - Dst: strlen
      Src: /src/mosquitto/lib/send_subscribe.c:56,1
    - Dst: packet__alloc
      Src: /src/mosquitto/lib/send_subscribe.c:63,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/send_subscribe.c:65,1
    - Dst: mosquitto__mid_generate
      Src: /src/mosquitto/lib/send_subscribe.c:70,1
    - Dst: packet__write_uint16
      Src: /src/mosquitto/lib/send_subscribe.c:74,1
    - Dst: property__write_all
      Src: /src/mosquitto/lib/send_subscribe.c:77,1
    - Dst: packet__write_string
      Src: /src/mosquitto/lib/send_subscribe.c:82,1
    - Dst: strlen
      Src: /src/mosquitto/lib/send_subscribe.c:82,1
    - Dst: packet__write_byte
      Src: /src/mosquitto/lib/send_subscribe.c:83,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/send_subscribe.c:88,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/send_subscribe.c:88,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/send_subscribe.c:92,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/send_subscribe.c:92,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/lib/send_subscribe.c:97,1
    - Dst: packet__queue
      Src: /src/mosquitto/lib/send_subscribe.c:99,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 6
    argNames:
    - mosq
    - mid
    - topic_count
    - topic
    - topic_qos
    - properties
    argTypes:
    - struct mosquitto*
    - int*
    - int
    - char**
    - int
    - mosquitto_property*
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/mosquitto/lib/send_subscribe.c
    - condition: (topic)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/mosquitto/lib/send_subscribe.c
    constantsTouched: []
    func_position:
      end: 100
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 100
    functionName: send__subscribe
    functionSourceFile: /src/mosquitto/lib/send_subscribe.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - packet__write_byte
    - packet__queue
    - SAFE_PRINT
    - mosquitto_property_get_remaining_length
    - property__write_all
    - metrics__int_inc
    - assert
    - mosquitto__mid_generate
    - strlen
    - packet__write_string
    - packet__alloc
    - log__printf
    - packet__write_uint16
    linkageType: ''
    returnType: int
    signature: int send__subscribe(struct mosquitto *mosq, int *mid, int topic_count,
      char *const *const topic, int topic_qos, const mosquitto_property *properties)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: packet__read_byte
      Src: /src/mosquitto/lib/handle_disconnect.c:51,1
    - Dst: property__read_all
      Src: /src/mosquitto/lib/handle_disconnect.c:57,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/handle_disconnect.c:61,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/handle_disconnect.c:64,1
    - Dst: do_client_disconnect
      Src: /src/mosquitto/lib/handle_disconnect.c:66,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/handle_disconnect.c:68,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 71
    functionName: handle__disconnect
    functionSourceFile: /src/mosquitto/lib/handle_disconnect.c
    functionUses: 2
    functionsReached:
    - property__read_all
    - packet__read_byte
    - do_client_disconnect
    - log__printf
    - mosquitto_property_free_all
    linkageType: ''
    returnType: int
    signature: int handle__disconnect(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: COMPAT_CLOSE
    functionSourceFile: /src/mosquitto/lib/net_mosq.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPAT_CLOSE(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: COMPAT_SHUTDOWN
    functionSourceFile: /src/mosquitto/lib/net_mosq.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPAT_SHUTDOWN(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: COMPAT_CLOSE
    functionSourceFile: /src/mosquitto/lib/net_mosq.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPAT_CLOSE(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: COMPAT_SHUTDOWN
    functionSourceFile: /src/mosquitto/lib/net_mosq.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPAT_SHUTDOWN(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: MOSQ_MSB
    functionSourceFile: /src/mosquitto/lib/net_mosq.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOSQ_MSB(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: MOSQ_LSB
    functionSourceFile: /src/mosquitto/lib/net_mosq.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOSQ_LSB(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: ENGINE_FINISH
    functionSourceFile: /src/mosquitto/lib/net_mosq.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENGINE_FINISH(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 8
    functionName: COMPAT_pthread_create
    functionSourceFile: /src/mosquitto/lib/pthread_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPAT_pthread_create(A, B, C, D)
  - 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: 9
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 9
    functionName: COMPAT_pthread_join
    functionSourceFile: /src/mosquitto/lib/pthread_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPAT_pthread_join(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 10
    functionName: COMPAT_pthread_cancel
    functionSourceFile: /src/mosquitto/lib/pthread_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPAT_pthread_cancel(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 11
    functionName: COMPAT_pthread_testcancel
    functionSourceFile: /src/mosquitto/lib/pthread_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPAT_pthread_testcancel()
  - 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: 13
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 13
    functionName: COMPAT_pthread_mutex_init
    functionSourceFile: /src/mosquitto/lib/pthread_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPAT_pthread_mutex_init(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 14
    functionName: COMPAT_pthread_mutex_destroy
    functionSourceFile: /src/mosquitto/lib/pthread_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPAT_pthread_mutex_destroy(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 15
    functionName: COMPAT_pthread_mutex_lock
    functionSourceFile: /src/mosquitto/lib/pthread_compat.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPAT_pthread_mutex_lock(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: COMPAT_pthread_mutex_unlock
    functionSourceFile: /src/mosquitto/lib/pthread_compat.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPAT_pthread_mutex_unlock(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_will_set_v5
      Src: /src/mosquitto/lib/options.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - mosq
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    argTypes:
    - struct mosquitto*
    - char*
    - int
    - void*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: mosquitto_will_set
    functionSourceFile: /src/mosquitto/lib/options.c
    functionUses: 4
    functionsReached:
    - mosquitto_will_set_v5
    linkageType: ''
    returnType: int
    signature: int mosquitto_will_set(struct mosquitto *mosq, const char *topic, int
      payloadlen, const void *payload, int qos, bool retain)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_check_all
      Src: /src/mosquitto/lib/options.c:56,1
    - Dst: will__set
      Src: /src/mosquitto/lib/options.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 7
    argNames:
    - mosq
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    - properties
    argTypes:
    - struct mosquitto*
    - char*
    - int
    - void*
    - int
    - bool
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 63
    functionName: mosquitto_will_set_v5
    functionSourceFile: /src/mosquitto/lib/options.c
    functionUses: 2
    functionsReached:
    - will__set
    - mosquitto_property_check_all
    linkageType: ''
    returnType: int
    signature: int mosquitto_will_set_v5(struct mosquitto *mosq, const char *topic,
      int payloadlen, const void *payload, int qos, bool retain, mosquitto_property
      *properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: will__clear
      Src: /src/mosquitto/lib/options.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: mosquitto_will_clear
    functionSourceFile: /src/mosquitto/lib/options.c
    functionUses: 1
    functionsReached:
    - will__clear
    linkageType: ''
    returnType: int
    signature: int mosquitto_will_clear(struct mosquitto *mosq)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/options.c:89,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/options.c:90,1
    - Dst: strlen
      Src: /src/mosquitto/lib/options.c:93,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/lib/options.c:97,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/options.c:100,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/options.c:107,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/options.c:109,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - mosq
    - username
    - password
    argTypes:
    - struct mosquitto*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 114
    functionName: mosquitto_username_pw_set
    functionSourceFile: /src/mosquitto/lib/options.c
    functionUses: 5
    functionsReached:
    - mosquitto_FREE
    - strlen
    - mosquitto_validate_utf8
    - mosquitto_strdup
    linkageType: ''
    returnType: int
    signature: int mosquitto_username_pw_set(struct mosquitto *mosq, const char *username,
      const char *password)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - mosq
    - reconnect_delay
    - reconnect_delay_max
    - reconnect_exponential_backoff
    argTypes:
    - struct mosquitto*
    - unsigned int
    - unsigned int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 132
    functionName: mosquitto_reconnect_delay_set
    functionSourceFile: /src/mosquitto/lib/options.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_reconnect_delay_set(struct mosquitto *mosq, unsigned
      int reconnect_delay, unsigned int reconnect_delay_max, bool reconnect_exponential_backoff)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/options.c:144,1
    - Dst: mosquitto_fopen
      Src: /src/mosquitto/lib/options.c:146,1
    - Dst: fclose
      Src: /src/mosquitto/lib/options.c:148,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/options.c:152,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/options.c:159,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/options.c:161,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/options.c:167,1
    - Dst: mosquitto_fopen
      Src: /src/mosquitto/lib/options.c:169,1
    - Dst: fclose
      Src: /src/mosquitto/lib/options.c:171,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/options.c:173,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/options.c:174,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/options.c:177,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/options.c:183,1
    - Dst: mosquitto_fopen
      Src: /src/mosquitto/lib/options.c:186,1
    - Dst: fclose
      Src: /src/mosquitto/lib/options.c:188,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/options.c:190,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/options.c:193,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/options.c:196,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/options.c:201,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/options.c:212,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/options.c:213,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/options.c:214,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/options.c:215,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/options.c:216,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/options.c:217,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 69
    argCount: 5
    argNames:
    - mosq
    - cafile
    - capath
    - certfile
    - keyfile
    argTypes:
    - struct mosquitto*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 222
    functionName: mosquitto_tls_set
    functionSourceFile: /src/mosquitto/lib/options.c
    functionUses: 12
    functionsReached:
    - mosquitto_FREE
    - mosquitto_strdup
    - fclose
    - mosquitto_fopen
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_tls_set(struct mosquitto *mosq, const char *cafile, const
      char *capath, const char *certfile, const char *keyfile, int (*pw_callback)(char
      *buf, int size, int rwflag, void *userdata))
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/mosquitto/lib/options.c:234,1
    - Dst: strcasecmp
      Src: /src/mosquitto/lib/options.c:235,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/options.c:237,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/options.c:238,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/options.c:246,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/options.c:247,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/options.c:253,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/options.c:254,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/options.c:259,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/options.c:263,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/options.c:264,1
    - Dst: strcasecmp
      Src: /src/mosquitto/lib/options.c:267,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/options.c:268,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/options.c:273,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/options.c:282,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/options.c:283,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/options.c:284,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/options.c:285,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 53
    argCount: 4
    argNames:
    - mosq
    - cert_reqs
    - tls_version
    - ciphers
    argTypes:
    - struct mosquitto*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 289
    functionName: mosquitto_tls_opts_set
    functionSourceFile: /src/mosquitto/lib/options.c
    functionUses: 3
    functionsReached:
    - mosquitto_FREE
    - strcasecmp
    - UNUSED
    - mosquitto_strdup
    linkageType: ''
    returnType: int
    signature: int mosquitto_tls_opts_set(struct mosquitto *mosq, int cert_reqs, const
      char *tls_version, const char *ciphers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/options.c:301,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/options.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - mosq
    - value
    argTypes:
    - struct mosquitto*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 306
    functionName: mosquitto_tls_insecure_set
    functionSourceFile: /src/mosquitto/lib/options.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_tls_insecure_set(struct mosquitto *mosq, bool value)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/options.c:323,1
    - Dst: OPENSSL_init_crypto
      Src: /src/mosquitto/lib/options.c:327,1
    - Dst: ENGINE_by_id
      Src: /src/mosquitto/lib/options.c:328,1
    - Dst: ENGINE_free
      Src: /src/mosquitto/lib/options.c:332,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/options.c:333,1
    - Dst: strcasecmp
      Src: /src/mosquitto/lib/options.c:349,1
    - Dst: strcasecmp
      Src: /src/mosquitto/lib/options.c:351,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/options.c:365,1
    - Dst: mosquitto__hex2bin_sha1
      Src: /src/mosquitto/lib/options.c:366,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/options.c:378,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/options.c:379,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/options.c:390,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/options.c:392,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/options.c:404,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/options.c:406,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 83
    argCount: 3
    argNames:
    - mosq
    - option
    - value
    argTypes:
    - struct mosquitto*
    - enum mosq_opt_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 422
    functionName: mosquitto_string_option
    functionSourceFile: /src/mosquitto/lib/options.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - mosquitto_strdup
    - OPENSSL_init_crypto
    - strcasecmp
    - ENGINE_by_id
    - mosquitto__hex2bin_sha1
    - ENGINE_free
    linkageType: ''
    returnType: int
    signature: int mosquitto_string_option(struct mosquitto *mosq, enum mosq_opt_t
      option, const char *value)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strspn
      Src: /src/mosquitto/lib/options.c:433,1
    - Dst: strlen
      Src: /src/mosquitto/lib/options.c:433,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/options.c:436,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/options.c:441,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/options.c:443,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/options.c:447,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/options.c:457,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/options.c:458,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/options.c:459,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/options.c:460,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 4
    argNames:
    - mosq
    - psk
    - identity
    - ciphers
    argTypes:
    - struct mosquitto*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 464
    functionName: mosquitto_tls_psk_set
    functionSourceFile: /src/mosquitto/lib/options.c
    functionUses: 2
    functionsReached:
    - mosquitto_strdup
    - mosquitto_FREE
    - strlen
    - strspn
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_tls_psk_set(struct mosquitto *mosq, const char *psk,
      const char *identity, const char *ciphers)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/lib/options.c:481,1
    - Dst: mosquitto_void_option
      Src: /src/mosquitto/lib/options.c:483,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - mosq
    - option
    - value
    argTypes:
    - struct mosquitto*
    - enum mosq_opt_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 488
    functionName: mosquitto_opts_set
    functionSourceFile: /src/mosquitto/lib/options.c
    functionUses: 5
    functionsReached:
    - mosquitto_void_option
    - mosquitto_int_option
    linkageType: ''
    returnType: int
    signature: int mosquitto_opts_set(struct mosquitto *mosq, enum mosq_opt_t option,
      void *value)
  - BBCount: 25
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 86
    argCount: 3
    argNames:
    - mosq
    - option
    - value
    argTypes:
    - struct mosquitto*
    - enum mosq_opt_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 602
    functionName: mosquitto_int_option
    functionSourceFile: /src/mosquitto/lib/options.c
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_int_option(struct mosquitto *mosq, enum mosq_opt_t option,
      int value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_up_ref
      Src: /src/mosquitto/lib/options.c:616,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/options.c:620,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - mosq
    - option
    - value
    argTypes:
    - struct mosquitto*
    - enum mosq_opt_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 627
    functionName: mosquitto_void_option
    functionSourceFile: /src/mosquitto/lib/options.c
    functionUses: 3
    functionsReached:
    - UNUSED
    - SSL_CTX_up_ref
    linkageType: ''
    returnType: int
    signature: int mosquitto_void_option(struct mosquitto *mosq, enum mosq_opt_t option,
      void *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mosq
    - userdata
    argTypes:
    - struct mosquitto*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 635
    functionName: mosquitto_user_data_set
    functionSourceFile: /src/mosquitto/lib/options.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquitto_user_data_set(struct mosquitto *mosq, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 641
    functionName: mosquitto_userdata
    functionSourceFile: /src/mosquitto/lib/options.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *mosquitto_userdata(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_subscribe_multiple
      Src: /src/mosquitto/lib/actions_subscribe.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mosq
    - mid
    - sub
    - qos
    argTypes:
    - struct mosquitto*
    - int*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: mosquitto_subscribe
    functionSourceFile: /src/mosquitto/lib/actions_subscribe.c
    functionUses: 21
    functionsReached:
    - mosquitto_subscribe_multiple
    linkageType: ''
    returnType: int
    signature: int mosquitto_subscribe(struct mosquitto *mosq, int *mid, const char
      *sub, int qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_subscribe_multiple
      Src: /src/mosquitto/lib/actions_subscribe.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - mosq
    - mid
    - sub
    - qos
    - options
    - properties
    argTypes:
    - struct mosquitto*
    - int*
    - char*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: mosquitto_subscribe_v5
    functionSourceFile: /src/mosquitto/lib/actions_subscribe.c
    functionUses: 6
    functionsReached:
    - mosquitto_subscribe_multiple
    linkageType: ''
    returnType: int
    signature: int mosquitto_subscribe_v5(struct mosquitto *mosq, int *mid, const
      char *sub, int qos, int options, const mosquitto_property *properties)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: net__is_connected
      Src: /src/mosquitto/lib/actions_subscribe.c:63,1
    - Dst: memcpy
      Src: /src/mosquitto/lib/actions_subscribe.c:71,1
    - Dst: mosquitto_property_check_all
      Src: /src/mosquitto/lib/actions_subscribe.c:76,1
    - Dst: mosquitto_sub_topic_check
      Src: /src/mosquitto/lib/actions_subscribe.c:83,1
    - Dst: strlen
      Src: /src/mosquitto/lib/actions_subscribe.c:86,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/lib/actions_subscribe.c:90,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/lib/actions_subscribe.c:97,1
    - Dst: packet__check_oversize
      Src: /src/mosquitto/lib/actions_subscribe.c:98,1
    - Dst: send__subscribe
      Src: /src/mosquitto/lib/actions_subscribe.c:106,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 7
    argNames:
    - mosq
    - mid
    - sub_count
    - sub
    - qos
    - options
    - properties
    argTypes:
    - struct mosquitto*
    - int*
    - int
    - char**
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 107
    functionName: mosquitto_subscribe_multiple
    functionSourceFile: /src/mosquitto/lib/actions_subscribe.c
    functionUses: 3
    functionsReached:
    - net__is_connected
    - send__subscribe
    - mosquitto_property_check_all
    - mosquitto_property_get_length_all
    - packet__check_oversize
    - strlen
    - mosquitto_sub_topic_check
    - mosquitto_validate_utf8
    - memcpy
    linkageType: ''
    returnType: int
    signature: int mosquitto_subscribe_multiple(struct mosquitto *mosq, int *mid,
      int sub_count, char *const *const sub, int qos, int options, const mosquitto_property
      *properties)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/handle_ping.c:42,1
    - Dst: mosquitto__get_state
      Src: /src/mosquitto/lib/handle_ping.c:44,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/handle_ping.c:52,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/handle_ping.c:52,1
    - Dst: send__pingresp
      Src: /src/mosquitto/lib/handle_ping.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/mosquitto/lib/handle_ping.c
    constantsTouched: []
    func_position:
      end: 57
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 57
    functionName: handle__pingreq
    functionSourceFile: /src/mosquitto/lib/handle_ping.c
    functionUses: 2
    functionsReached:
    - SAFE_PRINT
    - mosquitto__get_state
    - assert
    - send__pingresp
    - log__printf
    linkageType: ''
    returnType: int
    signature: int handle__pingreq(struct mosquitto *mosq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/handle_ping.c:62,1
    - Dst: mosquitto__get_state
      Src: /src/mosquitto/lib/handle_ping.c:64,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/handle_ping.c:76,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/handle_ping.c:76,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/handle_ping.c:78,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/handle_ping.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/mosquitto/lib/handle_ping.c
    constantsTouched: []
    func_position:
      end: 81
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 81
    functionName: handle__pingresp
    functionSourceFile: /src/mosquitto/lib/handle_ping.c
    functionUses: 2
    functionsReached:
    - log__printf
    - mosquitto__get_state
    - SAFE_PRINT
    - assert
    linkageType: ''
    returnType: int
    signature: int handle__pingresp(struct mosquitto *mosq)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: packet__read_varint
      Src: /src/mosquitto/lib/property_mosq.c:51,1
    - Dst: mosquitto_varint_bytes
      Src: /src/mosquitto/lib/property_mosq.c:55,1
    - Dst: memset
      Src: /src/mosquitto/lib/property_mosq.c:57,1
    - Dst: packet__read_byte
      Src: /src/mosquitto/lib/property_mosq.c:70,1
    - Dst: packet__read_uint16
      Src: /src/mosquitto/lib/property_mosq.c:83,1
    - Dst: packet__read_uint32
      Src: /src/mosquitto/lib/property_mosq.c:96,1
    - Dst: packet__read_varint
      Src: /src/mosquitto/lib/property_mosq.c:106,1
    - Dst: packet__read_string
      Src: /src/mosquitto/lib/property_mosq.c:122,1
    - Dst: packet__read_binary
      Src: /src/mosquitto/lib/property_mosq.c:134,1
    - Dst: packet__read_string
      Src: /src/mosquitto/lib/property_mosq.c:145,1
    - Dst: packet__read_string
      Src: /src/mosquitto/lib/property_mosq.c:151,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/property_mosq.c:153,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/property_mosq.c:167,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 111
    argCount: 3
    argNames:
    - packet
    - len
    - property
    argTypes:
    - struct mosquitto__packet_in*
    - uint32_t*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 173
    functionName: property__read
    functionSourceFile: /src/mosquitto/lib/property_mosq.c
    functionUses: 0
    functionsReached:
    - packet__read_varint
    - mosquitto_FREE
    - packet__read_string
    - log__printf
    - packet__read_uint16
    - packet__read_binary
    - memset
    - packet__read_byte
    - mosquitto_varint_bytes
    - packet__read_uint32
    linkageType: ''
    returnType: int
    signature: int property__read(struct mosquitto__packet_in *packet, uint32_t *len,
      mosquitto_property *property)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: packet__read_varint
      Src: /src/mosquitto/lib/property_mosq.c:182,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/lib/property_mosq.c:192,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/property_mosq.c:194,1
    - Dst: property__read
      Src: /src/mosquitto/lib/property_mosq.c:198,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/property_mosq.c:200,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/property_mosq.c:201,1
    - Dst: mosquitto_property_check_all
      Src: /src/mosquitto/lib/property_mosq.c:214,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/property_mosq.c:216,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - command
    - packet
    - properties
    argTypes:
    - int
    - struct mosquitto__packet_in*
    - mosquitto_property**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 220
    functionName: property__read_all
    functionSourceFile: /src/mosquitto/lib/property_mosq.c
    functionUses: 42
    functionsReached:
    - packet__read_varint
    - mosquitto_FREE
    - mosquitto_property_check_all
    - mosquitto_calloc
    - property__read
    - mosquitto_property_free_all
    linkageType: ''
    returnType: int
    signature: int property__read_all(int command, struct mosquitto__packet_in *packet,
      mosquitto_property **properties)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: packet__write_varint
      Src: /src/mosquitto/lib/property_mosq.c:227,1
    - Dst: mosquitto_property_identifier
      Src: /src/mosquitto/lib/property_mosq.c:227,1
    - Dst: packet__write_byte
      Src: /src/mosquitto/lib/property_mosq.c:234,1
    - Dst: packet__write_uint16
      Src: /src/mosquitto/lib/property_mosq.c:238,1
    - Dst: packet__write_uint32
      Src: /src/mosquitto/lib/property_mosq.c:242,1
    - Dst: packet__write_varint
      Src: /src/mosquitto/lib/property_mosq.c:246,1
    - Dst: packet__write_string
      Src: /src/mosquitto/lib/property_mosq.c:249,1
    - Dst: packet__write_uint16
      Src: /src/mosquitto/lib/property_mosq.c:253,1
    - Dst: packet__write_bytes
      Src: /src/mosquitto/lib/property_mosq.c:254,1
    - Dst: packet__write_string
      Src: /src/mosquitto/lib/property_mosq.c:258,1
    - Dst: packet__write_string
      Src: /src/mosquitto/lib/property_mosq.c:259,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/property_mosq.c:264,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - packet
    - property
    argTypes:
    - struct mosquitto__packet*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 270
    functionName: property__write
    functionSourceFile: /src/mosquitto/lib/property_mosq.c
    functionUses: 0
    functionsReached:
    - mosquitto_property_identifier
    - packet__write_byte
    - packet__write_varint
    - packet__write_bytes
    - packet__write_string
    - log__printf
    - packet__write_uint16
    - packet__write_uint32
    linkageType: ''
    returnType: int
    signature: int property__write(struct mosquitto__packet *packet, const mosquitto_property
      *property)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: packet__write_varint
      Src: /src/mosquitto/lib/property_mosq.c:279,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/lib/property_mosq.c:279,1
    - Dst: property__write
      Src: /src/mosquitto/lib/property_mosq.c:287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - packet
    - properties
    - write_len
    argTypes:
    - struct mosquitto__packet*
    - mosquitto_property*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 295
    functionName: property__write_all
    functionSourceFile: /src/mosquitto/lib/property_mosq.c
    functionUses: 19
    functionsReached:
    - mosquitto_property_get_length_all
    - packet__write_varint
    - property__write
    linkageType: ''
    returnType: int
    signature: int property__write_all(struct mosquitto__packet *packet, const mosquitto_property
      *properties, bool write_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_create
      Src: /src/mosquitto/lib/thread_mosq.c:52,1
    - Dst: pthread_setname_np
      Src: /src/mosquitto/lib/thread_mosq.c:54,1
    - Dst: pthread_setname_np
      Src: /src/mosquitto/lib/thread_mosq.c:56,1
    - Dst: pthread_set_name_np
      Src: /src/mosquitto/lib/thread_mosq.c:58,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/thread_mosq.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 68
    functionName: mosquitto_loop_start
    functionSourceFile: /src/mosquitto/lib/thread_mosq.c
    functionUses: 12
    functionsReached:
    - pthread_set_name_np
    - UNUSED
    - pthread_setname_np
    - COMPAT_pthread_create
    linkageType: ''
    returnType: int
    signature: int mosquitto_loop_start(struct mosquitto *mosq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/mosquitto/lib/thread_mosq.c:88,1
    - Dst: send
      Src: /src/mosquitto/lib/thread_mosq.c:91,1
    - Dst: COMPAT_pthread_cancel
      Src: /src/mosquitto/lib/thread_mosq.c:97,1
    - Dst: COMPAT_pthread_join
      Src: /src/mosquitto/lib/thread_mosq.c:100,1
    - Dst: pthread_self
      Src: /src/mosquitto/lib/thread_mosq.c:101,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/thread_mosq.c:106,1
    - Dst: UNUSED
      Src: /src/mosquitto/lib/thread_mosq.c:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - mosq
    - force
    argTypes:
    - struct mosquitto*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 110
    functionName: mosquitto_loop_stop
    functionSourceFile: /src/mosquitto/lib/thread_mosq.c
    functionUses: 10
    functionsReached:
    - send
    - COMPAT_pthread_join
    - write
    - COMPAT_pthread_cancel
    - pthread_self
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto_loop_stop(struct mosquitto *mosq, bool force)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto__get_state
      Src: /src/mosquitto/lib/thread_mosq.c:129,1
    - Dst: Sleep
      Src: /src/mosquitto/lib/thread_mosq.c:131,1
    - Dst: nanosleep
      Src: /src/mosquitto/lib/thread_mosq.c:133,1
    - Dst: mosquitto_loop_forever
      Src: /src/mosquitto/lib/thread_mosq.c:142,1
    - Dst: mosquitto_loop_forever
      Src: /src/mosquitto/lib/thread_mosq.c:145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - obj
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 152
    functionName: mosquitto__thread_main
    functionSourceFile: /src/mosquitto/lib/thread_mosq.c
    functionUses: 0
    functionsReached:
    - mosquitto__get_state
    - nanosleep
    - mosquitto_loop_forever
    - Sleep
    linkageType: ''
    returnType: void
    signature: void *mosquitto__thread_main(void *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - mosq
    - threaded
    argTypes:
    - struct mosquitto*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: mosquitto_threaded_set
    functionSourceFile: /src/mosquitto/lib/thread_mosq.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_threaded_set(struct mosquitto *mosq, bool threaded)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/mosquitto/lib/loop.c:66,1
    - Dst: FD_ZERO
      Src: /src/mosquitto/lib/loop.c:67,1
    - Dst: net__is_connected
      Src: /src/mosquitto/lib/loop.c:68,1
    - Dst: FD_SET
      Src: /src/mosquitto/lib/loop.c:70,1
    - Dst: FD_SET
      Src: /src/mosquitto/lib/loop.c:72,1
    - Dst: SSL_is_init_finished
      Src: /src/mosquitto/lib/loop.c:75,1
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/loop.c:78,1
    - Dst: FD_SET
      Src: /src/mosquitto/lib/loop.c:80,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/loop.c:82,1
    - Dst: mosquitto__get_state
      Src: /src/mosquitto/lib/loop.c:88,1
    - Dst: ares_fds
      Src: /src/mosquitto/lib/loop.c:89,1
    - Dst: FD_SET
      Src: /src/mosquitto/lib/loop.c:104,1
    - Dst: mosquitto_time
      Src: /src/mosquitto/lib/loop.c:115,1
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/loop.c:116,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/loop.c:120,1
    - Dst: pselect
      Src: /src/mosquitto/lib/loop.c:136,1
    - Dst: select
      Src: /src/mosquitto/lib/loop.c:138,1
    - Dst: WINDOWS_SET_ERRNO
      Src: /src/mosquitto/lib/loop.c:141,1
    - Dst: net__is_connected
      Src: /src/mosquitto/lib/loop.c:148,1
    - Dst: FD_ISSET
      Src: /src/mosquitto/lib/loop.c:149,1
    - Dst: mosquitto_loop_read
      Src: /src/mosquitto/lib/loop.c:150,1
    - Dst: FD_ISSET
      Src: /src/mosquitto/lib/loop.c:155,1
    - Dst: read
      Src: /src/mosquitto/lib/loop.c:157,1
    - Dst: recv
      Src: /src/mosquitto/lib/loop.c:160,1
    - Dst: net__is_connected
      Src: /src/mosquitto/lib/loop.c:165,1
    - Dst: FD_SET
      Src: /src/mosquitto/lib/loop.c:166,1
    - Dst: net__is_connected
      Src: /src/mosquitto/lib/loop.c:169,1
    - Dst: FD_ISSET
      Src: /src/mosquitto/lib/loop.c:169,1
    - Dst: mosquitto_loop_write
      Src: /src/mosquitto/lib/loop.c:170,1
    - Dst: net__is_connected
      Src: /src/mosquitto/lib/loop.c:171,1
    - Dst: ares_process
      Src: /src/mosquitto/lib/loop.c:178,1
    - Dst: mosquitto_loop_misc
      Src: /src/mosquitto/lib/loop.c:182,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 96
    argCount: 3
    argNames:
    - mosq
    - timeout
    - max_packets
    argTypes:
    - struct mosquitto*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 183
    functionName: mosquitto_loop
    functionSourceFile: /src/mosquitto/lib/loop.c
    functionUses: 57
    functionsReached:
    - FD_ISSET
    - mosquitto_loop_write
    - recv
    - mosquitto_loop_read
    - COMPAT_pthread_mutex_lock
    - FD_ZERO
    - FD_SET
    - COMPAT_pthread_mutex_unlock
    - select
    - SSL_is_init_finished
    - WINDOWS_SET_ERRNO
    - ares_process
    - mosquitto_loop_misc
    - net__is_connected
    - pselect
    - mosquitto__get_state
    - mosquitto_time
    - read
    - ares_fds
    linkageType: ''
    returnType: int
    signature: int mosquitto_loop(struct mosquitto *mosq, int timeout, int max_packets)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/mosquitto/lib/loop.c:199,1
    - Dst: recv
      Src: /src/mosquitto/lib/loop.c:202,1
    - Dst: FD_ZERO
      Src: /src/mosquitto/lib/loop.c:212,1
    - Dst: FD_SET
      Src: /src/mosquitto/lib/loop.c:217,1
    - Dst: pselect
      Src: /src/mosquitto/lib/loop.c:221,1
    - Dst: select
      Src: /src/mosquitto/lib/loop.c:223,1
    - Dst: WINDOWS_SET_ERRNO
      Src: /src/mosquitto/lib/loop.c:226,1
    - Dst: FD_ISSET
      Src: /src/mosquitto/lib/loop.c:232,1
    - Dst: read
      Src: /src/mosquitto/lib/loop.c:234,1
    - Dst: recv
      Src: /src/mosquitto/lib/loop.c:237,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - mosq
    - reconnect_delay
    argTypes:
    - struct mosquitto*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 241
    functionName: interruptible_sleep
    functionSourceFile: /src/mosquitto/lib/loop.c
    functionUses: 0
    functionsReached:
    - pselect
    - FD_ISSET
    - FD_ZERO
    - FD_SET
    - recv
    - read
    - WINDOWS_SET_ERRNO
    - select
    linkageType: ''
    returnType: int
    signature: int interruptible_sleep(struct mosquitto *mosq, time_t reconnect_delay)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_testcancel
      Src: /src/mosquitto/lib/loop.c:259,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/lib/loop.c:261,1
    - Dst: COMPAT_pthread_testcancel
      Src: /src/mosquitto/lib/loop.c:286,1
    - Dst: mosquitto__get_request_disconnect
      Src: /src/mosquitto/lib/loop.c:289,1
    - Dst: interruptible_sleep
      Src: /src/mosquitto/lib/loop.c:308,1
    - Dst: mosquitto__get_request_disconnect
      Src: /src/mosquitto/lib/loop.c:313,1
    - Dst: mosquitto_reconnect
      Src: /src/mosquitto/lib/loop.c:316,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 64
    argCount: 3
    argNames:
    - mosq
    - timeout
    - max_packets
    argTypes:
    - struct mosquitto*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 322
    functionName: mosquitto_loop_forever
    functionSourceFile: /src/mosquitto/lib/loop.c
    functionUses: 4
    functionsReached:
    - mosquitto_reconnect
    - COMPAT_pthread_testcancel
    - mosquitto__get_request_disconnect
    - interruptible_sleep
    - mosquitto_loop
    linkageType: ''
    returnType: int
    signature: int mosquitto_loop_forever(struct mosquitto *mosq, int timeout, int
      max_packets)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: net__is_connected
      Src: /src/mosquitto/lib/loop.c:330,1
    - Dst: mosquitto__check_keepalive
      Src: /src/mosquitto/lib/loop.c:334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 335
    functionName: mosquitto_loop_misc
    functionSourceFile: /src/mosquitto/lib/loop.c
    functionUses: 2
    functionsReached:
    - net__is_connected
    - mosquitto__check_keepalive
    linkageType: ''
    returnType: int
    signature: int mosquitto_loop_misc(struct mosquitto *mosq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: net__socket_close
      Src: /src/mosquitto/lib/loop.c:343,1
    - Dst: mosquitto__get_state
      Src: /src/mosquitto/lib/loop.c:344,1
    - Dst: callback__on_disconnect
      Src: /src/mosquitto/lib/loop.c:348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - mosq
    - rc
    argTypes:
    - struct mosquitto*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 351
    functionName: mosquitto__loop_rc_handle
    functionSourceFile: /src/mosquitto/lib/loop.c
    functionUses: 0
    functionsReached:
    - mosquitto__get_state
    - callback__on_disconnect
    - net__socket_close
    linkageType: ''
    returnType: int
    signature: int mosquitto__loop_rc_handle(struct mosquitto *mosq, int rc)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/loop.c:362,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/loop.c:364,1
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/loop.c:366,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/loop.c:368,1
    - Dst: SSL_DATA_PENDING
      Src: /src/mosquitto/lib/loop.c:376,1
    - Dst: socks5__read
      Src: /src/mosquitto/lib/loop.c:379,1
    - Dst: packet__read
      Src: /src/mosquitto/lib/loop.c:386,1
    - Dst: http_c__read
      Src: /src/mosquitto/lib/loop.c:390,1
    - Dst: mosquitto__loop_rc_handle
      Src: /src/mosquitto/lib/loop.c:398,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - mosq
    - max_packets
    argTypes:
    - struct mosquitto*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 354
    functionDepth: 7
    functionLinenumber: 354
    functionLinenumberEnd: 402
    functionName: mosquitto_loop_read
    functionSourceFile: /src/mosquitto/lib/loop.c
    functionUses: 2
    functionsReached:
    - http_c__read
    - packet__read
    - mosquitto__loop_rc_handle
    - COMPAT_pthread_mutex_unlock
    - COMPAT_pthread_mutex_lock
    - socks5__read
    - SSL_DATA_PENDING
    linkageType: ''
    returnType: int
    signature: int mosquitto_loop_read(struct mosquitto *mosq, int max_packets)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: packet__write
      Src: /src/mosquitto/lib/loop.c:414,1
    - Dst: mosquitto__loop_rc_handle
      Src: /src/mosquitto/lib/loop.c:416,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - mosq
    - max_packets
    argTypes:
    - struct mosquitto*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 405
    functionDepth: 3
    functionLinenumber: 405
    functionLinenumberEnd: 420
    functionName: mosquitto_loop_write
    functionSourceFile: /src/mosquitto/lib/loop.c
    functionUses: 2
    functionsReached:
    - mosquitto__loop_rc_handle
    - packet__write
    linkageType: ''
    returnType: int
    signature: int mosquitto_loop_write(struct mosquitto *mosq, int max_packets)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/handle_pubrec.c:48,1
    - Dst: mosquitto__get_state
      Src: /src/mosquitto/lib/handle_pubrec.c:50,1
    - Dst: packet__read_uint16
      Src: /src/mosquitto/lib/handle_pubrec.c:57,1
    - Dst: packet__read_byte
      Src: /src/mosquitto/lib/handle_pubrec.c:66,1
    - Dst: property__read_all
      Src: /src/mosquitto/lib/handle_pubrec.c:85,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/handle_pubrec.c:91,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/handle_pubrec.c:97,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/handle_pubrec.c:103,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/handle_pubrec.c:103,1
    - Dst: db__message_update_outgoing
      Src: /src/mosquitto/lib/handle_pubrec.c:106,1
    - Dst: db__message_delete_outgoing
      Src: /src/mosquitto/lib/handle_pubrec.c:108,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/handle_pubrec.c:112,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/handle_pubrec.c:112,1
    - Dst: message__out_update
      Src: /src/mosquitto/lib/handle_pubrec.c:115,1
    - Dst: message__delete
      Src: /src/mosquitto/lib/handle_pubrec.c:117,1
    - Dst: callback__on_publish
      Src: /src/mosquitto/lib/handle_pubrec.c:119,1
    - Dst: util__increment_send_quota
      Src: /src/mosquitto/lib/handle_pubrec.c:121,1
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/handle_pubrec.c:122,1
    - Dst: message__release_to_inflight
      Src: /src/mosquitto/lib/handle_pubrec.c:123,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/handle_pubrec.c:124,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/handle_pubrec.c:129,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/handle_pubrec.c:129,1
    - Dst: send__pubrel
      Src: /src/mosquitto/lib/handle_pubrec.c:133,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 65
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/mosquitto/lib/handle_pubrec.c
    constantsTouched: []
    func_position:
      end: 139
      start: 41
    functionDepth: 7
    functionLinenumber: 41
    functionLinenumberEnd: 139
    functionName: handle__pubrec
    functionSourceFile: /src/mosquitto/lib/handle_pubrec.c
    functionUses: 2
    functionsReached:
    - message__out_update
    - db__message_update_outgoing
    - property__read_all
    - SAFE_PRINT
    - db__message_delete_outgoing
    - mosquitto__get_state
    - packet__read_uint16
    - util__increment_send_quota
    - send__pubrel
    - assert
    - message__release_to_inflight
    - COMPAT_pthread_mutex_unlock
    - COMPAT_pthread_mutex_lock
    - packet__read_byte
    - log__printf
    - mosquitto_property_free_all
    - callback__on_publish
    - message__delete
    linkageType: ''
    returnType: int
    signature: int handle__pubrec(struct mosquitto *mosq)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/send_unsubscribe.c:47,1
    - Dst: assert
      Src: /src/mosquitto/lib/send_unsubscribe.c:48,1
    - Dst: strlen
      Src: /src/mosquitto/lib/send_unsubscribe.c:52,1
    - Dst: mosquitto_property_get_remaining_length
      Src: /src/mosquitto/lib/send_unsubscribe.c:60,1
    - Dst: packet__alloc
      Src: /src/mosquitto/lib/send_unsubscribe.c:63,1
    - Dst: mosquitto__mid_generate
      Src: /src/mosquitto/lib/send_unsubscribe.c:69,1
    - Dst: packet__write_uint16
      Src: /src/mosquitto/lib/send_unsubscribe.c:73,1
    - Dst: property__write_all
      Src: /src/mosquitto/lib/send_unsubscribe.c:77,1
    - Dst: packet__write_string
      Src: /src/mosquitto/lib/send_unsubscribe.c:82,1
    - Dst: strlen
      Src: /src/mosquitto/lib/send_unsubscribe.c:82,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/send_unsubscribe.c:88,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/send_unsubscribe.c:88,1
    - Dst: metrics__int_inc
      Src: /src/mosquitto/lib/send_unsubscribe.c:91,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/send_unsubscribe.c:94,1
    - Dst: SAFE_PRINT
      Src: /src/mosquitto/lib/send_unsubscribe.c:94,1
    - Dst: packet__queue
      Src: /src/mosquitto/lib/send_unsubscribe.c:97,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 5
    argNames:
    - mosq
    - mid
    - topic_count
    - topic
    - properties
    argTypes:
    - struct mosquitto*
    - int*
    - int
    - char**
    - mosquitto_property*
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/mosquitto/lib/send_unsubscribe.c
    - condition: (topic)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/mosquitto/lib/send_unsubscribe.c
    constantsTouched: []
    func_position:
      end: 98
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 98
    functionName: send__unsubscribe
    functionSourceFile: /src/mosquitto/lib/send_unsubscribe.c
    functionUses: 1
    functionsReached:
    - packet__queue
    - SAFE_PRINT
    - mosquitto_property_get_remaining_length
    - property__write_all
    - metrics__int_inc
    - assert
    - mosquitto__mid_generate
    - strlen
    - packet__write_string
    - packet__alloc
    - log__printf
    - packet__write_uint16
    linkageType: ''
    returnType: int
    signature: int send__unsubscribe(struct mosquitto *mosq, int *mid, int topic_count,
      char *const *const topic, const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/helpers.c:46,1
    - Dst: mosquitto_subscribe
      Src: /src/mosquitto/lib/helpers.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mosq
    - obj
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: on_connect
    functionSourceFile: /src/mosquitto/lib/helpers.c
    functionUses: 12
    functionsReached:
    - UNUSED
    - mosquitto_subscribe
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct userdata__callback*::callback
      Src: /src/mosquitto/lib/helpers.c:57,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/lib/helpers.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - mosq
    - obj
    - message
    argTypes:
    - struct mosquitto*
    - void*
    - struct mosquitto_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: on_message_callback
    functionSourceFile: /src/mosquitto/lib/helpers.c
    functionUses: 0
    functionsReached:
    - mosquitto_disconnect
    - struct userdata__callback*::callback
    linkageType: ''
    returnType: void
    signature: void on_message_callback(struct mosquitto *mosq, void *obj, const struct
      mosquitto_message *message)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_message_copy
      Src: /src/mosquitto/lib/helpers.c:80,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/lib/helpers.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - mosq
    - obj
    - message
    argTypes:
    - struct mosquitto*
    - void*
    - struct mosquitto_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 89
    functionName: on_message_simple
    functionSourceFile: /src/mosquitto/lib/helpers.c
    functionUses: 0
    functionsReached:
    - mosquitto_message_copy
    - mosquitto_disconnect
    linkageType: ''
    returnType: int
    signature: int on_message_simple(struct mosquitto *mosq, void *obj, const struct
      mosquitto_message *message)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/lib/helpers.c:118,1
    - Dst: mosquitto_subscribe_callback
      Src: /src/mosquitto/lib/helpers.c:126,1
    - Dst: mosquitto_message_free_contents
      Src: /src/mosquitto/lib/helpers.c:139,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/helpers.c:141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 14
    argNames:
    - messages
    - msg_count
    - want_retained
    - topic
    - qos
    - host
    - port
    - clientid
    - keepalive
    - clean_session
    - username
    - password
    - will
    - tls
    argTypes:
    - struct mosquitto_message**
    - int
    - bool
    - char*
    - int
    - char*
    - int
    - char*
    - int
    - bool
    - char*
    - char*
    - struct libmosquitto_will*
    - struct libmosquitto_tls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 144
    functionName: mosquitto_subscribe_simple
    functionSourceFile: /src/mosquitto/lib/helpers.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - mosquitto_message_free_contents
    - mosquitto_subscribe_callback
    - mosquitto_calloc
    linkageType: ''
    returnType: libmosq_EXPORT
    signature: "libmosq_EXPORT mosquitto_subscribe_simple(\n\t\tstruct mosquitto_message
      **messages,\n\t\tint msg_count,\n\t\tbool want_retained,\n\t\tconst char *topic,\n\t\tint
      qos,\n\t\tconst char *host,\n\t\tint port,\n\t\tconst char *clientid,\n\t\tint
      keepalive,\n\t\tbool clean_session,\n\t\tconst char *username,\n\t\tconst char
      *password,\n\t\tconst struct libmosquitto_will *will,\n\t\tconst struct libmosquitto_tls
      *tls)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_new
      Src: /src/mosquitto/lib/helpers.c:175,1
    - Dst: mosquitto_will_set
      Src: /src/mosquitto/lib/helpers.c:181,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/lib/helpers.c:183,1
    - Dst: mosquitto_username_pw_set
      Src: /src/mosquitto/lib/helpers.c:188,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/lib/helpers.c:190,1
    - Dst: mosquitto_tls_set
      Src: /src/mosquitto/lib/helpers.c:195,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/lib/helpers.c:197,1
    - Dst: mosquitto_tls_opts_set
      Src: /src/mosquitto/lib/helpers.c:200,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/lib/helpers.c:202,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/lib/helpers.c:207,1
    - Dst: mosquitto_message_callback_set
      Src: /src/mosquitto/lib/helpers.c:208,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/lib/helpers.c:210,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/lib/helpers.c:212,1
    - Dst: mosquitto_loop_forever
      Src: /src/mosquitto/lib/helpers.c:215,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/lib/helpers.c:216,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 12
    argNames:
    - userdata
    - topic
    - qos
    - host
    - port
    - clientid
    - keepalive
    - clean_session
    - username
    - password
    - will
    - tls
    argTypes:
    - void*
    - char*
    - int
    - char*
    - int
    - char*
    - int
    - bool
    - char*
    - char*
    - struct libmosquitto_will*
    - struct libmosquitto_tls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 218
    functionName: mosquitto_subscribe_callback
    functionSourceFile: /src/mosquitto/lib/helpers.c
    functionUses: 2
    functionsReached:
    - mosquitto_message_callback_set
    - mosquitto_username_pw_set
    - mosquitto_will_set
    - mosquitto_tls_opts_set
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_loop_forever
    - mosquitto_tls_set
    - mosquitto_connect_callback_set
    linkageType: ''
    returnType: libmosq_EXPORT
    signature: "libmosq_EXPORT mosquitto_subscribe_callback(\n\t\tint (*callback)(struct
      mosquitto *, void *, const struct mosquitto_message *),\n\t\tvoid *userdata,\n\t\tconst
      char *topic,\n\t\tint qos,\n\t\tconst char *host,\n\t\tint port,\n\t\tconst
      char *clientid,\n\t\tint keepalive,\n\t\tbool clean_session,\n\t\tconst char
      *username,\n\t\tconst char *password,\n\t\tconst struct libmosquitto_will *will,\n\t\tconst
      struct libmosquitto_tls *tls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/tls_mosq.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - preverify_ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: mosquitto__server_certificate_verify
    functionSourceFile: /src/mosquitto/lib/tls_mosq.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int mosquitto__server_certificate_verify(int preverify_ok, X509_STORE_CTX
      *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: InetPton
      Src: /src/mosquitto/lib/tls_mosq.c:71,1
    - Dst: InetPton
      Src: /src/mosquitto/lib/tls_mosq.c:72,1
    - Dst: inet_pton
      Src: /src/mosquitto/lib/tls_mosq.c:74,1
    - Dst: inet_pton
      Src: /src/mosquitto/lib/tls_mosq.c:75,1
    - Dst: SSL_get0_param
      Src: /src/mosquitto/lib/tls_mosq.c:78,1
    - Dst: X509_VERIFY_PARAM_set1_ip_asc
      Src: /src/mosquitto/lib/tls_mosq.c:80,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/mosquitto/lib/tls_mosq.c:82,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - mosq
    - hostname
    argTypes:
    - struct mosquitto*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 89
    functionName: tls__set_verify_hostname
    functionSourceFile: /src/mosquitto/lib/tls_mosq.c
    functionUses: 1
    functionsReached:
    - inet_pton
    - X509_VERIFY_PARAM_set1_host
    - InetPton
    - SSL_get0_param
    - X509_VERIFY_PARAM_set1_ip_asc
    linkageType: ''
    returnType: int
    signature: int tls__set_verify_hostname(struct mosquitto *mosq, const char *hostname)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - major
    - minor
    - revision
    argTypes:
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 59
    functionName: mosquitto_lib_version
    functionSourceFile: /src/mosquitto/lib/libmosquitto.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_lib_version(int *major, int *minor, int *revision)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_time_init
      Src: /src/mosquitto/lib/libmosquitto.c:67,1
    - Dst: net__init
      Src: /src/mosquitto/lib/libmosquitto.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 77
    functionName: mosquitto_lib_init
    functionSourceFile: /src/mosquitto/lib/libmosquitto.c
    functionUses: 69
    functionsReached:
    - mosquitto_time_init
    - net__init
    linkageType: ''
    returnType: int
    signature: int mosquitto_lib_init(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: net__cleanup
      Src: /src/mosquitto/lib/libmosquitto.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: mosquitto_lib_cleanup
    functionSourceFile: /src/mosquitto/lib/libmosquitto.c
    functionUses: 71
    functionsReached:
    - net__cleanup
    linkageType: ''
    returnType: int
    signature: int mosquitto_lib_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/lib/libmosquitto.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: alloc_packet_buffer
    functionSourceFile: /src/mosquitto/lib/libmosquitto.c
    functionUses: 0
    functionsReached:
    - mosquitto_calloc
    linkageType: ''
    returnType: int
    signature: int alloc_packet_buffer(struct mosquitto *mosq)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/lib/libmosquitto.c:111,1
    - Dst: pthread_self
      Src: /src/mosquitto/lib/libmosquitto.c:117,1
    - Dst: mosquitto_reinitialise
      Src: /src/mosquitto/lib/libmosquitto.c:122,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/lib/libmosquitto.c:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - id
    - clean_start
    - userdata
    argTypes:
    - char*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 136
    functionName: mosquitto_new
    functionSourceFile: /src/mosquitto/lib/libmosquitto.c
    functionUses: 75
    functionsReached:
    - mosquitto_reinitialise
    - mosquitto_destroy
    - pthread_self
    - mosquitto_calloc
    linkageType: ''
    returnType: struct mosquitto
    signature: struct mosquitto *mosquitto_new(const char *id, bool clean_start, void
      *userdata)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto__destroy
      Src: /src/mosquitto/lib/libmosquitto.c:149,1
    - Dst: memset
      Src: /src/mosquitto/lib/libmosquitto.c:150,1
    - Dst: COMPAT_pthread_mutex_init
      Src: /src/mosquitto/lib/libmosquitto.c:153,1
    - Dst: COMPAT_pthread_mutex_init
      Src: /src/mosquitto/lib/libmosquitto.c:154,1
    - Dst: COMPAT_pthread_mutex_init
      Src: /src/mosquitto/lib/libmosquitto.c:155,1
    - Dst: COMPAT_pthread_mutex_init
      Src: /src/mosquitto/lib/libmosquitto.c:156,1
    - Dst: COMPAT_pthread_mutex_init
      Src: /src/mosquitto/lib/libmosquitto.c:157,1
    - Dst: COMPAT_pthread_mutex_init
      Src: /src/mosquitto/lib/libmosquitto.c:158,1
    - Dst: COMPAT_pthread_mutex_init
      Src: /src/mosquitto/lib/libmosquitto.c:159,1
    - Dst: COMPAT_pthread_mutex_init
      Src: /src/mosquitto/lib/libmosquitto.c:160,1
    - Dst: pthread_self
      Src: /src/mosquitto/lib/libmosquitto.c:161,1
    - Dst: memset
      Src: /src/mosquitto/lib/libmosquitto.c:170,1
    - Dst: alloc_packet_buffer
      Src: /src/mosquitto/lib/libmosquitto.c:177,1
    - Dst: STREMPTY
      Src: /src/mosquitto/lib/libmosquitto.c:188,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/lib/libmosquitto.c:191,1
    - Dst: strlen
      Src: /src/mosquitto/lib/libmosquitto.c:191,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/libmosquitto.c:194,1
    - Dst: packet__cleanup
      Src: /src/mosquitto/lib/libmosquitto.c:199,1
    - Dst: mosquitto_time
      Src: /src/mosquitto/lib/libmosquitto.c:203,1
    - Dst: mosquitto_time
      Src: /src/mosquitto/lib/libmosquitto.c:204,1
    - Dst: net__socketpair
      Src: /src/mosquitto/lib/libmosquitto.c:240,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/libmosquitto.c:241,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 91
    argCount: 4
    argNames:
    - mosq
    - id
    - clean_start
    - userdata
    argTypes:
    - struct mosquitto*
    - char*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 247
    functionName: mosquitto_reinitialise
    functionSourceFile: /src/mosquitto/lib/libmosquitto.c
    functionUses: 1
    functionsReached:
    - mosquitto_strdup
    - mosquitto__destroy
    - COMPAT_pthread_mutex_init
    - STREMPTY
    - alloc_packet_buffer
    - mosquitto_time
    - packet__cleanup
    - strlen
    - memset
    - pthread_self
    - mosquitto_validate_utf8
    - log__printf
    - net__socketpair
    linkageType: ''
    returnType: int
    signature: int mosquitto_reinitialise(struct mosquitto *mosq, const char *id,
      bool clean_start, void *userdata)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pthread_equal
      Src: /src/mosquitto/lib/libmosquitto.c:258,1
    - Dst: pthread_self
      Src: /src/mosquitto/lib/libmosquitto.c:258,1
    - Dst: COMPAT_pthread_cancel
      Src: /src/mosquitto/lib/libmosquitto.c:259,1
    - Dst: COMPAT_pthread_join
      Src: /src/mosquitto/lib/libmosquitto.c:260,1
    - Dst: COMPAT_pthread_mutex_destroy
      Src: /src/mosquitto/lib/libmosquitto.c:265,1
    - Dst: COMPAT_pthread_mutex_destroy
      Src: /src/mosquitto/lib/libmosquitto.c:266,1
    - Dst: COMPAT_pthread_mutex_destroy
      Src: /src/mosquitto/lib/libmosquitto.c:267,1
    - Dst: COMPAT_pthread_mutex_destroy
      Src: /src/mosquitto/lib/libmosquitto.c:268,1
    - Dst: COMPAT_pthread_mutex_destroy
      Src: /src/mosquitto/lib/libmosquitto.c:269,1
    - Dst: COMPAT_pthread_mutex_destroy
      Src: /src/mosquitto/lib/libmosquitto.c:270,1
    - Dst: COMPAT_pthread_mutex_destroy
      Src: /src/mosquitto/lib/libmosquitto.c:271,1
    - Dst: COMPAT_pthread_mutex_destroy
      Src: /src/mosquitto/lib/libmosquitto.c:272,1
    - Dst: net__is_connected
      Src: /src/mosquitto/lib/libmosquitto.c:274,1
    - Dst: net__socket_close
      Src: /src/mosquitto/lib/libmosquitto.c:275,1
    - Dst: message__cleanup_all
      Src: /src/mosquitto/lib/libmosquitto.c:277,1
    - Dst: will__clear
      Src: /src/mosquitto/lib/libmosquitto.c:278,1
    - Dst: SSL_free
      Src: /src/mosquitto/lib/libmosquitto.c:281,1
    - Dst: SSL_CTX_free
      Src: /src/mosquitto/lib/libmosquitto.c:285,1
    - Dst: SSL_CTX_free
      Src: /src/mosquitto/lib/libmosquitto.c:287,1
    - Dst: SSL_CTX_free
      Src: /src/mosquitto/lib/libmosquitto.c:291,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/libmosquitto.c:294,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/libmosquitto.c:295,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/libmosquitto.c:296,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/libmosquitto.c:297,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/libmosquitto.c:299,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/libmosquitto.c:300,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/libmosquitto.c:301,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/libmosquitto.c:302,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/libmosquitto.c:303,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/libmosquitto.c:305,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/libmosquitto.c:309,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/libmosquitto.c:310,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/libmosquitto.c:311,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/libmosquitto.c:312,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/libmosquitto.c:313,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/libmosquitto.c:314,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/libmosquitto.c:315,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/libmosquitto.c:318,1
    - Dst: packet__cleanup_all_no_locks
      Src: /src/mosquitto/lib/libmosquitto.c:320,1
    - Dst: packet__cleanup
      Src: /src/mosquitto/lib/libmosquitto.c:322,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/lib/libmosquitto.c:324,1
    - Dst: COMPAT_CLOSE
      Src: /src/mosquitto/lib/libmosquitto.c:328,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 64
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 250
    functionDepth: 3
    functionLinenumber: 250
    functionLinenumberEnd: 331
    functionName: mosquitto__destroy
    functionSourceFile: /src/mosquitto/lib/libmosquitto.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    - net__is_connected
    - net__socket_close
    - SSL_CTX_free
    - COMPAT_pthread_join
    - COMPAT_pthread_mutex_destroy
    - pthread_equal
    - message__cleanup_all
    - packet__cleanup
    - COMPAT_CLOSE
    - COMPAT_pthread_cancel
    - pthread_self
    - SSL_free
    - packet__cleanup_all_no_locks
    - will__clear
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void mosquitto__destroy(struct mosquitto *mosq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto__destroy
      Src: /src/mosquitto/lib/libmosquitto.c:340,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/libmosquitto.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 334
    functionDepth: 4
    functionLinenumber: 334
    functionLinenumberEnd: 342
    functionName: mosquitto_destroy
    functionSourceFile: /src/mosquitto/lib/libmosquitto.c
    functionUses: 75
    functionsReached:
    - mosquitto_FREE
    - mosquitto__destroy
    linkageType: ''
    returnType: void
    signature: void mosquitto_destroy(struct mosquitto *mosq)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 351
    functionName: mosquitto_socket
    functionSourceFile: /src/mosquitto/lib/libmosquitto.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_socket(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: mosquitto_want_write
    functionSourceFile: /src/mosquitto/lib/libmosquitto.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool mosquitto_want_write(struct mosquitto *mosq)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/lib/connect.c:66,1
    - Dst: mosquitto_getrandom
      Src: /src/mosquitto/lib/connect.c:76,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/connect.c:86,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/connect.c:87,1
    - Dst: mosquitto__set_request_disconnect
      Src: /src/mosquitto/lib/connect.c:97,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 4
    argNames:
    - mosq
    - host
    - port
    - keepalive
    argTypes:
    - struct mosquitto*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 100
    functionName: mosquitto__connect_init
    functionSourceFile: /src/mosquitto/lib/connect.c
    functionUses: 0
    functionsReached:
    - mosquitto_FREE
    - mosquitto_strdup
    - mosquitto_calloc
    - mosquitto__set_request_disconnect
    - mosquitto_getrandom
    linkageType: ''
    returnType: int
    signature: int mosquitto__connect_init(struct mosquitto *mosq, const char *host,
      int port, int keepalive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_connect_bind
      Src: /src/mosquitto/lib/connect.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mosq
    - host
    - port
    - keepalive
    argTypes:
    - struct mosquitto*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: mosquitto_connect
    functionSourceFile: /src/mosquitto/lib/connect.c
    functionUses: 62
    functionsReached:
    - mosquitto_connect_bind
    linkageType: ''
    returnType: int
    signature: int mosquitto_connect(struct mosquitto *mosq, const char *host, int
      port, int keepalive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_connect_bind_v5
      Src: /src/mosquitto/lib/connect.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - mosq
    - host
    - port
    - keepalive
    - bind_address
    argTypes:
    - struct mosquitto*
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: mosquitto_connect_bind
    functionSourceFile: /src/mosquitto/lib/connect.c
    functionUses: 1
    functionsReached:
    - mosquitto_connect_bind_v5
    linkageType: ''
    returnType: int
    signature: int mosquitto_connect_bind(struct mosquitto *mosq, const char *host,
      int port, int keepalive, const char *bind_address)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_string_option
      Src: /src/mosquitto/lib/connect.c:120,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/connect.c:126,1
    - Dst: mosquitto_property_check_all
      Src: /src/mosquitto/lib/connect.c:128,1
    - Dst: mosquitto_property_copy_all
      Src: /src/mosquitto/lib/connect.c:133,1
    - Dst: mosquitto__connect_init
      Src: /src/mosquitto/lib/connect.c:140,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/lib/connect.c:145,1
    - Dst: mosquitto__reconnect
      Src: /src/mosquitto/lib/connect.c:147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 6
    argNames:
    - mosq
    - host
    - port
    - keepalive
    - bind_address
    - properties
    argTypes:
    - struct mosquitto*
    - char*
    - int
    - int
    - char*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 148
    functionName: mosquitto_connect_bind_v5
    functionSourceFile: /src/mosquitto/lib/connect.c
    functionUses: 12
    functionsReached:
    - mosquitto_property_check_all
    - mosquitto__reconnect
    - mosquitto__set_state
    - mosquitto_string_option
    - mosquitto_property_copy_all
    - mosquitto_property_free_all
    - mosquitto__connect_init
    linkageType: ''
    returnType: int
    signature: int mosquitto_connect_bind_v5(struct mosquitto *mosq, const char *host,
      int port, int keepalive, const char *bind_address, const mosquitto_property
      *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_connect_bind_async
      Src: /src/mosquitto/lib/connect.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mosq
    - host
    - port
    - keepalive
    argTypes:
    - struct mosquitto*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: mosquitto_connect_async
    functionSourceFile: /src/mosquitto/lib/connect.c
    functionUses: 2
    functionsReached:
    - mosquitto_connect_bind_async
    linkageType: ''
    returnType: int
    signature: int mosquitto_connect_async(struct mosquitto *mosq, const char *host,
      int port, int keepalive)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_string_option
      Src: /src/mosquitto/lib/connect.c:162,1
    - Dst: mosquitto__connect_init
      Src: /src/mosquitto/lib/connect.c:168,1
    - Dst: mosquitto__reconnect
      Src: /src/mosquitto/lib/connect.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - mosq
    - host
    - port
    - keepalive
    - bind_address
    argTypes:
    - struct mosquitto*
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 174
    functionName: mosquitto_connect_bind_async
    functionSourceFile: /src/mosquitto/lib/connect.c
    functionUses: 1
    functionsReached:
    - mosquitto__reconnect
    - mosquitto_string_option
    - mosquitto__connect_init
    linkageType: ''
    returnType: int
    signature: int mosquitto_connect_bind_async(struct mosquitto *mosq, const char
      *host, int port, int keepalive, const char *bind_address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto__reconnect
      Src: /src/mosquitto/lib/connect.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: mosquitto_reconnect_async
    functionSourceFile: /src/mosquitto/lib/connect.c
    functionUses: 0
    functionsReached:
    - mosquitto__reconnect
    linkageType: ''
    returnType: int
    signature: int mosquitto_reconnect_async(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto__reconnect
      Src: /src/mosquitto/lib/connect.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: mosquitto_reconnect
    functionSourceFile: /src/mosquitto/lib/connect.c
    functionUses: 3
    functionsReached:
    - mosquitto__reconnect
    linkageType: ''
    returnType: int
    signature: int mosquitto_reconnect(struct mosquitto *mosq)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/lib/connect.c:194,1
    - Dst: getpeername
      Src: /src/mosquitto/lib/connect.c:196,1
    - Dst: ntohs
      Src: /src/mosquitto/lib/connect.c:199,1
    - Dst: inet_ntop
      Src: /src/mosquitto/lib/connect.c:201,1
    - Dst: ntohs
      Src: /src/mosquitto/lib/connect.c:206,1
    - Dst: inet_ntop
      Src: /src/mosquitto/lib/connect.c:208,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - sock
    - buf
    - len
    - remote_port
    argTypes:
    - int
    - char*
    - size_t
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 214
    functionName: get_address
    functionSourceFile: /src/mosquitto/lib/connect.c
    functionUses: 4
    functionsReached:
    - inet_ntop
    - memset
    - getpeername
    - ntohs
    linkageType: ''
    returnType: int
    signature: int get_address(int sock, char *buf, size_t len, uint16_t *remote_port)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mosquitto/lib/connect.c:238,1
    - Dst: mosquitto_property_check_all
      Src: /src/mosquitto/lib/connect.c:243,1
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/connect.c:249,1
    - Dst: mosquitto_time
      Src: /src/mosquitto/lib/connect.c:250,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/connect.c:252,1
    - Dst: packet__cleanup
      Src: /src/mosquitto/lib/connect.c:256,1
    - Dst: packet__cleanup_all
      Src: /src/mosquitto/lib/connect.c:258,1
    - Dst: message__reconnect_reset
      Src: /src/mosquitto/lib/connect.c:260,1
    - Dst: net__is_connected
      Src: /src/mosquitto/lib/connect.c:262,1
    - Dst: net__socket_close
      Src: /src/mosquitto/lib/connect.c:263,1
    - Dst: callback__on_pre_connect
      Src: /src/mosquitto/lib/connect.c:266,1
    - Dst: net__socket_connect
      Src: /src/mosquitto/lib/connect.c:270,1
    - Dst: net__socket_connect
      Src: /src/mosquitto/lib/connect.c:274,1
    - Dst: get_address
      Src: /src/mosquitto/lib/connect.c:278,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/lib/connect.c:280,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/lib/connect.c:286,1
    - Dst: socks5__send
      Src: /src/mosquitto/lib/connect.c:287,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/lib/connect.c:291,1
    - Dst: http_c__context_init
      Src: /src/mosquitto/lib/connect.c:294,1
    - Dst: send__connect
      Src: /src/mosquitto/lib/connect.c:298,1
    - Dst: packet__cleanup_all
      Src: /src/mosquitto/lib/connect.c:300,1
    - Dst: net__socket_close
      Src: /src/mosquitto/lib/connect.c:301,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 62
    argCount: 2
    argNames:
    - mosq
    - blocking
    argTypes:
    - struct mosquitto*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 217
    functionDepth: 5
    functionLinenumber: 217
    functionLinenumberEnd: 306
    functionName: mosquitto__reconnect
    functionSourceFile: /src/mosquitto/lib/connect.c
    functionUses: 4
    functionsReached:
    - net__is_connected
    - net__socket_close
    - mosquitto_property_check_all
    - net__socket_connect
    - mosquitto_time
    - packet__cleanup
    - packet__cleanup_all
    - COMPAT_pthread_mutex_unlock
    - get_address
    - mosquitto__set_state
    - send__connect
    - http_c__context_init
    - COMPAT_pthread_mutex_lock
    - message__reconnect_reset
    - memcpy
    - socks5__send
    - callback__on_pre_connect
    linkageType: ''
    returnType: int
    signature: int mosquitto__reconnect(struct mosquitto *mosq, bool blocking)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect_v5
      Src: /src/mosquitto/lib/connect.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: mosquitto_disconnect
    functionSourceFile: /src/mosquitto/lib/connect.c
    functionUses: 57
    functionsReached:
    - mosquitto_disconnect_v5
    linkageType: ''
    returnType: int
    signature: int mosquitto_disconnect(struct mosquitto *mosq)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mosquitto/lib/connect.c:334,1
    - Dst: mosquitto_property_check_all
      Src: /src/mosquitto/lib/connect.c:339,1
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/lib/connect.c:345,1
    - Dst: mosquitto__set_request_disconnect
      Src: /src/mosquitto/lib/connect.c:346,1
    - Dst: net__is_connected
      Src: /src/mosquitto/lib/connect.c:347,1
    - Dst: send__disconnect
      Src: /src/mosquitto/lib/connect.c:350,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - mosq
    - reason_code
    - properties
    argTypes:
    - struct mosquitto*
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 352
    functionName: mosquitto_disconnect_v5
    functionSourceFile: /src/mosquitto/lib/connect.c
    functionUses: 5
    functionsReached:
    - net__is_connected
    - mosquitto_property_check_all
    - mosquitto__set_request_disconnect
    - mosquitto__set_state
    - send__disconnect
    - memcpy
    linkageType: ''
    returnType: int
    signature: int mosquitto_disconnect_v5(struct mosquitto *mosq, int reason_code,
      const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto__set_state
      Src: /src/mosquitto/lib/connect.c:357,1
    - Dst: net__socket_close
      Src: /src/mosquitto/lib/connect.c:358,1
    - Dst: packet__cleanup_all
      Src: /src/mosquitto/lib/connect.c:361,1
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/connect.c:363,1
    - Dst: mosquitto_time
      Src: /src/mosquitto/lib/connect.c:364,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/connect.c:365,1
    - Dst: callback__on_disconnect
      Src: /src/mosquitto/lib/connect.c:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - mosq
    - reason_code
    - properties
    argTypes:
    - struct mosquitto*
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 355
    functionDepth: 4
    functionLinenumber: 355
    functionLinenumberEnd: 368
    functionName: do_client_disconnect
    functionSourceFile: /src/mosquitto/lib/connect.c
    functionUses: 1
    functionsReached:
    - net__socket_close
    - mosquitto_time
    - packet__cleanup_all
    - COMPAT_pthread_mutex_unlock
    - mosquitto__set_state
    - callback__on_disconnect
    - COMPAT_pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void do_client_disconnect(struct mosquitto *mosq, int reason_code,
      const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_unsubscribe_multiple
      Src: /src/mosquitto/lib/actions_unsubscribe.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mosq
    - mid
    - sub
    argTypes:
    - struct mosquitto*
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: mosquitto_unsubscribe
    functionSourceFile: /src/mosquitto/lib/actions_unsubscribe.c
    functionUses: 2
    functionsReached:
    - mosquitto_unsubscribe_multiple
    linkageType: ''
    returnType: int
    signature: int mosquitto_unsubscribe(struct mosquitto *mosq, int *mid, const char
      *sub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_unsubscribe_multiple
      Src: /src/mosquitto/lib/actions_unsubscribe.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mosq
    - mid
    - sub
    - properties
    argTypes:
    - struct mosquitto*
    - int*
    - char*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: mosquitto_unsubscribe_v5
    functionSourceFile: /src/mosquitto/lib/actions_unsubscribe.c
    functionUses: 3
    functionsReached:
    - mosquitto_unsubscribe_multiple
    linkageType: ''
    returnType: int
    signature: int mosquitto_unsubscribe_v5(struct mosquitto *mosq, int *mid, const
      char *sub, const mosquitto_property *properties)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: net__is_connected
      Src: /src/mosquitto/lib/actions_unsubscribe.c:59,1
    - Dst: memcpy
      Src: /src/mosquitto/lib/actions_unsubscribe.c:67,1
    - Dst: mosquitto_property_check_all
      Src: /src/mosquitto/lib/actions_unsubscribe.c:72,1
    - Dst: mosquitto_sub_topic_check
      Src: /src/mosquitto/lib/actions_unsubscribe.c:79,1
    - Dst: strlen
      Src: /src/mosquitto/lib/actions_unsubscribe.c:82,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/lib/actions_unsubscribe.c:86,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/lib/actions_unsubscribe.c:93,1
    - Dst: packet__check_oversize
      Src: /src/mosquitto/lib/actions_unsubscribe.c:94,1
    - Dst: send__unsubscribe
      Src: /src/mosquitto/lib/actions_unsubscribe.c:99,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 5
    argNames:
    - mosq
    - mid
    - sub_count
    - sub
    - properties
    argTypes:
    - struct mosquitto*
    - int*
    - int
    - char**
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 44
    functionDepth: 4
    functionLinenumber: 44
    functionLinenumberEnd: 100
    functionName: mosquitto_unsubscribe_multiple
    functionSourceFile: /src/mosquitto/lib/actions_unsubscribe.c
    functionUses: 4
    functionsReached:
    - net__is_connected
    - mosquitto_property_check_all
    - mosquitto_property_get_length_all
    - packet__check_oversize
    - strlen
    - send__unsubscribe
    - mosquitto_sub_topic_check
    - mosquitto_validate_utf8
    - memcpy
    linkageType: ''
    returnType: int
    signature: int mosquitto_unsubscribe_multiple(struct mosquitto *mosq, int *mid,
      int sub_count, char *const *const sub, const mosquitto_property *properties)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/handle_connack.c:43,1
    - Dst: mosquitto__get_state
      Src: /src/mosquitto/lib/handle_connack.c:44,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/handle_connack.c:46,1
    - Dst: packet__read_byte
      Src: /src/mosquitto/lib/handle_connack.c:56,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/handle_connack.c:61,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/handle_connack.c:65,1
    - Dst: packet__read_byte
      Src: /src/mosquitto/lib/handle_connack.c:69,1
    - Dst: property__read_all
      Src: /src/mosquitto/lib/handle_connack.c:75,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/handle_connack.c:82,1
    - Dst: callback__on_connect
      Src: /src/mosquitto/lib/handle_connack.c:83,1
    - Dst: mosquitto_property_read_string
      Src: /src/mosquitto/lib/handle_connack.c:90,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/handle_connack.c:95,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/handle_connack.c:96,1
    - Dst: mosquitto_property_read_byte
      Src: /src/mosquitto/lib/handle_connack.c:104,1
    - Dst: mosquitto_property_read_byte
      Src: /src/mosquitto/lib/handle_connack.c:105,1
    - Dst: mosquitto_property_read_int16
      Src: /src/mosquitto/lib/handle_connack.c:106,1
    - Dst: mosquitto_property_read_int16
      Src: /src/mosquitto/lib/handle_connack.c:107,1
    - Dst: mosquitto_property_read_int16
      Src: /src/mosquitto/lib/handle_connack.c:108,1
    - Dst: mosquitto_property_read_int32
      Src: /src/mosquitto/lib/handle_connack.c:109,1
    - Dst: message__reconnect_reset
      Src: /src/mosquitto/lib/handle_connack.c:112,1
    - Dst: log__printf
      Src: /src/mosquitto/lib/handle_connack.c:114,1
    - Dst: callback__on_connect
      Src: /src/mosquitto/lib/handle_connack.c:118,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/handle_connack.c:119,1
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/handle_connack.c:123,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/handle_connack.c:127,1
    - Dst: message__retry_check
      Src: /src/mosquitto/lib/handle_connack.c:128,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 80
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts:
    - condition: (mosq)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/mosquitto/lib/handle_connack.c
    constantsTouched: []
    func_position:
      end: 139
      start: 34
    functionDepth: 3
    functionLinenumber: 34
    functionLinenumberEnd: 139
    functionName: handle__connack
    functionSourceFile: /src/mosquitto/lib/handle_connack.c
    functionUses: 2
    functionsReached:
    - mosquitto_FREE
    - property__read_all
    - mosquitto_property_read_byte
    - message__retry_check
    - mosquitto__get_state
    - assert
    - callback__on_connect
    - COMPAT_pthread_mutex_unlock
    - mosquitto_property_read_int16
    - message__reconnect_reset
    - packet__read_byte
    - log__printf
    - COMPAT_pthread_mutex_lock
    - mosquitto_property_free_all
    - mosquitto_property_read_int32
    - mosquitto_property_read_string
    linkageType: ''
    returnType: int
    signature: int handle__connack(struct mosquitto *mosq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/packet_datatypes.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - packet
    - byte
    argTypes:
    - struct mosquitto__packet_in*
    - uint8_t*
    assertStmts:
    - condition: (packet)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/mosquitto/lib/packet_datatypes.c
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: packet__read_byte
    functionSourceFile: /src/mosquitto/lib/packet_datatypes.c
    functionUses: 16
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int packet__read_byte(struct mosquitto__packet_in *packet, uint8_t
      *byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/packet_datatypes.c:59,1
    - Dst: assert
      Src: /src/mosquitto/lib/packet_datatypes.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - packet
    - byte
    argTypes:
    - struct mosquitto__packet*
    - uint8_t
    assertStmts:
    - condition: (packet)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/mosquitto/lib/packet_datatypes.c
    - condition: (packet->pos+1 <= packet->packet_length)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/mosquitto/lib/packet_datatypes.c
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: packet__write_byte
    functionSourceFile: /src/mosquitto/lib/packet_datatypes.c
    functionUses: 8
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void packet__write_byte(struct mosquitto__packet *packet, uint8_t byte)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/packet_datatypes.c:69,1
    - Dst: memcpy
      Src: /src/mosquitto/lib/packet_datatypes.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - packet
    - bytes
    - count
    argTypes:
    - struct mosquitto__packet_in*
    - void*
    - uint32_t
    assertStmts:
    - condition: (packet)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/mosquitto/lib/packet_datatypes.c
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: packet__read_bytes
    functionSourceFile: /src/mosquitto/lib/packet_datatypes.c
    functionUses: 5
    functionsReached:
    - memcpy
    - assert
    linkageType: ''
    returnType: int
    signature: int packet__read_bytes(struct mosquitto__packet_in *packet, void *bytes,
      uint32_t count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/packet_datatypes.c:83,1
    - Dst: assert
      Src: /src/mosquitto/lib/packet_datatypes.c:84,1
    - Dst: memcpy
      Src: /src/mosquitto/lib/packet_datatypes.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - packet
    - bytes
    - count
    argTypes:
    - struct mosquitto__packet*
    - void*
    - uint32_t
    assertStmts:
    - condition: (packet)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/mosquitto/lib/packet_datatypes.c
    - condition: (packet->pos+count <= packet->packet_length)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/mosquitto/lib/packet_datatypes.c
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: packet__write_bytes
    functionSourceFile: /src/mosquitto/lib/packet_datatypes.c
    functionUses: 4
    functionsReached:
    - memcpy
    - assert
    linkageType: ''
    returnType: void
    signature: void packet__write_bytes(struct mosquitto__packet *packet, const void
      *bytes, uint32_t count)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/packet_datatypes.c:98,1
    - Dst: packet__read_uint16
      Src: /src/mosquitto/lib/packet_datatypes.c:99,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/lib/packet_datatypes.c:114,1
    - Dst: memcpy
      Src: /src/mosquitto/lib/packet_datatypes.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - packet
    - data
    - length
    argTypes:
    - struct mosquitto__packet_in*
    - uint8_t**
    - uint16_t*
    assertStmts:
    - condition: (packet)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/mosquitto/lib/packet_datatypes.c
    constantsTouched: []
    func_position:
      end: 125
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 125
    functionName: packet__read_binary
    functionSourceFile: /src/mosquitto/lib/packet_datatypes.c
    functionUses: 3
    functionsReached:
    - memcpy
    - packet__read_uint16
    - mosquitto_malloc
    - assert
    linkageType: ''
    returnType: int
    signature: int packet__read_binary(struct mosquitto__packet_in *packet, uint8_t
      **data, uint16_t *length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: packet__read_binary
      Src: /src/mosquitto/lib/packet_datatypes.c:132,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/lib/packet_datatypes.c:140,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/packet_datatypes.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - packet
    - str
    - length
    argTypes:
    - struct mosquitto__packet_in*
    - char**
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 147
    functionName: packet__read_string
    functionSourceFile: /src/mosquitto/lib/packet_datatypes.c
    functionUses: 9
    functionsReached:
    - mosquitto_FREE
    - packet__read_binary
    - mosquitto_validate_utf8
    linkageType: ''
    returnType: int
    signature: int packet__read_string(struct mosquitto__packet_in *packet, char **str,
      uint16_t *length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/packet_datatypes.c:152,1
    - Dst: packet__write_uint16
      Src: /src/mosquitto/lib/packet_datatypes.c:153,1
    - Dst: packet__write_bytes
      Src: /src/mosquitto/lib/packet_datatypes.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - packet
    - str
    - length
    argTypes:
    - struct mosquitto__packet*
    - char*
    - uint16_t
    assertStmts:
    - condition: (packet)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/mosquitto/lib/packet_datatypes.c
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: packet__write_string
    functionSourceFile: /src/mosquitto/lib/packet_datatypes.c
    functionUses: 5
    functionsReached:
    - packet__write_uint16
    - packet__write_bytes
    - assert
    linkageType: ''
    returnType: void
    signature: void packet__write_string(struct mosquitto__packet *packet, const char
      *str, uint16_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/packet_datatypes.c:162,1
    - Dst: memcpy
      Src: /src/mosquitto/lib/packet_datatypes.c:167,1
    - Dst: ntohs
      Src: /src/mosquitto/lib/packet_datatypes.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - packet
    - word
    argTypes:
    - struct mosquitto__packet_in*
    - uint16_t*
    assertStmts:
    - condition: (packet)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/mosquitto/lib/packet_datatypes.c
    constantsTouched: []
    func_position:
      end: 173
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 173
    functionName: packet__read_uint16
    functionSourceFile: /src/mosquitto/lib/packet_datatypes.c
    functionUses: 15
    functionsReached:
    - memcpy
    - ntohs
    - assert
    linkageType: ''
    returnType: int
    signature: int packet__read_uint16(struct mosquitto__packet_in *packet, uint16_t
      *word)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/mosquitto/lib/packet_datatypes.c:178,1
    - Dst: assert
      Src: /src/mosquitto/lib/packet_datatypes.c:180,1
    - Dst: assert
      Src: /src/mosquitto/lib/packet_datatypes.c:181,1
    - Dst: memcpy
      Src: /src/mosquitto/lib/packet_datatypes.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - packet
    - word
    argTypes:
    - struct mosquitto__packet*
    - uint16_t
    assertStmts:
    - condition: (packet->pos+2 <= packet->packet_length)
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/mosquitto/lib/packet_datatypes.c
    - condition: (packet)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/mosquitto/lib/packet_datatypes.c
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: packet__write_uint16
    functionSourceFile: /src/mosquitto/lib/packet_datatypes.c
    functionUses: 9
    functionsReached:
    - htons
    - memcpy
    - assert
    linkageType: ''
    returnType: void
    signature: void packet__write_uint16(struct mosquitto__packet *packet, uint16_t
      word)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/mosquitto/lib/packet_datatypes.c:192,1
    - Dst: memcpy
      Src: /src/mosquitto/lib/packet_datatypes.c:197,1
    - Dst: ntohl
      Src: /src/mosquitto/lib/packet_datatypes.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - packet
    - word
    argTypes:
    - struct mosquitto__packet_in*
    - uint32_t*
    assertStmts:
    - condition: (packet)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/mosquitto/lib/packet_datatypes.c
    constantsTouched: []
    func_position:
      end: 203
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 203
    functionName: packet__read_uint32
    functionSourceFile: /src/mosquitto/lib/packet_datatypes.c
    functionUses: 2
    functionsReached:
    - memcpy
    - ntohl
    - assert
    linkageType: ''
    returnType: int
    signature: int packet__read_uint32(struct mosquitto__packet_in *packet, uint32_t
      *word)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/mosquitto/lib/packet_datatypes.c:208,1
    - Dst: assert
      Src: /src/mosquitto/lib/packet_datatypes.c:210,1
    - Dst: assert
      Src: /src/mosquitto/lib/packet_datatypes.c:211,1
    - Dst: memcpy
      Src: /src/mosquitto/lib/packet_datatypes.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - packet
    - word
    argTypes:
    - struct mosquitto__packet*
    - uint32_t
    assertStmts:
    - condition: (packet->pos+4 <= packet->packet_length)
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/mosquitto/lib/packet_datatypes.c
    - condition: (packet)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/mosquitto/lib/packet_datatypes.c
    constantsTouched: []
    func_position:
      end: 215
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 215
    functionName: packet__write_uint32
    functionSourceFile: /src/mosquitto/lib/packet_datatypes.c
    functionUses: 2
    functionsReached:
    - memcpy
    - htonl
    - assert
    linkageType: ''
    returnType: void
    signature: void packet__write_uint32(struct mosquitto__packet *packet, uint32_t
      word)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - packet
    - word
    - bytes
    argTypes:
    - struct mosquitto__packet_in*
    - uint32_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 250
    functionName: packet__read_varint
    functionSourceFile: /src/mosquitto/lib/packet_datatypes.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int packet__read_varint(struct mosquitto__packet_in *packet, uint32_t
      *word, uint8_t *bytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: packet__write_byte
      Src: /src/mosquitto/lib/packet_datatypes.c:265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - packet
    - word
    argTypes:
    - struct mosquitto__packet*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 273
    functionName: packet__write_varint
    functionSourceFile: /src/mosquitto/lib/packet_datatypes.c
    functionUses: 3
    functionsReached:
    - packet__write_byte
    linkageType: ''
    returnType: int
    signature: int packet__write_varint(struct mosquitto__packet *packet, uint32_t
      word)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: ws__context_init
    functionSourceFile: /src/mosquitto/lib/net_ws.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ws__context_init(struct mosquitto *mosq)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MOSQ_LSB
      Src: /src/mosquitto/lib/net_ws.c:70,1
    - Dst: MOSQ_MSB
      Src: /src/mosquitto/lib/net_ws.c:71,1
    - Dst: mosquitto_getrandom
      Src: /src/mosquitto/lib/net_ws.c:101,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 56
    argCount: 2
    argNames:
    - mosq
    - packet
    argTypes:
    - struct mosquitto*
    - struct mosquitto__packet*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 106
    functionName: ws__prepare_packet
    functionSourceFile: /src/mosquitto/lib/net_ws.c
    functionUses: 1
    functionsReached:
    - MOSQ_MSB
    - mosquitto_getrandom
    - MOSQ_LSB
    linkageType: ''
    returnType: void
    signature: void ws__prepare_packet(struct mosquitto *mosq, struct mosquitto__packet
      *packet)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: net__read
      Src: /src/mosquitto/lib/net_ws.c:121,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 161
    functionName: read_ws_opcode
    functionSourceFile: /src/mosquitto/lib/net_ws.c
    functionUses: 0
    functionsReached:
    - net__read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t read_ws_opcode(struct mosquitto *mosq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: net__read
      Src: /src/mosquitto/lib/net_ws.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 190
    functionName: read_ws_payloadlen_short
    functionSourceFile: /src/mosquitto/lib/net_ws.c
    functionUses: 0
    functionsReached:
    - net__read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t read_ws_payloadlen_short(struct mosquitto *mosq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: net__read
      Src: /src/mosquitto/lib/net_ws.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: read_ws_payloadlen_extended
    functionSourceFile: /src/mosquitto/lib/net_ws.c
    functionUses: 0
    functionsReached:
    - net__read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t read_ws_payloadlen_extended(struct mosquitto *mosq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: net__read
      Src: /src/mosquitto/lib/net_ws.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: read_ws_mask
    functionSourceFile: /src/mosquitto/lib/net_ws.c
    functionUses: 0
    functionsReached:
    - net__read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t read_ws_mask(struct mosquitto *mosq)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: read_ws_opcode
      Src: /src/mosquitto/lib/net_ws.c:235,1
    - Dst: read_ws_payloadlen_short
      Src: /src/mosquitto/lib/net_ws.c:242,1
    - Dst: read_ws_payloadlen_extended
      Src: /src/mosquitto/lib/net_ws.c:249,1
    - Dst: read_ws_mask
      Src: /src/mosquitto/lib/net_ws.c:256,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/lib/net_ws.c:282,1
    - Dst: net__read
      Src: /src/mosquitto/lib/net_ws.c:305,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/net_ws.c:316,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/lib/net_ws.c:322,1
    - Dst: packet__queue
      Src: /src/mosquitto/lib/net_ws.c:327,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 92
    argCount: 3
    argNames:
    - mosq
    - buf
    - count
    argTypes:
    - struct mosquitto*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 346
    functionName: net__read_ws
    functionSourceFile: /src/mosquitto/lib/net_ws.c
    functionUses: 0
    functionsReached:
    - read_ws_mask
    - mosquitto_FREE
    - read_ws_payloadlen_extended
    - net__read
    - packet__queue
    - mosquitto_calloc
    - read_ws_opcode
    - read_ws_payloadlen_short
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t net__read_ws(struct mosquitto *mosq, void *buf, size_t count)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EVP_get_digestbyname
      Src: /src/mosquitto/lib/net_ws.c:356,1
    - Dst: EVP_MD_CTX_new
      Src: /src/mosquitto/lib/net_ws.c:361,1
    - Dst: EVP_DigestInit_ex
      Src: /src/mosquitto/lib/net_ws.c:362,1
    - Dst: EVP_DigestUpdate
      Src: /src/mosquitto/lib/net_ws.c:363,1
    - Dst: EVP_DigestUpdate
      Src: /src/mosquitto/lib/net_ws.c:364,1
    - Dst: strlen
      Src: /src/mosquitto/lib/net_ws.c:365,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/mosquitto/lib/net_ws.c:367,1
    - Dst: EVP_MD_CTX_free
      Src: /src/mosquitto/lib/net_ws.c:368,1
    - Dst: mosquitto_base64_encode
      Src: /src/mosquitto/lib/net_ws.c:369,1
    - Dst: EVP_MD_CTX_free
      Src: /src/mosquitto/lib/net_ws.c:374,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - client_key
    - client_key_len
    - encoded
    argTypes:
    - char*
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 376
    functionName: ws__create_accept_key
    functionSourceFile: /src/mosquitto/lib/net_ws.c
    functionUses: 2
    functionsReached:
    - EVP_MD_CTX_new
    - EVP_DigestUpdate
    - EVP_get_digestbyname
    - strlen
    - EVP_MD_CTX_free
    - mosquitto_base64_encode
    - EVP_DigestFinal_ex
    - EVP_DigestInit_ex
    linkageType: ''
    returnType: int
    signature: int ws__create_accept_key(const char *client_key, size_t client_key_len,
      char **encoded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_publish_v5
      Src: /src/mosquitto/lib/actions_publish.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - mosq
    - mid
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    argTypes:
    - struct mosquitto*
    - int*
    - char*
    - int
    - void*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: mosquitto_publish
    functionSourceFile: /src/mosquitto/lib/actions_publish.c
    functionUses: 48
    functionsReached:
    - mosquitto_publish_v5
    linkageType: ''
    returnType: int
    signature: int mosquitto_publish(struct mosquitto *mosq, int *mid, const char
      *topic, int payloadlen, const void *payload, int qos, bool retain)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mosquitto/lib/actions_publish.c:71,1
    - Dst: mosquitto_property_check_all
      Src: /src/mosquitto/lib/actions_publish.c:76,1
    - Dst: STREMPTY
      Src: /src/mosquitto/lib/actions_publish.c:82,1
    - Dst: mosquitto_property_identifier
      Src: /src/mosquitto/lib/actions_publish.c:91,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/lib/actions_publish.c:95,1
    - Dst: strlen
      Src: /src/mosquitto/lib/actions_publish.c:104,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/lib/actions_publish.c:105,1
    - Dst: mosquitto_pub_topic_check
      Src: /src/mosquitto/lib/actions_publish.c:111,1
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/lib/actions_publish.c:117,1
    - Dst: packet__check_oversize
      Src: /src/mosquitto/lib/actions_publish.c:121,1
    - Dst: mosquitto__mid_generate
      Src: /src/mosquitto/lib/actions_publish.c:126,1
    - Dst: send__publish
      Src: /src/mosquitto/lib/actions_publish.c:132,1
    - Dst: mosquitto_property_copy_all
      Src: /src/mosquitto/lib/actions_publish.c:135,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/lib/actions_publish.c:140,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/actions_publish.c:142,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/lib/actions_publish.c:149,1
    - Dst: message__cleanup
      Src: /src/mosquitto/lib/actions_publish.c:151,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/actions_publish.c:152,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/lib/actions_publish.c:158,1
    - Dst: message__cleanup
      Src: /src/mosquitto/lib/actions_publish.c:160,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/lib/actions_publish.c:161,1
    - Dst: memcpy
      Src: /src/mosquitto/lib/actions_publish.c:164,1
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/actions_publish.c:174,1
    - Dst: message__queue
      Src: /src/mosquitto/lib/actions_publish.c:176,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/actions_publish.c:177,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 119
    argCount: 8
    argNames:
    - mosq
    - mid
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    - properties
    argTypes:
    - struct mosquitto*
    - int*
    - char*
    - int
    - void*
    - int
    - bool
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 180
    functionName: mosquitto_publish_v5
    functionSourceFile: /src/mosquitto/lib/actions_publish.c
    functionUses: 14
    functionsReached:
    - mosquitto_property_check_all
    - message__queue
    - mosquitto_validate_utf8
    - COMPAT_pthread_mutex_lock
    - mosquitto_property_next
    - mosquitto_property_free_all
    - STREMPTY
    - mosquitto_property_identifier
    - send__publish
    - COMPAT_pthread_mutex_unlock
    - mosquitto__mid_generate
    - memcpy
    - mosquitto_property_copy_all
    - mosquitto_pub_topic_check
    - mosquitto_strdup
    - mosquitto_calloc
    - mosquitto_malloc
    - packet__check_oversize
    - strlen
    - mosquitto_property_get_length_all
    - message__cleanup
    linkageType: ''
    returnType: int
    signature: int mosquitto_publish_v5(struct mosquitto *mosq, int *mid, const char
      *topic, int payloadlen, const void *payload, int qos, bool retain, const mosquitto_property
      *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/callbacks.c:28,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/callbacks.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mosq
    - on_connect
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_connect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: mosquitto_connect_callback_set
    functionSourceFile: /src/mosquitto/lib/callbacks.c
    functionUses: 62
    functionsReached:
    - COMPAT_pthread_mutex_lock
    - COMPAT_pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void mosquitto_connect_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_connect
      on_connect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/callbacks.c:36,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/callbacks.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mosq
    - on_connect
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_connect_with_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: mosquitto_connect_with_flags_callback_set
    functionSourceFile: /src/mosquitto/lib/callbacks.c
    functionUses: 1
    functionsReached:
    - COMPAT_pthread_mutex_lock
    - COMPAT_pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void mosquitto_connect_with_flags_callback_set(struct mosquitto *mosq,
      LIBMOSQ_CB_connect_with_flags on_connect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/callbacks.c:44,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/callbacks.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mosq
    - on_connect
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_connect_v5
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: mosquitto_connect_v5_callback_set
    functionSourceFile: /src/mosquitto/lib/callbacks.c
    functionUses: 12
    functionsReached:
    - COMPAT_pthread_mutex_lock
    - COMPAT_pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void mosquitto_connect_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_connect_v5
      on_connect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/callbacks.c:52,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/callbacks.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mosq
    - on_pre_connect
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_pre_connect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: mosquitto_pre_connect_callback_set
    functionSourceFile: /src/mosquitto/lib/callbacks.c
    functionUses: 2
    functionsReached:
    - COMPAT_pthread_mutex_lock
    - COMPAT_pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void mosquitto_pre_connect_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_pre_connect
      on_pre_connect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/callbacks.c:60,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/callbacks.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mosq
    - on_disconnect
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_disconnect
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: mosquitto_disconnect_callback_set
    functionSourceFile: /src/mosquitto/lib/callbacks.c
    functionUses: 35
    functionsReached:
    - COMPAT_pthread_mutex_lock
    - COMPAT_pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void mosquitto_disconnect_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_disconnect
      on_disconnect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/callbacks.c:68,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/callbacks.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mosq
    - on_disconnect
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_disconnect_v5
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: mosquitto_disconnect_v5_callback_set
    functionSourceFile: /src/mosquitto/lib/callbacks.c
    functionUses: 8
    functionsReached:
    - COMPAT_pthread_mutex_lock
    - COMPAT_pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void mosquitto_disconnect_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_disconnect_v5
      on_disconnect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/callbacks.c:76,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/callbacks.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mosq
    - on_publish
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_publish
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: mosquitto_publish_callback_set
    functionSourceFile: /src/mosquitto/lib/callbacks.c
    functionUses: 17
    functionsReached:
    - COMPAT_pthread_mutex_lock
    - COMPAT_pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void mosquitto_publish_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_publish
      on_publish)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/callbacks.c:84,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/callbacks.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mosq
    - on_publish
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_publish_v5
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: mosquitto_publish_v5_callback_set
    functionSourceFile: /src/mosquitto/lib/callbacks.c
    functionUses: 13
    functionsReached:
    - COMPAT_pthread_mutex_lock
    - COMPAT_pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void mosquitto_publish_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_publish_v5
      on_publish)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/callbacks.c:92,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/callbacks.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mosq
    - on_message
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: mosquitto_message_callback_set
    functionSourceFile: /src/mosquitto/lib/callbacks.c
    functionUses: 16
    functionsReached:
    - COMPAT_pthread_mutex_lock
    - COMPAT_pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void mosquitto_message_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_message
      on_message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/callbacks.c:100,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/callbacks.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mosq
    - on_message
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_message_v5
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: mosquitto_message_v5_callback_set
    functionSourceFile: /src/mosquitto/lib/callbacks.c
    functionUses: 8
    functionsReached:
    - COMPAT_pthread_mutex_lock
    - COMPAT_pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void mosquitto_message_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_message_v5
      on_message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/callbacks.c:108,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/callbacks.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mosq
    - on_subscribe
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_subscribe
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: mosquitto_subscribe_callback_set
    functionSourceFile: /src/mosquitto/lib/callbacks.c
    functionUses: 16
    functionsReached:
    - COMPAT_pthread_mutex_lock
    - COMPAT_pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void mosquitto_subscribe_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_subscribe
      on_subscribe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/callbacks.c:116,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/callbacks.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mosq
    - on_subscribe
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_subscribe_v5
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: mosquitto_subscribe_v5_callback_set
    functionSourceFile: /src/mosquitto/lib/callbacks.c
    functionUses: 6
    functionsReached:
    - COMPAT_pthread_mutex_lock
    - COMPAT_pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void mosquitto_subscribe_v5_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_subscribe_v5
      on_subscribe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/callbacks.c:124,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/callbacks.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mosq
    - on_unsubscribe
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_unsubscribe
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: mosquitto_unsubscribe_callback_set
    functionSourceFile: /src/mosquitto/lib/callbacks.c
    functionUses: 3
    functionsReached:
    - COMPAT_pthread_mutex_lock
    - COMPAT_pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void mosquitto_unsubscribe_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_unsubscribe
      on_unsubscribe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/callbacks.c:132,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/callbacks.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mosq
    - on_unsubscribe
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_unsubscribe_v5
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: mosquitto_unsubscribe_v5_callback_set
    functionSourceFile: /src/mosquitto/lib/callbacks.c
    functionUses: 2
    functionsReached:
    - COMPAT_pthread_mutex_lock
    - COMPAT_pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void mosquitto_unsubscribe_v5_callback_set(struct mosquitto *mosq,
      LIBMOSQ_CB_unsubscribe_v5 on_unsubscribe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/callbacks.c:140,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/callbacks.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mosq
    - on_unsubscribe
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_unsubscribe2_v5
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: mosquitto_unsubscribe2_v5_callback_set
    functionSourceFile: /src/mosquitto/lib/callbacks.c
    functionUses: 2
    functionsReached:
    - COMPAT_pthread_mutex_lock
    - COMPAT_pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void mosquitto_unsubscribe2_v5_callback_set(struct mosquitto *mosq,
      LIBMOSQ_CB_unsubscribe2_v5 on_unsubscribe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/callbacks.c:148,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/callbacks.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mosq
    - on_log
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_log
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: mosquitto_log_callback_set
    functionSourceFile: /src/mosquitto/lib/callbacks.c
    functionUses: 3
    functionsReached:
    - COMPAT_pthread_mutex_lock
    - COMPAT_pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void mosquitto_log_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_log
      on_log)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/callbacks.c:156,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/callbacks.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mosq
    - on_ext_auth
    argTypes:
    - struct mosquitto*
    - LIBMOSQ_CB_ext_auth
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: mosquitto_ext_auth_callback_set
    functionSourceFile: /src/mosquitto/lib/callbacks.c
    functionUses: 2
    functionsReached:
    - COMPAT_pthread_mutex_lock
    - COMPAT_pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void mosquitto_ext_auth_callback_set(struct mosquitto *mosq, LIBMOSQ_CB_ext_auth
      on_ext_auth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/callbacks.c:166,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/callbacks.c:168,1
    - Dst: on_pre_connect
      Src: /src/mosquitto/lib/callbacks.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 175
    functionName: callback__on_pre_connect
    functionSourceFile: /src/mosquitto/lib/callbacks.c
    functionUses: 1
    functionsReached:
    - on_pre_connect
    - COMPAT_pthread_mutex_lock
    - COMPAT_pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void callback__on_pre_connect(struct mosquitto *mosq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/callbacks.c:184,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/callbacks.c:188,1
    - Dst: on_connect
      Src: /src/mosquitto/lib/callbacks.c:192,1
    - Dst: on_connect_with_flags
      Src: /src/mosquitto/lib/callbacks.c:195,1
    - Dst: on_connect_v5
      Src: /src/mosquitto/lib/callbacks.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - mosq
    - reason_code
    - connect_flags
    - properties
    argTypes:
    - struct mosquitto*
    - uint8_t
    - uint8_t
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 201
    functionName: callback__on_connect
    functionSourceFile: /src/mosquitto/lib/callbacks.c
    functionUses: 1
    functionsReached:
    - on_connect_with_flags
    - COMPAT_pthread_mutex_unlock
    - COMPAT_pthread_mutex_lock
    - on_connect
    - on_connect_v5
    linkageType: ''
    returnType: void
    signature: void callback__on_connect(struct mosquitto *mosq, uint8_t reason_code,
      uint8_t connect_flags, const mosquitto_property *properties)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/callbacks.c:209,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/callbacks.c:212,1
    - Dst: on_publish
      Src: /src/mosquitto/lib/callbacks.c:216,1
    - Dst: on_publish_v5
      Src: /src/mosquitto/lib/callbacks.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - mosq
    - mid
    - reason_code
    - properties
    argTypes:
    - struct mosquitto*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 222
    functionName: callback__on_publish
    functionSourceFile: /src/mosquitto/lib/callbacks.c
    functionUses: 3
    functionsReached:
    - on_publish
    - on_publish_v5
    - COMPAT_pthread_mutex_lock
    - COMPAT_pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void callback__on_publish(struct mosquitto *mosq, int mid, int reason_code,
      const mosquitto_property *properties)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/callbacks.c:230,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/callbacks.c:233,1
    - Dst: on_message
      Src: /src/mosquitto/lib/callbacks.c:237,1
    - Dst: on_message_v5
      Src: /src/mosquitto/lib/callbacks.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - mosq
    - message
    - properties
    argTypes:
    - struct mosquitto*
    - struct mosquitto_message*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 243
    functionName: callback__on_message
    functionSourceFile: /src/mosquitto/lib/callbacks.c
    functionUses: 2
    functionsReached:
    - on_message_v5
    - on_message
    - COMPAT_pthread_mutex_lock
    - COMPAT_pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void callback__on_message(struct mosquitto *mosq, const struct mosquitto_message
      *message, const mosquitto_property *properties)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/callbacks.c:251,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/callbacks.c:254,1
    - Dst: on_subscribe
      Src: /src/mosquitto/lib/callbacks.c:258,1
    - Dst: on_subscribe_v5
      Src: /src/mosquitto/lib/callbacks.c:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - mosq
    - mid
    - qos_count
    - granted_qos
    - properties
    argTypes:
    - struct mosquitto*
    - int
    - int
    - int*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 264
    functionName: callback__on_subscribe
    functionSourceFile: /src/mosquitto/lib/callbacks.c
    functionUses: 1
    functionsReached:
    - on_subscribe_v5
    - on_subscribe
    - COMPAT_pthread_mutex_lock
    - COMPAT_pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void callback__on_subscribe(struct mosquitto *mosq, int mid, int qos_count,
      const int *granted_qos, const mosquitto_property *properties)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/callbacks.c:273,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/callbacks.c:277,1
    - Dst: on_unsubscribe
      Src: /src/mosquitto/lib/callbacks.c:281,1
    - Dst: on_unsubscribe_v5
      Src: /src/mosquitto/lib/callbacks.c:284,1
    - Dst: on_unsubscribe2_v5
      Src: /src/mosquitto/lib/callbacks.c:287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - mosq
    - mid
    - reason_code_count
    - reason_codes
    - properties
    argTypes:
    - struct mosquitto*
    - int
    - int
    - int*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 290
    functionName: callback__on_unsubscribe
    functionSourceFile: /src/mosquitto/lib/callbacks.c
    functionUses: 1
    functionsReached:
    - on_unsubscribe
    - COMPAT_pthread_mutex_unlock
    - on_unsubscribe2_v5
    - on_unsubscribe_v5
    - COMPAT_pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void callback__on_unsubscribe(struct mosquitto *mosq, int mid, int
      reason_code_count, const int *reason_codes, const mosquitto_property *properties)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/callbacks.c:298,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/callbacks.c:301,1
    - Dst: on_disconnect
      Src: /src/mosquitto/lib/callbacks.c:305,1
    - Dst: on_disconnect_v5
      Src: /src/mosquitto/lib/callbacks.c:308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - mosq
    - rc
    - properties
    argTypes:
    - struct mosquitto*
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 311
    functionName: callback__on_disconnect
    functionSourceFile: /src/mosquitto/lib/callbacks.c
    functionUses: 4
    functionsReached:
    - on_disconnect_v5
    - on_disconnect
    - COMPAT_pthread_mutex_lock
    - COMPAT_pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void callback__on_disconnect(struct mosquitto *mosq, int rc, const
      mosquitto_property *properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COMPAT_pthread_mutex_lock
      Src: /src/mosquitto/lib/callbacks.c:319,1
    - Dst: COMPAT_pthread_mutex_unlock
      Src: /src/mosquitto/lib/callbacks.c:321,1
    - Dst: on_ext_auth
      Src: /src/mosquitto/lib/callbacks.c:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - mosq
    - auth_method
    - auth_data_len
    - auth_data
    - properties
    argTypes:
    - struct mosquitto*
    - char*
    - uint16_t
    - void*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 329
    functionName: callback__on_ext_auth
    functionSourceFile: /src/mosquitto/lib/callbacks.c
    functionUses: 1
    functionsReached:
    - on_ext_auth
    - COMPAT_pthread_mutex_lock
    - COMPAT_pthread_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int callback__on_ext_auth(struct mosquitto *mosq, const char *auth_method,
      uint16_t auth_data_len, const void *auth_data, const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 388
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:30,1
    - Dst: class mosquittopp*::on_pre_connect
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mosq
    - userdata
    argTypes:
    - struct mosquitto*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: mosqpp::on_pre_connect_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - UNUSED
    - class mosquittopp*::on_pre_connect
    linkageType: ''
    returnType: void
    signature: void on_pre_connect_wrapper(struct mosquitto *mosq, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:40,1
    - Dst: class mosquittopp*::on_connect
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mosq
    - userdata
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: mosqpp::on_connect_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - UNUSED
    - class mosquittopp*::on_connect
    linkageType: ''
    returnType: void
    signature: void on_connect_wrapper(struct mosquitto *mosq, void *userdata, int
      rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:49,1
    - Dst: class mosquittopp*::on_connect_with_flags
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - mosq
    - userdata
    - rc
    - flags
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: mosqpp::on_connect_with_flags_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - class mosquittopp*::on_connect_with_flags
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void on_connect_with_flags_wrapper(struct mosquitto *mosq, void *userdata,
      int rc, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:57,1
    - Dst: class mosquittopp*::on_connect_v5
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - mosq
    - userdata
    - rc
    - flags
    - props
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: mosqpp::on_connect_v5_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - UNUSED
    - class mosquittopp*::on_connect_v5
    linkageType: ''
    returnType: void
    signature: void on_connect_v5_wrapper(struct mosquitto *mosq, void *userdata,
      int rc, int flags, const mosquitto_property *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:65,1
    - Dst: class mosquittopp*::on_disconnect
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mosq
    - userdata
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: mosqpp::on_disconnect_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - UNUSED
    - class mosquittopp*::on_disconnect
    linkageType: ''
    returnType: void
    signature: void on_disconnect_wrapper(struct mosquitto *mosq, void *userdata,
      int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:73,1
    - Dst: class mosquittopp*::on_disconnect_v5
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - mosq
    - userdata
    - rc
    - props
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: mosqpp::on_disconnect_v5_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - UNUSED
    - class mosquittopp*::on_disconnect_v5
    linkageType: ''
    returnType: void
    signature: void on_disconnect_v5_wrapper(struct mosquitto *mosq, void *userdata,
      int rc, const mosquitto_property *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:81,1
    - Dst: class mosquittopp*::on_publish
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mosq
    - userdata
    - mid
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: mosqpp::on_publish_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - class mosquittopp*::on_publish
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void on_publish_wrapper(struct mosquitto *mosq, void *userdata, int
      mid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:89,1
    - Dst: class mosquittopp*::on_publish_v5
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - mosq
    - userdata
    - mid
    - reason_code
    - props
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: mosqpp::on_publish_v5_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - UNUSED
    - class mosquittopp*::on_publish_v5
    linkageType: ''
    returnType: void
    signature: void on_publish_v5_wrapper(struct mosquitto *mosq, void *userdata,
      int mid, int reason_code, const mosquitto_property *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:97,1
    - Dst: class mosquittopp*::on_message
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mosq
    - userdata
    - message
    argTypes:
    - struct mosquitto*
    - void*
    - struct mosquitto_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: mosqpp::on_message_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - class mosquittopp*::on_message
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void on_message_wrapper(struct mosquitto *mosq, void *userdata, const
      struct mosquitto_message *message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:105,1
    - Dst: class mosquittopp*::on_message_v5
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - mosq
    - userdata
    - message
    - props
    argTypes:
    - struct mosquitto*
    - void*
    - struct mosquitto_message*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: mosqpp::on_message_v5_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - UNUSED
    - class mosquittopp*::on_message_v5
    linkageType: ''
    returnType: void
    signature: void on_message_v5_wrapper(struct mosquitto *mosq, void *userdata,
      const struct mosquitto_message *message, const mosquitto_property *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:113,1
    - Dst: class mosquittopp*::on_subscribe
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - mosq
    - userdata
    - mid
    - qos_count
    - granted_qos
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: mosqpp::on_subscribe_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - class mosquittopp*::on_subscribe
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void on_subscribe_wrapper(struct mosquitto *mosq, void *userdata, int
      mid, int qos_count, const int *granted_qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:121,1
    - Dst: class mosquittopp*::on_subscribe_v5
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - mosq
    - userdata
    - mid
    - qos_count
    - granted_qos
    - props
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - int*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: mosqpp::on_subscribe_v5_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - UNUSED
    - class mosquittopp*::on_subscribe_v5
    linkageType: ''
    returnType: void
    signature: void on_subscribe_v5_wrapper(struct mosquitto *mosq, void *userdata,
      int mid, int qos_count, const int *granted_qos, const mosquitto_property *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:129,1
    - Dst: class mosquittopp*::on_unsubscribe
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mosq
    - userdata
    - mid
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: mosqpp::on_unsubscribe_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - class mosquittopp*::on_unsubscribe
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void on_unsubscribe_wrapper(struct mosquitto *mosq, void *userdata,
      int mid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:137,1
    - Dst: class mosquittopp*::on_unsubscribe_v5
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - mosq
    - userdata
    - mid
    - props
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: mosqpp::on_unsubscribe_v5_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - UNUSED
    - class mosquittopp*::on_unsubscribe_v5
    linkageType: ''
    returnType: void
    signature: void on_unsubscribe_v5_wrapper(struct mosquitto *mosq, void *userdata,
      int mid, const mosquitto_property *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:145,1
    - Dst: class mosquittopp*::on_ext_auth
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - mosq
    - userdata
    - auth_method
    - auth_data_len
    - auth_data
    - props
    argTypes:
    - struct mosquitto*
    - void*
    - char*
    - uint16_t
    - void*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: mosqpp::on_ext_auth_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - UNUSED
    - class mosquittopp*::on_ext_auth
    linkageType: ''
    returnType: int
    signature: int on_ext_auth_wrapper(struct mosquitto *mosq, void *userdata, const
      char *auth_method, uint16_t auth_data_len, const void *auth_data, const mosquitto_property
      *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:153,1
    - Dst: class mosquittopp*::on_log
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - mosq
    - userdata
    - level
    - str
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: mosqpp::on_log_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - UNUSED
    - class mosquittopp*::on_log
    linkageType: ''
    returnType: void
    signature: void on_log_wrapper(struct mosquitto *mosq, void *userdata, int level,
      const char *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - major
    - minor
    - revision
    argTypes:
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 170
    functionName: mosqpp::lib_version
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lib_version(int *major, int *minor, int *revision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: mosqpp::lib_init
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 61
    functionsReached:
    - mosquitto_lib_init
    linkageType: ''
    returnType: int
    signature: int lib_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: mosqpp::lib_cleanup
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 61
    functionsReached:
    - mosquitto_lib_cleanup
    linkageType: ''
    returnType: int
    signature: int lib_cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mosq_errno
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: mosqpp::strerror
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_strerror
    linkageType: ''
    returnType: char
    signature: char *strerror(int mosq_errno)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_connack_string
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - connack_code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: mosqpp::connack_string
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_connack_string
    linkageType: ''
    returnType: char
    signature: char *connack_string(int connack_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_check_command
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - command
    - identifier
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: mosqpp::property_check_command
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_property_check_command
    linkageType: ''
    returnType: int
    signature: int property_check_command(int command, int identifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_check_all
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - command
    - properties
    argTypes:
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: mosqpp::property_check_all
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 3
    functionsReached:
    - mosquitto_property_check_all
    linkageType: ''
    returnType: int
    signature: int property_check_all(int command, const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_reason_string
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - reason_code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: mosqpp::reason_string
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_reason_string
    linkageType: ''
    returnType: char
    signature: char *reason_string(int reason_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_sub_topic_tokenise
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - subtopic
    - topics
    - count
    argTypes:
    - char*
    - char***
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: mosqpp::sub_topic_tokenise
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 1
    functionsReached:
    - mosquitto_sub_topic_tokenise
    linkageType: ''
    returnType: int
    signature: int sub_topic_tokenise(const char *subtopic, char ***topics, int *count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_sub_topic_tokens_free
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - topics
    - count
    argTypes:
    - char***
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: mosqpp::sub_topic_tokens_free
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 1
    functionsReached:
    - mosquitto_sub_topic_tokens_free
    linkageType: ''
    returnType: int
    signature: int sub_topic_tokens_free(char ***topics, int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_topic_matches_sub
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sub
    - topic
    - result
    argTypes:
    - char*
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: mosqpp::topic_matches_sub
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_topic_matches_sub
    linkageType: ''
    returnType: int
    signature: int topic_matches_sub(const char *sub, const char *topic, bool *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sub
    - topic
    - clientid
    - username
    - result
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: mosqpp::topic_matches_sub_with_pattern
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_topic_matches_sub_with_pattern
    linkageType: ''
    returnType: int
    signature: int topic_matches_sub_with_pattern(const char *sub, const char *topic,
      const char *clientid, const char *username, bool *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_sub_matches_acl
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - acl
    - sub
    - result
    argTypes:
    - char*
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: mosqpp::sub_matches_acl
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_sub_matches_acl
    linkageType: ''
    returnType: int
    signature: int sub_matches_acl(const char *acl, const char *sub, bool *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - acl
    - sub
    - clientid
    - username
    - result
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: mosqpp::sub_matches_acl_with_pattern
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_sub_matches_acl_with_pattern
    linkageType: ''
    returnType: int
    signature: int sub_matches_acl_with_pattern(const char *acl, const char *sub,
      const char *clientid, const char *username, bool *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: mosqpp::validate_utf8
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 1
    functionsReached:
    - mosquitto_validate_utf8
    linkageType: ''
    returnType: int
    signature: int validate_utf8(const char *str, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_subscribe_simple
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 14
    argNames:
    - messages
    - msg_count
    - retained
    - topic
    - qos
    - host
    - port
    - clientid
    - keepalive
    - clean_session
    - username
    - password
    - will
    - tls
    argTypes:
    - struct mosquitto_message**
    - int
    - bool
    - char*
    - int
    - char*
    - int
    - char*
    - int
    - bool
    - char*
    - char*
    - struct libmosquitto_will*
    - struct libmosquitto_tls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 279
    functionName: mosqpp::subscribe_simple
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 1
    functionsReached:
    - mosquitto_subscribe_simple
    linkageType: ''
    returnType: int
    signature: "int subscribe_simple(\n\t\tstruct mosquitto_message **messages,\n\t\tint
      msg_count,\n\t\tbool retained,\n\t\tconst char *topic,\n\t\tint qos,\n\t\tconst
      char *host,\n\t\tint port,\n\t\tconst char *clientid,\n\t\tint keepalive,\n\t\tbool
      clean_session,\n\t\tconst char *username,\n\t\tconst char *password,\n\t\tconst
      struct libmosquitto_will *will,\n\t\tconst struct libmosquitto_tls *tls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_subscribe_callback
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 12
    argNames:
    - userdata
    - topic
    - qos
    - host
    - port
    - clientid
    - keepalive
    - clean_session
    - username
    - password
    - will
    - tls
    argTypes:
    - void*
    - char*
    - int
    - char*
    - int
    - char*
    - int
    - bool
    - char*
    - char*
    - struct libmosquitto_will*
    - struct libmosquitto_tls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 303
    functionName: mosqpp::subscribe_callback
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 1
    functionsReached:
    - mosquitto_subscribe_callback
    linkageType: ''
    returnType: mosqpp_EXPORT
    signature: "mosqpp_EXPORT subscribe_callback(\n\t\tint (*callback)(struct mosquitto
      *, void *, const struct mosquitto_message *),\n\t\tvoid *userdata,\n\t\tconst
      char *topic,\n\t\tint qos,\n\t\tconst char *host,\n\t\tint port,\n\t\tconst
      char *clientid,\n\t\tint keepalive,\n\t\tbool clean_session,\n\t\tconst char
      *username,\n\t\tconst char *password,\n\t\tconst struct libmosquitto_will *will,\n\t\tconst
      struct libmosquitto_tls *tls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_pre_connect_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:310,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:311,1
    - Dst: mosquitto_connect_with_flags_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:312,1
    - Dst: mosquitto_connect_v5_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:313,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:314,1
    - Dst: mosquitto_disconnect_v5_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:315,1
    - Dst: mosquitto_publish_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:316,1
    - Dst: mosquitto_publish_v5_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:317,1
    - Dst: mosquitto_message_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:318,1
    - Dst: mosquitto_message_v5_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:319,1
    - Dst: mosquitto_subscribe_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:320,1
    - Dst: mosquitto_subscribe_v5_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:321,1
    - Dst: mosquitto_unsubscribe_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:322,1
    - Dst: mosquitto_unsubscribe_v5_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:323,1
    - Dst: mosquitto_ext_auth_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:324,1
    - Dst: mosquitto_log_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 326
    functionName: mosqpp::mosquitto_callbacks_set
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_publish_callback_set
    - mosquitto_connect_v5_callback_set
    - mosquitto_connect_with_flags_callback_set
    - mosquitto_message_callback_set
    - mosquitto_ext_auth_callback_set
    - mosquitto_subscribe_callback_set
    - mosquitto_log_callback_set
    - mosquitto_unsubscribe_callback_set
    - mosquitto_message_v5_callback_set
    - mosquitto_subscribe_v5_callback_set
    - mosquitto_pre_connect_callback_set
    - mosquitto_unsubscribe_v5_callback_set
    - mosquitto_publish_v5_callback_set
    - mosquitto_disconnect_v5_callback_set
    - mosquitto_connect_callback_set
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: void
    signature: void mosquitto_callbacks_set(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_pre_connect_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:310,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:311,1
    - Dst: mosquitto_connect_with_flags_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:312,1
    - Dst: mosquitto_connect_v5_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:313,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:314,1
    - Dst: mosquitto_disconnect_v5_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:315,1
    - Dst: mosquitto_publish_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:316,1
    - Dst: mosquitto_publish_v5_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:317,1
    - Dst: mosquitto_message_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:318,1
    - Dst: mosquitto_message_v5_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:319,1
    - Dst: mosquitto_subscribe_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:320,1
    - Dst: mosquitto_subscribe_v5_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:321,1
    - Dst: mosquitto_unsubscribe_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:322,1
    - Dst: mosquitto_unsubscribe_v5_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:323,1
    - Dst: mosquitto_ext_auth_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:324,1
    - Dst: mosquitto_log_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 326
    functionName: mosqpp::mosquitto_callbacks_set
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_publish_callback_set
    - mosquitto_connect_v5_callback_set
    - mosquitto_connect_with_flags_callback_set
    - mosquitto_message_callback_set
    - mosquitto_ext_auth_callback_set
    - mosquitto_subscribe_callback_set
    - mosquitto_log_callback_set
    - mosquitto_unsubscribe_callback_set
    - mosquitto_message_v5_callback_set
    - mosquitto_subscribe_v5_callback_set
    - mosquitto_pre_connect_callback_set
    - mosquitto_unsubscribe_v5_callback_set
    - mosquitto_publish_v5_callback_set
    - mosquitto_disconnect_v5_callback_set
    - mosquitto_connect_callback_set
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: void
    signature: void mosquitto_callbacks_set(struct mosquitto *mosq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_new
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:331,1
    - Dst: mosquitto_callbacks_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - id
    - clean_session
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: mosqpp::mosquittopp::mosquittopp
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_new
    - mosquitto_callbacks_set
    linkageType: ''
    returnType: void
    signature: void mosquittopp::mosquittopp(const char *id, bool clean_session)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: mosquittopp::~mosquittopp()
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_destroy
    linkageType: ''
    returnType: void
    signature: void mosquittopp::~mosquittopp()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_reinitialise
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:346,1
    - Dst: mosquitto_callbacks_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - clean_session
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 351
    functionName: mosqpp::mosquittopp::reinitialise
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_reinitialise
    - mosquitto_callbacks_set
    linkageType: ''
    returnType: int
    signature: int mosquittopp::reinitialise(const char *id, bool clean_session)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_connect
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - host
    - port
    - keepalive
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: mosqpp::mosquittopp::connect
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_connect
    linkageType: ''
    returnType: int
    signature: int mosquittopp::connect(const char *host, int port, int keepalive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_connect_bind
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - host
    - port
    - keepalive
    - bind_address
    argTypes:
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 363
    functionName: mosqpp::mosquittopp::connect
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_connect_bind
    linkageType: ''
    returnType: int
    signature: int mosquittopp::connect(const char *host, int port, int keepalive,
      const char *bind_address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_connect_bind_v5
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - host
    - port
    - keepalive
    - bind_address
    - properties
    argTypes:
    - char*
    - int
    - int
    - char*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: mosqpp::mosquittopp::connect_v5
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_connect_bind_v5
    linkageType: ''
    returnType: int
    signature: int mosquittopp::connect_v5(const char *host, int port, int keepalive,
      const char *bind_address, const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_connect_async
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - host
    - port
    - keepalive
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: mosqpp::mosquittopp::connect_async
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_connect_async
    linkageType: ''
    returnType: int
    signature: int mosquittopp::connect_async(const char *host, int port, int keepalive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_connect_bind_async
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - host
    - port
    - keepalive
    - bind_address
    argTypes:
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: mosqpp::mosquittopp::connect_async
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_connect_bind_async
    linkageType: ''
    returnType: int
    signature: int mosquittopp::connect_async(const char *host, int port, int keepalive,
      const char *bind_address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_reconnect
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: mosqpp::mosquittopp::reconnect
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_reconnect
    linkageType: ''
    returnType: int
    signature: int mosquittopp::reconnect()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_reconnect_async
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: mosqpp::mosquittopp::reconnect_async
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_reconnect_async
    linkageType: ''
    returnType: int
    signature: int mosquittopp::reconnect_async()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 399
    functionName: mosqpp::mosquittopp::disconnect
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_disconnect
    linkageType: ''
    returnType: int
    signature: int mosquittopp::disconnect()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect_v5
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - reason_code
    - properties
    argTypes:
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: mosqpp::mosquittopp::disconnect_v5
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_disconnect_v5
    linkageType: ''
    returnType: int
    signature: int mosquittopp::disconnect_v5(int reason_code, const mosquitto_property
      *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_ext_auth_continue
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - auth_method
    - auth_data_len
    - auth_data
    - properties
    argTypes:
    - char*
    - uint16_t
    - void*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: mosqpp::mosquittopp::ext_auth_continue
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_ext_auth_continue
    linkageType: ''
    returnType: int
    signature: int mosquittopp::ext_auth_continue(const char *auth_method, uint16_t
      auth_data_len, const void *auth_data, const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_socket
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: mosqpp::mosquittopp::socket
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_socket
    linkageType: ''
    returnType: int
    signature: int mosquittopp::socket()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_will_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    argTypes:
    - char*
    - int
    - void*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: mosqpp::mosquittopp::will_set
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_will_set
    linkageType: ''
    returnType: int
    signature: int mosquittopp::will_set(const char *topic, int payloadlen, const
      void *payload, int qos, bool retain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_will_set_v5
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    - properties
    argTypes:
    - char*
    - int
    - void*
    - int
    - bool
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 429
    functionName: mosqpp::mosquittopp::will_set_v5
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_will_set_v5
    linkageType: ''
    returnType: int
    signature: int mosquittopp::will_set_v5(const char *topic, int payloadlen, const
      void *payload, int qos, bool retain, mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_will_clear
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 435
    functionName: mosqpp::mosquittopp::will_clear
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_will_clear
    linkageType: ''
    returnType: int
    signature: int mosquittopp::will_clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_username_pw_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - username
    - password
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 441
    functionName: mosqpp::mosquittopp::username_pw_set
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_username_pw_set
    linkageType: ''
    returnType: int
    signature: int mosquittopp::username_pw_set(const char *username, const char *password)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_publish
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - mid
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    argTypes:
    - int*
    - char*
    - int
    - void*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 447
    functionName: mosqpp::mosquittopp::publish
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_publish
    linkageType: ''
    returnType: int
    signature: int mosquittopp::publish(int *mid, const char *topic, int payloadlen,
      const void *payload, int qos, bool retain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_publish_v5
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - mid
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    - properties
    argTypes:
    - int*
    - char*
    - int
    - void*
    - int
    - bool
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 453
    functionName: mosqpp::mosquittopp::publish_v5
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_publish_v5
    linkageType: ''
    returnType: int
    signature: int mosquittopp::publish_v5(int *mid, const char *topic, int payloadlen,
      const void *payload, int qos, bool retain, const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_reconnect_delay_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reconnect_delay
    - reconnect_delay_max
    - reconnect_exponential_backoff
    argTypes:
    - unsigned int
    - unsigned int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 459
    functionName: mosqpp::mosquittopp::reconnect_delay_set
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_reconnect_delay_set
    linkageType: ''
    returnType: void
    signature: void mosquittopp::reconnect_delay_set(unsigned int reconnect_delay,
      unsigned int reconnect_delay_max, bool reconnect_exponential_backoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_max_inflight_messages_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max_inflight_messages
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: mosqpp::mosquittopp::max_inflight_messages_set
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_max_inflight_messages_set
    linkageType: ''
    returnType: int
    signature: int mosquittopp::max_inflight_messages_set(unsigned int max_inflight_messages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_message_retry_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message_retry
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 471
    functionName: mosqpp::mosquittopp::message_retry_set
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_message_retry_set
    linkageType: ''
    returnType: void
    signature: void mosquittopp::message_retry_set(unsigned int message_retry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_subscribe
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mid
    - sub
    - qos
    argTypes:
    - int*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: mosqpp::mosquittopp::subscribe
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_subscribe
    linkageType: ''
    returnType: int
    signature: int mosquittopp::subscribe(int *mid, const char *sub, int qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_subscribe_v5
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - mid
    - sub
    - qos
    - options
    - properties
    argTypes:
    - int*
    - char*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 483
    functionName: mosqpp::mosquittopp::subscribe_v5
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_subscribe_v5
    linkageType: ''
    returnType: int
    signature: int mosquittopp::subscribe_v5(int *mid, const char *sub, int qos, int
      options, const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_unsubscribe
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mid
    - sub
    argTypes:
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 489
    functionName: mosqpp::mosquittopp::unsubscribe
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_unsubscribe
    linkageType: ''
    returnType: int
    signature: int mosquittopp::unsubscribe(int *mid, const char *sub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_unsubscribe_v5
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mid
    - sub
    - properties
    argTypes:
    - int*
    - char*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: mosqpp::mosquittopp::unsubscribe_v5
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_unsubscribe_v5
    linkageType: ''
    returnType: int
    signature: int mosquittopp::unsubscribe_v5(int *mid, const char *sub, const mosquitto_property
      *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_loop
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - timeout
    - max_packets
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 501
    functionName: mosqpp::mosquittopp::loop
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_loop
    linkageType: ''
    returnType: int
    signature: int mosquittopp::loop(int timeout, int max_packets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_loop_misc
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 507
    functionName: mosqpp::mosquittopp::loop_misc
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_loop_misc
    linkageType: ''
    returnType: int
    signature: int mosquittopp::loop_misc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_loop_read
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max_packets
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 513
    functionName: mosqpp::mosquittopp::loop_read
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_loop_read
    linkageType: ''
    returnType: int
    signature: int mosquittopp::loop_read(int max_packets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_loop_write
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max_packets
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 519
    functionName: mosqpp::mosquittopp::loop_write
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_loop_write
    linkageType: ''
    returnType: int
    signature: int mosquittopp::loop_write(int max_packets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_loop_forever
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - timeout
    - max_packets
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: mosqpp::mosquittopp::loop_forever
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_loop_forever
    linkageType: ''
    returnType: int
    signature: int mosquittopp::loop_forever(int timeout, int max_packets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_loop_start
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 531
    functionName: mosqpp::mosquittopp::loop_start
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_loop_start
    linkageType: ''
    returnType: int
    signature: int mosquittopp::loop_start()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_loop_stop
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - force
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 537
    functionName: mosqpp::mosquittopp::loop_stop
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_loop_stop
    linkageType: ''
    returnType: int
    signature: int mosquittopp::loop_stop(bool force)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_want_write
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 543
    functionName: mosqpp::mosquittopp::want_write
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_want_write
    linkageType: ''
    returnType: bool
    signature: bool mosquittopp::want_write()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_opts_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - enum mosq_opt_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 549
    functionName: mosqpp::mosquittopp::opts_set
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_opts_set
    linkageType: ''
    returnType: int
    signature: int mosquittopp::opts_set(enum mosq_opt_t option, void *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - enum mosq_opt_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: mosqpp::mosquittopp::int_option
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_int_option
    linkageType: ''
    returnType: int
    signature: int mosquittopp::int_option(enum mosq_opt_t option, int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_string_option
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - enum mosq_opt_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 561
    functionName: mosqpp::mosquittopp::string_option
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_string_option
    linkageType: ''
    returnType: int
    signature: int mosquittopp::string_option(enum mosq_opt_t option, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_void_option
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - enum mosq_opt_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 567
    functionName: mosqpp::mosquittopp::void_option
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_void_option
    linkageType: ''
    returnType: int
    signature: int mosquittopp::void_option(enum mosq_opt_t option, void *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_threaded_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - threaded
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 573
    functionName: mosqpp::mosquittopp::threaded_set
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_threaded_set
    linkageType: ''
    returnType: int
    signature: int mosquittopp::threaded_set(bool threaded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_user_data_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - userdata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 579
    functionName: mosqpp::mosquittopp::user_data_set
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_user_data_set
    linkageType: ''
    returnType: void
    signature: void mosquittopp::user_data_set(void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_socks5_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - host
    - port
    - username
    - password
    argTypes:
    - char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 585
    functionName: mosqpp::mosquittopp::socks5_set
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_socks5_set
    linkageType: ''
    returnType: int
    signature: int mosquittopp::socks5_set(const char *host, int port, const char
      *username, const char *password)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_tls_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cafile
    - capath
    - certfile
    - keyfile
    argTypes:
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 591
    functionName: mosqpp::mosquittopp::tls_set
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_tls_set
    linkageType: ''
    returnType: int
    signature: int mosquittopp::tls_set(const char *cafile, const char *capath, const
      char *certfile, const char *keyfile, int (*pw_callback)(char *buf, int size,
      int rwflag, void *userdata))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_tls_opts_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cert_reqs
    - tls_version
    - ciphers
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 597
    functionName: mosqpp::mosquittopp::tls_opts_set
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_tls_opts_set
    linkageType: ''
    returnType: int
    signature: int mosquittopp::tls_opts_set(int cert_reqs, const char *tls_version,
      const char *ciphers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_tls_insecure_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 603
    functionName: mosqpp::mosquittopp::tls_insecure_set
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_tls_insecure_set
    linkageType: ''
    returnType: int
    signature: int mosquittopp::tls_insecure_set(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_tls_psk_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - psk
    - identity
    - ciphers
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 609
    functionName: mosqpp::mosquittopp::tls_psk_set
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_tls_psk_set
    linkageType: ''
    returnType: int
    signature: int mosquittopp::tls_psk_set(const char *psk, const char *identity,
      const char *ciphers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:30,1
    - Dst: class mosquittopp*::on_pre_connect
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mosq
    - userdata
    argTypes:
    - struct mosquitto*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: mosqpp::on_pre_connect_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - UNUSED
    - class mosquittopp*::on_pre_connect
    linkageType: ''
    returnType: void
    signature: void on_pre_connect_wrapper(struct mosquitto *mosq, void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:40,1
    - Dst: class mosquittopp*::on_connect
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mosq
    - userdata
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: mosqpp::on_connect_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - UNUSED
    - class mosquittopp*::on_connect
    linkageType: ''
    returnType: void
    signature: void on_connect_wrapper(struct mosquitto *mosq, void *userdata, int
      rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:49,1
    - Dst: class mosquittopp*::on_connect_with_flags
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - mosq
    - userdata
    - rc
    - flags
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: mosqpp::on_connect_with_flags_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - class mosquittopp*::on_connect_with_flags
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void on_connect_with_flags_wrapper(struct mosquitto *mosq, void *userdata,
      int rc, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:57,1
    - Dst: class mosquittopp*::on_connect_v5
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - mosq
    - userdata
    - rc
    - flags
    - props
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: mosqpp::on_connect_v5_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - UNUSED
    - class mosquittopp*::on_connect_v5
    linkageType: ''
    returnType: void
    signature: void on_connect_v5_wrapper(struct mosquitto *mosq, void *userdata,
      int rc, int flags, const mosquitto_property *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:65,1
    - Dst: class mosquittopp*::on_disconnect
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mosq
    - userdata
    - rc
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: mosqpp::on_disconnect_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - UNUSED
    - class mosquittopp*::on_disconnect
    linkageType: ''
    returnType: void
    signature: void on_disconnect_wrapper(struct mosquitto *mosq, void *userdata,
      int rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:73,1
    - Dst: class mosquittopp*::on_disconnect_v5
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - mosq
    - userdata
    - rc
    - props
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: mosqpp::on_disconnect_v5_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - UNUSED
    - class mosquittopp*::on_disconnect_v5
    linkageType: ''
    returnType: void
    signature: void on_disconnect_v5_wrapper(struct mosquitto *mosq, void *userdata,
      int rc, const mosquitto_property *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:81,1
    - Dst: class mosquittopp*::on_publish
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mosq
    - userdata
    - mid
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: mosqpp::on_publish_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - class mosquittopp*::on_publish
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void on_publish_wrapper(struct mosquitto *mosq, void *userdata, int
      mid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:89,1
    - Dst: class mosquittopp*::on_publish_v5
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - mosq
    - userdata
    - mid
    - reason_code
    - props
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: mosqpp::on_publish_v5_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - UNUSED
    - class mosquittopp*::on_publish_v5
    linkageType: ''
    returnType: void
    signature: void on_publish_v5_wrapper(struct mosquitto *mosq, void *userdata,
      int mid, int reason_code, const mosquitto_property *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:97,1
    - Dst: class mosquittopp*::on_message
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mosq
    - userdata
    - message
    argTypes:
    - struct mosquitto*
    - void*
    - struct mosquitto_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: mosqpp::on_message_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - class mosquittopp*::on_message
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void on_message_wrapper(struct mosquitto *mosq, void *userdata, const
      struct mosquitto_message *message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:105,1
    - Dst: class mosquittopp*::on_message_v5
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - mosq
    - userdata
    - message
    - props
    argTypes:
    - struct mosquitto*
    - void*
    - struct mosquitto_message*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: mosqpp::on_message_v5_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - UNUSED
    - class mosquittopp*::on_message_v5
    linkageType: ''
    returnType: void
    signature: void on_message_v5_wrapper(struct mosquitto *mosq, void *userdata,
      const struct mosquitto_message *message, const mosquitto_property *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:113,1
    - Dst: class mosquittopp*::on_subscribe
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - mosq
    - userdata
    - mid
    - qos_count
    - granted_qos
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: mosqpp::on_subscribe_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - class mosquittopp*::on_subscribe
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void on_subscribe_wrapper(struct mosquitto *mosq, void *userdata, int
      mid, int qos_count, const int *granted_qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:121,1
    - Dst: class mosquittopp*::on_subscribe_v5
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - mosq
    - userdata
    - mid
    - qos_count
    - granted_qos
    - props
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - int*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: mosqpp::on_subscribe_v5_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - UNUSED
    - class mosquittopp*::on_subscribe_v5
    linkageType: ''
    returnType: void
    signature: void on_subscribe_v5_wrapper(struct mosquitto *mosq, void *userdata,
      int mid, int qos_count, const int *granted_qos, const mosquitto_property *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:129,1
    - Dst: class mosquittopp*::on_unsubscribe
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mosq
    - userdata
    - mid
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: mosqpp::on_unsubscribe_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - class mosquittopp*::on_unsubscribe
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void on_unsubscribe_wrapper(struct mosquitto *mosq, void *userdata,
      int mid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:137,1
    - Dst: class mosquittopp*::on_unsubscribe_v5
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - mosq
    - userdata
    - mid
    - props
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: mosqpp::on_unsubscribe_v5_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - UNUSED
    - class mosquittopp*::on_unsubscribe_v5
    linkageType: ''
    returnType: void
    signature: void on_unsubscribe_v5_wrapper(struct mosquitto *mosq, void *userdata,
      int mid, const mosquitto_property *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:145,1
    - Dst: class mosquittopp*::on_ext_auth
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - mosq
    - userdata
    - auth_method
    - auth_data_len
    - auth_data
    - props
    argTypes:
    - struct mosquitto*
    - void*
    - char*
    - uint16_t
    - void*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: mosqpp::on_ext_auth_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - UNUSED
    - class mosquittopp*::on_ext_auth
    linkageType: ''
    returnType: int
    signature: int on_ext_auth_wrapper(struct mosquitto *mosq, void *userdata, const
      char *auth_method, uint16_t auth_data_len, const void *auth_data, const mosquitto_property
      *props)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:153,1
    - Dst: class mosquittopp*::on_log
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - mosq
    - userdata
    - level
    - str
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: mosqpp::on_log_wrapper
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - UNUSED
    - class mosquittopp*::on_log
    linkageType: ''
    returnType: void
    signature: void on_log_wrapper(struct mosquitto *mosq, void *userdata, int level,
      const char *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - major
    - minor
    - revision
    argTypes:
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 170
    functionName: mosqpp::lib_version
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lib_version(int *major, int *minor, int *revision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: mosqpp::lib_init
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 61
    functionsReached:
    - mosquitto_lib_init
    linkageType: ''
    returnType: int
    signature: int lib_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: mosqpp::lib_cleanup
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 61
    functionsReached:
    - mosquitto_lib_cleanup
    linkageType: ''
    returnType: int
    signature: int lib_cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mosq_errno
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: mosqpp::strerror
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_strerror
    linkageType: ''
    returnType: char
    signature: char *strerror(int mosq_errno)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_connack_string
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - connack_code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: mosqpp::connack_string
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_connack_string
    linkageType: ''
    returnType: char
    signature: char *connack_string(int connack_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_check_command
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - command
    - identifier
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: mosqpp::property_check_command
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_property_check_command
    linkageType: ''
    returnType: int
    signature: int property_check_command(int command, int identifier)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_check_all
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - command
    - properties
    argTypes:
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: mosqpp::property_check_all
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 3
    functionsReached:
    - mosquitto_property_check_all
    linkageType: ''
    returnType: int
    signature: int property_check_all(int command, const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_reason_string
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - reason_code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: mosqpp::reason_string
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_reason_string
    linkageType: ''
    returnType: char
    signature: char *reason_string(int reason_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_sub_topic_tokenise
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - subtopic
    - topics
    - count
    argTypes:
    - char*
    - char***
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: mosqpp::sub_topic_tokenise
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 1
    functionsReached:
    - mosquitto_sub_topic_tokenise
    linkageType: ''
    returnType: int
    signature: int sub_topic_tokenise(const char *subtopic, char ***topics, int *count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_sub_topic_tokens_free
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - topics
    - count
    argTypes:
    - char***
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: mosqpp::sub_topic_tokens_free
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 1
    functionsReached:
    - mosquitto_sub_topic_tokens_free
    linkageType: ''
    returnType: int
    signature: int sub_topic_tokens_free(char ***topics, int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_topic_matches_sub
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sub
    - topic
    - result
    argTypes:
    - char*
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: mosqpp::topic_matches_sub
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_topic_matches_sub
    linkageType: ''
    returnType: int
    signature: int topic_matches_sub(const char *sub, const char *topic, bool *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_topic_matches_sub_with_pattern
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sub
    - topic
    - clientid
    - username
    - result
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: mosqpp::topic_matches_sub_with_pattern
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_topic_matches_sub_with_pattern
    linkageType: ''
    returnType: int
    signature: int topic_matches_sub_with_pattern(const char *sub, const char *topic,
      const char *clientid, const char *username, bool *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_sub_matches_acl
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - acl
    - sub
    - result
    argTypes:
    - char*
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: mosqpp::sub_matches_acl
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_sub_matches_acl
    linkageType: ''
    returnType: int
    signature: int sub_matches_acl(const char *acl, const char *sub, bool *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_sub_matches_acl_with_pattern
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - acl
    - sub
    - clientid
    - username
    - result
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: mosqpp::sub_matches_acl_with_pattern
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_sub_matches_acl_with_pattern
    linkageType: ''
    returnType: int
    signature: int sub_matches_acl_with_pattern(const char *acl, const char *sub,
      const char *clientid, const char *username, bool *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: mosqpp::validate_utf8
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 1
    functionsReached:
    - mosquitto_validate_utf8
    linkageType: ''
    returnType: int
    signature: int validate_utf8(const char *str, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_subscribe_simple
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 14
    argNames:
    - messages
    - msg_count
    - retained
    - topic
    - qos
    - host
    - port
    - clientid
    - keepalive
    - clean_session
    - username
    - password
    - will
    - tls
    argTypes:
    - struct mosquitto_message**
    - int
    - bool
    - char*
    - int
    - char*
    - int
    - char*
    - int
    - bool
    - char*
    - char*
    - struct libmosquitto_will*
    - struct libmosquitto_tls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 279
    functionName: mosqpp::subscribe_simple
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 1
    functionsReached:
    - mosquitto_subscribe_simple
    linkageType: ''
    returnType: int
    signature: "int subscribe_simple(\n\t\tstruct mosquitto_message **messages,\n\t\tint
      msg_count,\n\t\tbool retained,\n\t\tconst char *topic,\n\t\tint qos,\n\t\tconst
      char *host,\n\t\tint port,\n\t\tconst char *clientid,\n\t\tint keepalive,\n\t\tbool
      clean_session,\n\t\tconst char *username,\n\t\tconst char *password,\n\t\tconst
      struct libmosquitto_will *will,\n\t\tconst struct libmosquitto_tls *tls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_subscribe_callback
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 12
    argNames:
    - userdata
    - topic
    - qos
    - host
    - port
    - clientid
    - keepalive
    - clean_session
    - username
    - password
    - will
    - tls
    argTypes:
    - void*
    - char*
    - int
    - char*
    - int
    - char*
    - int
    - bool
    - char*
    - char*
    - struct libmosquitto_will*
    - struct libmosquitto_tls*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 303
    functionName: mosqpp::subscribe_callback
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 1
    functionsReached:
    - mosquitto_subscribe_callback
    linkageType: ''
    returnType: mosqpp_EXPORT
    signature: "mosqpp_EXPORT subscribe_callback(\n\t\tint (*callback)(struct mosquitto
      *, void *, const struct mosquitto_message *),\n\t\tvoid *userdata,\n\t\tconst
      char *topic,\n\t\tint qos,\n\t\tconst char *host,\n\t\tint port,\n\t\tconst
      char *clientid,\n\t\tint keepalive,\n\t\tbool clean_session,\n\t\tconst char
      *username,\n\t\tconst char *password,\n\t\tconst struct libmosquitto_will *will,\n\t\tconst
      struct libmosquitto_tls *tls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_pre_connect_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:310,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:311,1
    - Dst: mosquitto_connect_with_flags_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:312,1
    - Dst: mosquitto_connect_v5_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:313,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:314,1
    - Dst: mosquitto_disconnect_v5_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:315,1
    - Dst: mosquitto_publish_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:316,1
    - Dst: mosquitto_publish_v5_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:317,1
    - Dst: mosquitto_message_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:318,1
    - Dst: mosquitto_message_v5_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:319,1
    - Dst: mosquitto_subscribe_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:320,1
    - Dst: mosquitto_subscribe_v5_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:321,1
    - Dst: mosquitto_unsubscribe_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:322,1
    - Dst: mosquitto_unsubscribe_v5_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:323,1
    - Dst: mosquitto_ext_auth_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:324,1
    - Dst: mosquitto_log_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 326
    functionName: mosqpp::mosquitto_callbacks_set
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_publish_callback_set
    - mosquitto_connect_v5_callback_set
    - mosquitto_connect_with_flags_callback_set
    - mosquitto_message_callback_set
    - mosquitto_ext_auth_callback_set
    - mosquitto_subscribe_callback_set
    - mosquitto_log_callback_set
    - mosquitto_unsubscribe_callback_set
    - mosquitto_message_v5_callback_set
    - mosquitto_subscribe_v5_callback_set
    - mosquitto_pre_connect_callback_set
    - mosquitto_unsubscribe_v5_callback_set
    - mosquitto_publish_v5_callback_set
    - mosquitto_disconnect_v5_callback_set
    - mosquitto_connect_callback_set
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: void
    signature: void mosquitto_callbacks_set(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_pre_connect_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:310,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:311,1
    - Dst: mosquitto_connect_with_flags_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:312,1
    - Dst: mosquitto_connect_v5_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:313,1
    - Dst: mosquitto_disconnect_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:314,1
    - Dst: mosquitto_disconnect_v5_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:315,1
    - Dst: mosquitto_publish_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:316,1
    - Dst: mosquitto_publish_v5_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:317,1
    - Dst: mosquitto_message_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:318,1
    - Dst: mosquitto_message_v5_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:319,1
    - Dst: mosquitto_subscribe_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:320,1
    - Dst: mosquitto_subscribe_v5_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:321,1
    - Dst: mosquitto_unsubscribe_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:322,1
    - Dst: mosquitto_unsubscribe_v5_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:323,1
    - Dst: mosquitto_ext_auth_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:324,1
    - Dst: mosquitto_log_callback_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 326
    functionName: mosqpp::mosquitto_callbacks_set
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_publish_callback_set
    - mosquitto_connect_v5_callback_set
    - mosquitto_connect_with_flags_callback_set
    - mosquitto_message_callback_set
    - mosquitto_ext_auth_callback_set
    - mosquitto_subscribe_callback_set
    - mosquitto_log_callback_set
    - mosquitto_unsubscribe_callback_set
    - mosquitto_message_v5_callback_set
    - mosquitto_subscribe_v5_callback_set
    - mosquitto_pre_connect_callback_set
    - mosquitto_unsubscribe_v5_callback_set
    - mosquitto_publish_v5_callback_set
    - mosquitto_disconnect_v5_callback_set
    - mosquitto_connect_callback_set
    - mosquitto_disconnect_callback_set
    linkageType: ''
    returnType: void
    signature: void mosquitto_callbacks_set(struct mosquitto *mosq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_new
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:331,1
    - Dst: mosquitto_callbacks_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - id
    - clean_session
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: mosqpp::mosquittopp::mosquittopp
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_new
    - mosquitto_callbacks_set
    linkageType: ''
    returnType: void
    signature: void mosquittopp::mosquittopp(const char *id, bool clean_session)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: mosquittopp::~mosquittopp()
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_destroy
    linkageType: ''
    returnType: void
    signature: void mosquittopp::~mosquittopp()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_reinitialise
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:346,1
    - Dst: mosquitto_callbacks_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - id
    - clean_session
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 351
    functionName: mosqpp::mosquittopp::reinitialise
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_reinitialise
    - mosquitto_callbacks_set
    linkageType: ''
    returnType: int
    signature: int mosquittopp::reinitialise(const char *id, bool clean_session)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_connect
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - host
    - port
    - keepalive
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: mosqpp::mosquittopp::connect
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_connect
    linkageType: ''
    returnType: int
    signature: int mosquittopp::connect(const char *host, int port, int keepalive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_connect_bind
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - host
    - port
    - keepalive
    - bind_address
    argTypes:
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 363
    functionName: mosqpp::mosquittopp::connect
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_connect_bind
    linkageType: ''
    returnType: int
    signature: int mosquittopp::connect(const char *host, int port, int keepalive,
      const char *bind_address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_connect_bind_v5
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - host
    - port
    - keepalive
    - bind_address
    - properties
    argTypes:
    - char*
    - int
    - int
    - char*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: mosqpp::mosquittopp::connect_v5
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_connect_bind_v5
    linkageType: ''
    returnType: int
    signature: int mosquittopp::connect_v5(const char *host, int port, int keepalive,
      const char *bind_address, const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_connect_async
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - host
    - port
    - keepalive
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: mosqpp::mosquittopp::connect_async
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_connect_async
    linkageType: ''
    returnType: int
    signature: int mosquittopp::connect_async(const char *host, int port, int keepalive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_connect_bind_async
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - host
    - port
    - keepalive
    - bind_address
    argTypes:
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: mosqpp::mosquittopp::connect_async
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_connect_bind_async
    linkageType: ''
    returnType: int
    signature: int mosquittopp::connect_async(const char *host, int port, int keepalive,
      const char *bind_address)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_reconnect
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: mosqpp::mosquittopp::reconnect
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_reconnect
    linkageType: ''
    returnType: int
    signature: int mosquittopp::reconnect()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_reconnect_async
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: mosqpp::mosquittopp::reconnect_async
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_reconnect_async
    linkageType: ''
    returnType: int
    signature: int mosquittopp::reconnect_async()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 399
    functionName: mosqpp::mosquittopp::disconnect
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_disconnect
    linkageType: ''
    returnType: int
    signature: int mosquittopp::disconnect()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect_v5
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - reason_code
    - properties
    argTypes:
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: mosqpp::mosquittopp::disconnect_v5
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_disconnect_v5
    linkageType: ''
    returnType: int
    signature: int mosquittopp::disconnect_v5(int reason_code, const mosquitto_property
      *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_ext_auth_continue
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - auth_method
    - auth_data_len
    - auth_data
    - properties
    argTypes:
    - char*
    - uint16_t
    - void*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: mosqpp::mosquittopp::ext_auth_continue
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_ext_auth_continue
    linkageType: ''
    returnType: int
    signature: int mosquittopp::ext_auth_continue(const char *auth_method, uint16_t
      auth_data_len, const void *auth_data, const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_socket
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 417
    functionName: mosqpp::mosquittopp::socket
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_socket
    linkageType: ''
    returnType: int
    signature: int mosquittopp::socket()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_will_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    argTypes:
    - char*
    - int
    - void*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: mosqpp::mosquittopp::will_set
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_will_set
    linkageType: ''
    returnType: int
    signature: int mosquittopp::will_set(const char *topic, int payloadlen, const
      void *payload, int qos, bool retain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_will_set_v5
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    - properties
    argTypes:
    - char*
    - int
    - void*
    - int
    - bool
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 429
    functionName: mosqpp::mosquittopp::will_set_v5
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_will_set_v5
    linkageType: ''
    returnType: int
    signature: int mosquittopp::will_set_v5(const char *topic, int payloadlen, const
      void *payload, int qos, bool retain, mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_will_clear
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 435
    functionName: mosqpp::mosquittopp::will_clear
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_will_clear
    linkageType: ''
    returnType: int
    signature: int mosquittopp::will_clear()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_username_pw_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - username
    - password
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 441
    functionName: mosqpp::mosquittopp::username_pw_set
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_username_pw_set
    linkageType: ''
    returnType: int
    signature: int mosquittopp::username_pw_set(const char *username, const char *password)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_publish
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - mid
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    argTypes:
    - int*
    - char*
    - int
    - void*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 447
    functionName: mosqpp::mosquittopp::publish
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_publish
    linkageType: ''
    returnType: int
    signature: int mosquittopp::publish(int *mid, const char *topic, int payloadlen,
      const void *payload, int qos, bool retain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_publish_v5
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - mid
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    - properties
    argTypes:
    - int*
    - char*
    - int
    - void*
    - int
    - bool
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 453
    functionName: mosqpp::mosquittopp::publish_v5
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_publish_v5
    linkageType: ''
    returnType: int
    signature: int mosquittopp::publish_v5(int *mid, const char *topic, int payloadlen,
      const void *payload, int qos, bool retain, const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_reconnect_delay_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reconnect_delay
    - reconnect_delay_max
    - reconnect_exponential_backoff
    argTypes:
    - unsigned int
    - unsigned int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 459
    functionName: mosqpp::mosquittopp::reconnect_delay_set
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_reconnect_delay_set
    linkageType: ''
    returnType: void
    signature: void mosquittopp::reconnect_delay_set(unsigned int reconnect_delay,
      unsigned int reconnect_delay_max, bool reconnect_exponential_backoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_max_inflight_messages_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max_inflight_messages
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: mosqpp::mosquittopp::max_inflight_messages_set
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_max_inflight_messages_set
    linkageType: ''
    returnType: int
    signature: int mosquittopp::max_inflight_messages_set(unsigned int max_inflight_messages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_message_retry_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message_retry
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 471
    functionName: mosqpp::mosquittopp::message_retry_set
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_message_retry_set
    linkageType: ''
    returnType: void
    signature: void mosquittopp::message_retry_set(unsigned int message_retry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_subscribe
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mid
    - sub
    - qos
    argTypes:
    - int*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: mosqpp::mosquittopp::subscribe
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_subscribe
    linkageType: ''
    returnType: int
    signature: int mosquittopp::subscribe(int *mid, const char *sub, int qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_subscribe_v5
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - mid
    - sub
    - qos
    - options
    - properties
    argTypes:
    - int*
    - char*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 483
    functionName: mosqpp::mosquittopp::subscribe_v5
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_subscribe_v5
    linkageType: ''
    returnType: int
    signature: int mosquittopp::subscribe_v5(int *mid, const char *sub, int qos, int
      options, const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_unsubscribe
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mid
    - sub
    argTypes:
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 489
    functionName: mosqpp::mosquittopp::unsubscribe
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_unsubscribe
    linkageType: ''
    returnType: int
    signature: int mosquittopp::unsubscribe(int *mid, const char *sub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_unsubscribe_v5
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mid
    - sub
    - properties
    argTypes:
    - int*
    - char*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: mosqpp::mosquittopp::unsubscribe_v5
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_unsubscribe_v5
    linkageType: ''
    returnType: int
    signature: int mosquittopp::unsubscribe_v5(int *mid, const char *sub, const mosquitto_property
      *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_loop
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - timeout
    - max_packets
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 501
    functionName: mosqpp::mosquittopp::loop
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_loop
    linkageType: ''
    returnType: int
    signature: int mosquittopp::loop(int timeout, int max_packets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_loop_misc
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 507
    functionName: mosqpp::mosquittopp::loop_misc
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_loop_misc
    linkageType: ''
    returnType: int
    signature: int mosquittopp::loop_misc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_loop_read
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max_packets
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 513
    functionName: mosqpp::mosquittopp::loop_read
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_loop_read
    linkageType: ''
    returnType: int
    signature: int mosquittopp::loop_read(int max_packets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_loop_write
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max_packets
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 519
    functionName: mosqpp::mosquittopp::loop_write
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_loop_write
    linkageType: ''
    returnType: int
    signature: int mosquittopp::loop_write(int max_packets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_loop_forever
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - timeout
    - max_packets
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: mosqpp::mosquittopp::loop_forever
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_loop_forever
    linkageType: ''
    returnType: int
    signature: int mosquittopp::loop_forever(int timeout, int max_packets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_loop_start
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 531
    functionName: mosqpp::mosquittopp::loop_start
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_loop_start
    linkageType: ''
    returnType: int
    signature: int mosquittopp::loop_start()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_loop_stop
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - force
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 537
    functionName: mosqpp::mosquittopp::loop_stop
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_loop_stop
    linkageType: ''
    returnType: int
    signature: int mosquittopp::loop_stop(bool force)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_want_write
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 543
    functionName: mosqpp::mosquittopp::want_write
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_want_write
    linkageType: ''
    returnType: bool
    signature: bool mosquittopp::want_write()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_opts_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - enum mosq_opt_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 549
    functionName: mosqpp::mosquittopp::opts_set
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_opts_set
    linkageType: ''
    returnType: int
    signature: int mosquittopp::opts_set(enum mosq_opt_t option, void *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - enum mosq_opt_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: mosqpp::mosquittopp::int_option
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_int_option
    linkageType: ''
    returnType: int
    signature: int mosquittopp::int_option(enum mosq_opt_t option, int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_string_option
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - enum mosq_opt_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 561
    functionName: mosqpp::mosquittopp::string_option
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_string_option
    linkageType: ''
    returnType: int
    signature: int mosquittopp::string_option(enum mosq_opt_t option, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_void_option
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - enum mosq_opt_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 567
    functionName: mosqpp::mosquittopp::void_option
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_void_option
    linkageType: ''
    returnType: int
    signature: int mosquittopp::void_option(enum mosq_opt_t option, void *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_threaded_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - threaded
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 573
    functionName: mosqpp::mosquittopp::threaded_set
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_threaded_set
    linkageType: ''
    returnType: int
    signature: int mosquittopp::threaded_set(bool threaded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_user_data_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - userdata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 579
    functionName: mosqpp::mosquittopp::user_data_set
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_user_data_set
    linkageType: ''
    returnType: void
    signature: void mosquittopp::user_data_set(void *userdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_socks5_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - host
    - port
    - username
    - password
    argTypes:
    - char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 585
    functionName: mosqpp::mosquittopp::socks5_set
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_socks5_set
    linkageType: ''
    returnType: int
    signature: int mosquittopp::socks5_set(const char *host, int port, const char
      *username, const char *password)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_tls_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cafile
    - capath
    - certfile
    - keyfile
    argTypes:
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 591
    functionName: mosqpp::mosquittopp::tls_set
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_tls_set
    linkageType: ''
    returnType: int
    signature: int mosquittopp::tls_set(const char *cafile, const char *capath, const
      char *certfile, const char *keyfile, int (*pw_callback)(char *buf, int size,
      int rwflag, void *userdata))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_tls_opts_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cert_reqs
    - tls_version
    - ciphers
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 597
    functionName: mosqpp::mosquittopp::tls_opts_set
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_tls_opts_set
    linkageType: ''
    returnType: int
    signature: int mosquittopp::tls_opts_set(int cert_reqs, const char *tls_version,
      const char *ciphers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_tls_insecure_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 603
    functionName: mosqpp::mosquittopp::tls_insecure_set
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_tls_insecure_set
    linkageType: ''
    returnType: int
    signature: int mosquittopp::tls_insecure_set(bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_tls_psk_set
      Src: /src/mosquitto/lib/cpp/mosquittopp.cpp:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - psk
    - identity
    - ciphers
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 609
    functionName: mosqpp::mosquittopp::tls_psk_set
    functionSourceFile: /src/mosquitto/lib/cpp/mosquittopp.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_tls_psk_set
    linkageType: ''
    returnType: int
    signature: int mosquittopp::tls_psk_set(const char *psk, const char *identity,
      const char *ciphers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_memcmp
      Src: /src/mosquitto/libcommon/password_common.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - a
    - b
    - len
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 94
    functionName: pw__memcmp_const
    functionSourceFile: /src/mosquitto/libcommon/password_common.c
    functionUses: 0
    functionsReached:
    - CRYPTO_memcmp
    linkageType: ''
    returnType: int
    signature: int pw__memcmp_const(const void *a, const void *b, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/mosquitto/libcommon/password_common.c:107,1
    - Dst: argon2_encodedlen
      Src: /src/mosquitto/libcommon/password_common.c:112,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/libcommon/password_common.c:115,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/libcommon/password_common.c:116,1
    - Dst: argon2id_hash_encoded
      Src: /src/mosquitto/libcommon/password_common.c:118,1
    - Dst: strlen
      Src: /src/mosquitto/libcommon/password_common.c:119,1
    - Dst: UNUSED
      Src: /src/mosquitto/libcommon/password_common.c:131,1
    - Dst: UNUSED
      Src: /src/mosquitto/libcommon/password_common.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - pw
    - password
    argTypes:
    - struct mosquitto_pw*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 135
    functionName: pw__create_argon2id
    functionSourceFile: /src/mosquitto/libcommon/password_common.c
    functionUses: 0
    functionsReached:
    - argon2id_hash_encoded
    - mosquitto_calloc
    - RAND_bytes
    - strlen
    - mosquitto_free
    - argon2_encodedlen
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int pw__create_argon2id(struct mosquitto_pw *pw, const char *password)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: argon2id_verify
      Src: /src/mosquitto/libcommon/password_common.c:141,1
    - Dst: strlen
      Src: /src/mosquitto/libcommon/password_common.c:142,1
    - Dst: UNUSED
      Src: /src/mosquitto/libcommon/password_common.c:150,1
    - Dst: UNUSED
      Src: /src/mosquitto/libcommon/password_common.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pw
    - password
    argTypes:
    - struct mosquitto_pw*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 154
    functionName: pw__verify_argon2id
    functionSourceFile: /src/mosquitto/libcommon/password_common.c
    functionUses: 0
    functionsReached:
    - strlen
    - UNUSED
    - argon2id_verify
    linkageType: ''
    returnType: int
    signature: int pw__verify_argon2id(struct mosquitto_pw *pw, const char *password)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/libcommon/password_common.c:160,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/libcommon/password_common.c:163,1
    - Dst: UNUSED
      Src: /src/mosquitto/libcommon/password_common.c:171,1
    - Dst: UNUSED
      Src: /src/mosquitto/libcommon/password_common.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - pw
    - password
    argTypes:
    - struct mosquitto_pw*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 175
    functionName: pw__decode_argon2id
    functionSourceFile: /src/mosquitto/libcommon/password_common.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - mosquitto_free
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int pw__decode_argon2id(struct mosquitto_pw *pw, const char *password)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_get_digestbyname
      Src: /src/mosquitto/libcommon/password_common.c:188,1
    - Dst: PKCS5_PBKDF2_HMAC
      Src: /src/mosquitto/libcommon/password_common.c:193,1
    - Dst: strlen
      Src: /src/mosquitto/libcommon/password_common.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - password
    - pw
    - password_hash
    - hash_len
    - iterations
    argTypes:
    - char*
    - struct mosquitto_pw*
    - unsigned char*
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 198
    functionName: pw__hash_sha512_pbkdf2
    functionSourceFile: /src/mosquitto/libcommon/password_common.c
    functionUses: 0
    functionsReached:
    - strlen
    - PKCS5_PBKDF2_HMAC
    - EVP_get_digestbyname
    linkageType: ''
    returnType: int
    signature: int pw__hash_sha512_pbkdf2(const char *password, struct mosquitto_pw
      *pw, unsigned char *password_hash, unsigned int hash_len, int iterations)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/mosquitto/libcommon/password_common.c:207,1
    - Dst: pw__hash_sha512_pbkdf2
      Src: /src/mosquitto/libcommon/password_common.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pw
    - password
    argTypes:
    - struct mosquitto_pw*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 225
    functionName: pw__create_sha512_pbkdf2
    functionSourceFile: /src/mosquitto/libcommon/password_common.c
    functionUses: 0
    functionsReached:
    - pw__hash_sha512_pbkdf2
    - RAND_bytes
    linkageType: ''
    returnType: int
    signature: int pw__create_sha512_pbkdf2(struct mosquitto_pw *pw, const char *password)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pw__hash_sha512_pbkdf2
      Src: /src/mosquitto/libcommon/password_common.c:234,1
    - Dst: pw__memcmp_const
      Src: /src/mosquitto/libcommon/password_common.c:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pw
    - password
    argTypes:
    - struct mosquitto_pw*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 250
    functionName: pw__verify_sha512_pbkdf2
    functionSourceFile: /src/mosquitto/libcommon/password_common.c
    functionUses: 0
    functionsReached:
    - pw__hash_sha512_pbkdf2
    - pw__memcmp_const
    linkageType: ''
    returnType: int
    signature: int pw__verify_sha512_pbkdf2(struct mosquitto_pw *pw, const char *password)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_base64_encode
      Src: /src/mosquitto/libcommon/password_common.c:259,1
    - Dst: mosquitto_base64_encode
      Src: /src/mosquitto/libcommon/password_common.c:264,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/libcommon/password_common.c:266,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/libcommon/password_common.c:270,1
    - Dst: strlen
      Src: /src/mosquitto/libcommon/password_common.c:271,1
    - Dst: strlen
      Src: /src/mosquitto/libcommon/password_common.c:271,1
    - Dst: strlen
      Src: /src/mosquitto/libcommon/password_common.c:271,1
    - Dst: strlen
      Src: /src/mosquitto/libcommon/password_common.c:271,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/libcommon/password_common.c:272,1
    - Dst: snprintf
      Src: /src/mosquitto/libcommon/password_common.c:277,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/libcommon/password_common.c:279,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/libcommon/password_common.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - pw
    argTypes:
    - struct mosquitto_pw*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 286
    functionName: pw__encode_sha512_pbkdf2
    functionSourceFile: /src/mosquitto/libcommon/password_common.c
    functionUses: 0
    functionsReached:
    - mosquitto_calloc
    - snprintf
    - strlen
    - mosquitto_free
    - mosquitto_base64_encode
    linkageType: ''
    returnType: int
    signature: int pw__encode_sha512_pbkdf2(struct mosquitto_pw *pw)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/libcommon/password_common.c:299,1
    - Dst: strtok_r
      Src: /src/mosquitto/libcommon/password_common.c:304,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/libcommon/password_common.c:306,1
    - Dst: atoi
      Src: /src/mosquitto/libcommon/password_common.c:309,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/libcommon/password_common.c:311,1
    - Dst: strtok_r
      Src: /src/mosquitto/libcommon/password_common.c:315,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/libcommon/password_common.c:317,1
    - Dst: mosquitto_base64_decode
      Src: /src/mosquitto/libcommon/password_common.c:321,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/libcommon/password_common.c:323,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/libcommon/password_common.c:324,1
    - Dst: memcpy
      Src: /src/mosquitto/libcommon/password_common.c:327,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/libcommon/password_common.c:328,1
    - Dst: strtok_r
      Src: /src/mosquitto/libcommon/password_common.c:331,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/libcommon/password_common.c:333,1
    - Dst: mosquitto_base64_decode
      Src: /src/mosquitto/libcommon/password_common.c:337,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/libcommon/password_common.c:338,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/libcommon/password_common.c:341,1
    - Dst: memcpy
      Src: /src/mosquitto/libcommon/password_common.c:344,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/libcommon/password_common.c:345,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 2
    argNames:
    - pw
    - salt_password
    argTypes:
    - struct mosquitto_pw*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 352
    functionName: pw__decode_sha512_pbkdf2
    functionSourceFile: /src/mosquitto/libcommon/password_common.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - atoi
    - mosquitto_base64_decode
    - mosquitto_free
    - strtok_r
    - memcpy
    linkageType: ''
    returnType: int
    signature: int pw__decode_sha512_pbkdf2(struct mosquitto_pw *pw, const char *salt_password)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_get_digestbyname
      Src: /src/mosquitto/libcommon/password_common.c:370,1
    - Dst: EVP_MD_CTX_init
      Src: /src/mosquitto/libcommon/password_common.c:376,1
    - Dst: EVP_DigestInit_ex
      Src: /src/mosquitto/libcommon/password_common.c:377,1
    - Dst: EVP_DigestUpdate
      Src: /src/mosquitto/libcommon/password_common.c:378,1
    - Dst: strlen
      Src: /src/mosquitto/libcommon/password_common.c:378,1
    - Dst: EVP_DigestUpdate
      Src: /src/mosquitto/libcommon/password_common.c:379,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/mosquitto/libcommon/password_common.c:380,1
    - Dst: EVP_MD_CTX_cleanup
      Src: /src/mosquitto/libcommon/password_common.c:381,1
    - Dst: EVP_MD_CTX_new
      Src: /src/mosquitto/libcommon/password_common.c:383,1
    - Dst: EVP_DigestInit_ex
      Src: /src/mosquitto/libcommon/password_common.c:384,1
    - Dst: EVP_DigestUpdate
      Src: /src/mosquitto/libcommon/password_common.c:385,1
    - Dst: strlen
      Src: /src/mosquitto/libcommon/password_common.c:385,1
    - Dst: EVP_DigestUpdate
      Src: /src/mosquitto/libcommon/password_common.c:386,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/mosquitto/libcommon/password_common.c:387,1
    - Dst: EVP_MD_CTX_free
      Src: /src/mosquitto/libcommon/password_common.c:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 4
    argNames:
    - password
    - pw
    - password_hash
    - hash_len
    argTypes:
    - char*
    - struct mosquitto_pw*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 392
    functionName: pw__hash_sha512
    functionSourceFile: /src/mosquitto/libcommon/password_common.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_new
    - EVP_MD_CTX_cleanup
    - EVP_MD_CTX_init
    - EVP_DigestUpdate
    - EVP_get_digestbyname
    - strlen
    - EVP_MD_CTX_free
    - EVP_DigestFinal_ex
    - EVP_DigestInit_ex
    linkageType: ''
    returnType: int
    signature: int pw__hash_sha512(const char *password, struct mosquitto_pw *pw,
      unsigned char *password_hash, unsigned int hash_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/mosquitto/libcommon/password_common.c:401,1
    - Dst: pw__hash_sha512
      Src: /src/mosquitto/libcommon/password_common.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pw
    - password
    argTypes:
    - struct mosquitto_pw*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 412
    functionName: pw__create_sha512
    functionSourceFile: /src/mosquitto/libcommon/password_common.c
    functionUses: 0
    functionsReached:
    - pw__hash_sha512
    - RAND_bytes
    linkageType: ''
    returnType: int
    signature: int pw__create_sha512(struct mosquitto_pw *pw, const char *password)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pw__hash_sha512
      Src: /src/mosquitto/libcommon/password_common.c:421,1
    - Dst: pw__memcmp_const
      Src: /src/mosquitto/libcommon/password_common.c:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pw
    - password
    argTypes:
    - struct mosquitto_pw*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 434
    functionName: pw__verify_sha512
    functionSourceFile: /src/mosquitto/libcommon/password_common.c
    functionUses: 0
    functionsReached:
    - pw__hash_sha512
    - pw__memcmp_const
    linkageType: ''
    returnType: int
    signature: int pw__verify_sha512(struct mosquitto_pw *pw, const char *password)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_base64_encode
      Src: /src/mosquitto/libcommon/password_common.c:443,1
    - Dst: mosquitto_base64_encode
      Src: /src/mosquitto/libcommon/password_common.c:448,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/libcommon/password_common.c:453,1
    - Dst: strlen
      Src: /src/mosquitto/libcommon/password_common.c:454,1
    - Dst: strlen
      Src: /src/mosquitto/libcommon/password_common.c:454,1
    - Dst: strlen
      Src: /src/mosquitto/libcommon/password_common.c:454,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/libcommon/password_common.c:455,1
    - Dst: snprintf
      Src: /src/mosquitto/libcommon/password_common.c:460,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/libcommon/password_common.c:462,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/libcommon/password_common.c:463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - pw
    argTypes:
    - struct mosquitto_pw*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 469
    functionName: pw__encode_sha512
    functionSourceFile: /src/mosquitto/libcommon/password_common.c
    functionUses: 0
    functionsReached:
    - mosquitto_calloc
    - snprintf
    - strlen
    - mosquitto_free
    - mosquitto_base64_encode
    linkageType: ''
    returnType: int
    signature: int pw__encode_sha512(struct mosquitto_pw *pw)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/libcommon/password_common.c:481,1
    - Dst: strtok_r
      Src: /src/mosquitto/libcommon/password_common.c:486,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/libcommon/password_common.c:488,1
    - Dst: mosquitto_base64_decode
      Src: /src/mosquitto/libcommon/password_common.c:492,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/libcommon/password_common.c:494,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/libcommon/password_common.c:495,1
    - Dst: memcpy
      Src: /src/mosquitto/libcommon/password_common.c:498,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/libcommon/password_common.c:499,1
    - Dst: strtok_r
      Src: /src/mosquitto/libcommon/password_common.c:502,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/libcommon/password_common.c:504,1
    - Dst: mosquitto_base64_decode
      Src: /src/mosquitto/libcommon/password_common.c:508,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/libcommon/password_common.c:509,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/libcommon/password_common.c:512,1
    - Dst: memcpy
      Src: /src/mosquitto/libcommon/password_common.c:515,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/libcommon/password_common.c:516,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - pw
    - salt_password
    argTypes:
    - struct mosquitto_pw*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 523
    functionName: pw__decode_sha512
    functionSourceFile: /src/mosquitto/libcommon/password_common.c
    functionUses: 0
    functionsReached:
    - mosquitto_strdup
    - mosquitto_base64_decode
    - mosquitto_free
    - strtok_r
    - memcpy
    linkageType: ''
    returnType: int
    signature: int pw__decode_sha512(struct mosquitto_pw *pw, const char *salt_password)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pw__encode_sha512_pbkdf2
      Src: /src/mosquitto/libcommon/password_common.c:532,1
    - Dst: pw__encode_sha512
      Src: /src/mosquitto/libcommon/password_common.c:534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pw
    argTypes:
    - struct mosquitto_pw*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 540
    functionName: pw__encode
    functionSourceFile: /src/mosquitto/libcommon/password_common.c
    functionUses: 0
    functionsReached:
    - pw__encode_sha512_pbkdf2
    - pw__encode_sha512
    linkageType: ''
    returnType: int
    signature: int pw__encode(struct mosquitto_pw *pw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/libcommon/password_common.c:550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pw
    - hashtype
    argTypes:
    - struct mosquitto_pw**
    - enum mosquitto_pwhash_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 557
    functionName: mosquitto_pw_new
    functionSourceFile: /src/mosquitto/libcommon/password_common.c
    functionUses: 10
    functionsReached:
    - mosquitto_calloc
    linkageType: ''
    returnType: int
    signature: int mosquitto_pw_new(struct mosquitto_pw **pw, enum mosquitto_pwhash_type
      hashtype)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pw__create_argon2id
      Src: /src/mosquitto/libcommon/password_common.c:566,1
    - Dst: pw__create_sha512_pbkdf2
      Src: /src/mosquitto/libcommon/password_common.c:570,1
    - Dst: pw__create_sha512
      Src: /src/mosquitto/libcommon/password_common.c:573,1
    - Dst: pw__create_argon2id
      Src: /src/mosquitto/libcommon/password_common.c:577,1
    - Dst: pw__create_sha512_pbkdf2
      Src: /src/mosquitto/libcommon/password_common.c:579,1
    - Dst: pw__encode
      Src: /src/mosquitto/libcommon/password_common.c:584,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - pw
    - password
    argTypes:
    - struct mosquitto_pw*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 588
    functionName: mosquitto_pw_hash_encoded
    functionSourceFile: /src/mosquitto/libcommon/password_common.c
    functionUses: 7
    functionsReached:
    - pw__encode
    - pw__create_sha512
    - pw__create_sha512_pbkdf2
    - pw__create_argon2id
    linkageType: ''
    returnType: int
    signature: int mosquitto_pw_hash_encoded(struct mosquitto_pw *pw, const char *password)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pw__verify_argon2id
      Src: /src/mosquitto/libcommon/password_common.c:596,1
    - Dst: pw__verify_sha512_pbkdf2
      Src: /src/mosquitto/libcommon/password_common.c:598,1
    - Dst: pw__verify_sha512
      Src: /src/mosquitto/libcommon/password_common.c:600,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pw
    - password
    argTypes:
    - struct mosquitto_pw*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 591
    functionDepth: 2
    functionLinenumber: 591
    functionLinenumberEnd: 607
    functionName: mosquitto_pw_verify
    functionSourceFile: /src/mosquitto/libcommon/password_common.c
    functionUses: 2
    functionsReached:
    - pw__verify_sha512
    - pw__verify_sha512_pbkdf2
    - pw__verify_argon2id
    linkageType: ''
    returnType: int
    signature: int mosquitto_pw_verify(struct mosquitto_pw *pw, const char *password)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pw
    - valid
    argTypes:
    - struct mosquitto_pw*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 615
    functionName: mosquitto_pw_set_valid
    functionSourceFile: /src/mosquitto/libcommon/password_common.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquitto_pw_set_valid(struct mosquitto_pw *pw, bool valid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pw
    argTypes:
    - struct mosquitto_pw*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 621
    functionName: mosquitto_pw_is_valid
    functionSourceFile: /src/mosquitto/libcommon/password_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool mosquitto_pw_is_valid(struct mosquitto_pw *pw)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/libcommon/password_common.c:634,1
    - Dst: pw__decode_sha512
      Src: /src/mosquitto/libcommon/password_common.c:641,1
    - Dst: pw__decode_sha512_pbkdf2
      Src: /src/mosquitto/libcommon/password_common.c:644,1
    - Dst: strncmp
      Src: /src/mosquitto/libcommon/password_common.c:645,1
    - Dst: strlen
      Src: /src/mosquitto/libcommon/password_common.c:645,1
    - Dst: pw__decode_argon2id
      Src: /src/mosquitto/libcommon/password_common.c:647,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/libcommon/password_common.c:649,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - pw
    - password
    argTypes:
    - struct mosquitto_pw*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 652
    functionName: mosquitto_pw_decode
    functionSourceFile: /src/mosquitto/libcommon/password_common.c
    functionUses: 3
    functionsReached:
    - mosquitto_strdup
    - strncmp
    - mosquitto_FREE
    - pw__decode_argon2id
    - pw__decode_sha512
    - strlen
    - pw__decode_sha512_pbkdf2
    linkageType: ''
    returnType: int
    signature: int mosquitto_pw_decode(struct mosquitto_pw *pw, const char *password)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pw
    argTypes:
    - struct mosquitto_pw*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 658
    functionName: mosquitto_pw_get_encoded
    functionSourceFile: /src/mosquitto/libcommon/password_common.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *mosquitto_pw_get_encoded(struct mosquitto_pw *pw)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - pw
    - param
    - value
    argTypes:
    - struct mosquitto_pw*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 677
    functionName: mosquitto_pw_set_param
    functionSourceFile: /src/mosquitto/libcommon/password_common.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mosquitto_pw_set_param(struct mosquitto_pw *pw, int param, int
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_free
      Src: /src/mosquitto/libcommon/password_common.c:683,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/libcommon/password_common.c:685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pw
    argTypes:
    - struct mosquitto_pw*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 687
    functionName: mosquitto_pw_cleanup
    functionSourceFile: /src/mosquitto/libcommon/password_common.c
    functionUses: 8
    functionsReached:
    - mosquitto_free
    linkageType: ''
    returnType: void
    signature: void mosquitto_pw_cleanup(struct mosquitto_pw *pw)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 64
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 115
    functionName: mosquitto_validate_utf8
    functionSourceFile: /src/mosquitto/libcommon/utf8_common.c
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_validate_utf8(const char *str, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/mosquitto/libcommon/time_common.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: mosquitto_time_init
    functionSourceFile: /src/mosquitto/libcommon/time_common.c
    functionUses: 2
    functionsReached:
    - clock_gettime
    linkageType: ''
    returnType: void
    signature: void mosquitto_time_init(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetTickCount64
      Src: /src/mosquitto/libcommon/time_common.c:65,1
    - Dst: clock_gettime
      Src: /src/mosquitto/libcommon/time_common.c:69,1
    - Dst: mach_absolute_time
      Src: /src/mosquitto/libcommon/time_common.c:79,1
    - Dst: mach_timebase_info
      Src: /src/mosquitto/libcommon/time_common.c:82,1
    - Dst: time
      Src: /src/mosquitto/libcommon/time_common.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 90
    functionName: mosquitto_time
    functionSourceFile: /src/mosquitto/libcommon/time_common.c
    functionUses: 16
    functionsReached:
    - clock_gettime
    - mach_absolute_time
    - GetTickCount64
    - mach_timebase_info
    - time
    linkageType: ''
    returnType: time_t
    signature: time_t mosquitto_time(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetLocalTime
      Src: /src/mosquitto/libcommon/time_common.c:97,1
    - Dst: time
      Src: /src/mosquitto/libcommon/time_common.c:98,1
    - Dst: clock_gettime
      Src: /src/mosquitto/libcommon/time_common.c:103,1
    - Dst: gettimeofday
      Src: /src/mosquitto/libcommon/time_common.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - s
    - ns
    argTypes:
    - time_t*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 113
    functionName: mosquitto_time_ns
    functionSourceFile: /src/mosquitto/libcommon/time_common.c
    functionUses: 1
    functionsReached:
    - clock_gettime
    - gettimeofday
    - GetLocalTime
    - time
    linkageType: ''
    returnType: void
    signature: void mosquitto_time_ns(time_t *s, long *ns)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - t1_s
    - t1_ns
    - t2_s
    - t2_ns
    argTypes:
    - time_t
    - long
    - time_t
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: mosquitto_time_cmp
    functionSourceFile: /src/mosquitto/libcommon/time_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long mosquitto_time_cmp(time_t t1_s, long t1_ns, time_t t2_s, long
      t2_ns)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateArray
      Src: /src/mosquitto/libcommon/cjson_common.c:45,1
    - Dst: mosquitto_property_identifier
      Src: /src/mosquitto/libcommon/cjson_common.c:51,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/libcommon/cjson_common.c:52,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/libcommon/cjson_common.c:54,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/libcommon/cjson_common.c:57,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/libcommon/cjson_common.c:59,1
    - Dst: mosquitto_property_identifier_to_string
      Src: /src/mosquitto/libcommon/cjson_common.c:61,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/libcommon/cjson_common.c:63,1
    - Dst: mosquitto_property_read_byte
      Src: /src/mosquitto/libcommon/cjson_common.c:70,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/mosquitto/libcommon/cjson_common.c:71,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/libcommon/cjson_common.c:72,1
    - Dst: mosquitto_property_read_string
      Src: /src/mosquitto/libcommon/cjson_common.c:81,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/libcommon/cjson_common.c:82,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/libcommon/cjson_common.c:85,1
    - Dst: free
      Src: /src/mosquitto/libcommon/cjson_common.c:86,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/libcommon/cjson_common.c:87,1
    - Dst: free
      Src: /src/mosquitto/libcommon/cjson_common.c:90,1
    - Dst: mosquitto_property_read_binary
      Src: /src/mosquitto/libcommon/cjson_common.c:97,1
    - Dst: malloc
      Src: /src/mosquitto/libcommon/cjson_common.c:98,1
    - Dst: free
      Src: /src/mosquitto/libcommon/cjson_common.c:100,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/libcommon/cjson_common.c:101,1
    - Dst: sprintf
      Src: /src/mosquitto/libcommon/cjson_common.c:105,1
    - Dst: free
      Src: /src/mosquitto/libcommon/cjson_common.c:108,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/libcommon/cjson_common.c:110,1
    - Dst: free
      Src: /src/mosquitto/libcommon/cjson_common.c:111,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/libcommon/cjson_common.c:112,1
    - Dst: free
      Src: /src/mosquitto/libcommon/cjson_common.c:115,1
    - Dst: mosquitto_property_read_string_pair
      Src: /src/mosquitto/libcommon/cjson_common.c:121,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/libcommon/cjson_common.c:122,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/libcommon/cjson_common.c:123,1
    - Dst: free
      Src: /src/mosquitto/libcommon/cjson_common.c:125,1
    - Dst: free
      Src: /src/mosquitto/libcommon/cjson_common.c:126,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/libcommon/cjson_common.c:127,1
    - Dst: free
      Src: /src/mosquitto/libcommon/cjson_common.c:130,1
    - Dst: free
      Src: /src/mosquitto/libcommon/cjson_common.c:131,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/libcommon/cjson_common.c:138,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 79
    argCount: 1
    argNames:
    - properties
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 33
    functionDepth: 4
    functionLinenumber: 33
    functionLinenumberEnd: 142
    functionName: mosquitto_properties_to_json
    functionSourceFile: /src/mosquitto/libcommon/cjson_common.c
    functionUses: 2
    functionsReached:
    - mosquitto_property_read_string
    - free
    - cJSON_Delete
    - mosquitto_property_identifier
    - mosquitto_property_read_byte
    - cJSON_AddNumberToObject
    - mosquitto_property_read_binary
    - malloc
    - sprintf
    - cJSON_AddItemToArray
    - mosquitto_property_read_string_pair
    - cJSON_CreateArray
    - mosquitto_property_next
    - mosquitto_property_identifier_to_string
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: cJSON
    signature: cJSON *mosquitto_properties_to_json(const mosquitto_property *properties)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/mosquitto/libcommon/random_common.c:49,1
    - Dst: getrandom
      Src: /src/mosquitto/libcommon/random_common.c:53,1
    - Dst: CryptAcquireContext
      Src: /src/mosquitto/libcommon/random_common.c:59,1
    - Dst: CryptGenRandom
      Src: /src/mosquitto/libcommon/random_common.c:63,1
    - Dst: CryptReleaseContext
      Src: /src/mosquitto/libcommon/random_common.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - bytes
    - count
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 72
    functionName: mosquitto_getrandom
    functionSourceFile: /src/mosquitto/libcommon/random_common.c
    functionUses: 5
    functionsReached:
    - CryptReleaseContext
    - CryptAcquireContext
    - getrandom
    - CryptGenRandom
    - RAND_bytes
    linkageType: ''
    returnType: int
    signature: int mosquitto_getrandom(void *bytes, int count)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 66
    functionName: mosquitto_pub_topic_check
    functionSourceFile: /src/mosquitto/libcommon/topic_common.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_pub_topic_check(const char *str)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: mosquitto_pub_topic_check2
    functionSourceFile: /src/mosquitto/libcommon/topic_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_pub_topic_check2(const char *str, size_t len)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 134
    functionName: mosquitto_sub_topic_check
    functionSourceFile: /src/mosquitto/libcommon/topic_common.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_sub_topic_check(const char *str)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 166
    functionName: mosquitto_sub_topic_check2
    functionSourceFile: /src/mosquitto/libcommon/topic_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_sub_topic_check2(const char *str, size_t len)
  - BBCount: 30
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 129
    argCount: 6
    argNames:
    - sub
    - topic
    - clientid
    - username
    - match_patterns
    - result
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 337
    functionName: topic_matches_sub
    functionSourceFile: /src/mosquitto/libcommon/topic_common.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int topic_matches_sub(const char *sub, const char *topic, const char
      *clientid, const char *username, bool match_patterns, bool *result)
  - BBCount: 28
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 121
    argCount: 6
    argNames:
    - acl
    - sub
    - clientid
    - username
    - match_patterns
    - result
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 511
    functionName: sub_matches_acl
    functionSourceFile: /src/mosquitto/libcommon/topic_common.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sub_matches_acl(const char *acl, const char *sub, const char *clientid,
      const char *username, bool match_patterns, bool *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sub_matches_acl
      Src: /src/mosquitto/libcommon/topic_common.c:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - acl
    - sub
    - result
    argTypes:
    - char*
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 517
    functionName: mosquitto_sub_matches_acl
    functionSourceFile: /src/mosquitto/libcommon/topic_common.c
    functionUses: 5
    functionsReached:
    - sub_matches_acl
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_sub_matches_acl(const char *acl, const char
      *sub, bool *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sub_matches_acl
      Src: /src/mosquitto/libcommon/topic_common.c:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - acl
    - sub
    - clientid
    - username
    - result
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 523
    functionName: mosquitto_sub_matches_acl_with_pattern
    functionSourceFile: /src/mosquitto/libcommon/topic_common.c
    functionUses: 15
    functionsReached:
    - sub_matches_acl
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_sub_matches_acl_with_pattern(const char *acl,
      const char *sub, const char *clientid, const char *username, bool *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: topic_matches_sub
      Src: /src/mosquitto/libcommon/topic_common.c:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sub
    - topic
    - result
    argTypes:
    - char*
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 529
    functionName: mosquitto_topic_matches_sub
    functionSourceFile: /src/mosquitto/libcommon/topic_common.c
    functionUses: 12
    functionsReached:
    - topic_matches_sub
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_topic_matches_sub(const char *sub, const char
      *topic, bool *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: topic_matches_sub
      Src: /src/mosquitto/libcommon/topic_common.c:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sub
    - topic
    - clientid
    - username
    - result
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 535
    functionName: mosquitto_topic_matches_sub_with_pattern
    functionSourceFile: /src/mosquitto/libcommon/topic_common.c
    functionUses: 16
    functionsReached:
    - topic_matches_sub
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_topic_matches_sub_with_pattern(const char *sub,
      const char *topic, const char *clientid, const char *username, bool *result)
  - BBCount: 24
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 99
    argCount: 5
    argNames:
    - sub
    - sublen
    - topic
    - topiclen
    - result
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 664
    functionName: mosquitto_topic_matches_sub2
    functionSourceFile: /src/mosquitto/libcommon/topic_common.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_topic_matches_sub2(const char *sub, size_t
      sublen, const char *topic, size_t topiclen, bool *result)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/libcommon/topic_common.c:680,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/libcommon/topic_common.c:692,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/libcommon/topic_common.c:705,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/libcommon/topic_common.c:708,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/libcommon/topic_common.c:710,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - subtopic
    - topics
    - count
    argTypes:
    - char*
    - char***
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 725
    functionName: mosquitto_sub_topic_tokenise
    functionSourceFile: /src/mosquitto/libcommon/topic_common.c
    functionUses: 3
    functionsReached:
    - mosquitto_FREE
    - strlen
    - mosquitto_calloc
    linkageType: ''
    returnType: int
    signature: int mosquitto_sub_topic_tokenise(const char *subtopic, char ***topics,
      int *count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/libcommon/topic_common.c:737,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/libcommon/topic_common.c:739,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - topics
    - count
    argTypes:
    - char***
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 742
    functionName: mosquitto_sub_topic_tokens_free
    functionSourceFile: /src/mosquitto/libcommon/topic_common.c
    functionUses: 3
    functionsReached:
    - mosquitto_FREE
    linkageType: ''
    returnType: int
    signature: int mosquitto_sub_topic_tokens_free(char ***topics, int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/mosquitto/libcommon/file_common.c:57,1
    - Dst: libcommon_vprintf
      Src: /src/mosquitto/libcommon/file_common.c:60,1
    - Dst: vfprintf
      Src: /src/mosquitto/libcommon/file_common.c:62,1
    - Dst: va_end
      Src: /src/mosquitto/libcommon/file_common.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 66
    functionName: libcommon_printf
    functionSourceFile: /src/mosquitto/libcommon/file_common.c
    functionUses: 0
    functionsReached:
    - libcommon_vprintf
    - va_start
    - va_end
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void libcommon_printf(const char *fmt, ...)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: ExpandEnvironmentStringsA
      Src: /src/mosquitto/libcommon/file_common.c:76,1
    - Dst: GetUserNameA
      Src: /src/mosquitto/libcommon/file_common.c:115,1
    - Dst: InitializeSecurityDescriptor
      Src: /src/mosquitto/libcommon/file_common.c:116,1
    - Dst: BuildExplicitAccessWithNameA
      Src: /src/mosquitto/libcommon/file_common.c:119,1
    - Dst: SetEntriesInAclA
      Src: /src/mosquitto/libcommon/file_common.c:120,1
    - Dst: SetSecurityDescriptorDacl
      Src: /src/mosquitto/libcommon/file_common.c:123,1
    - Dst: LocalFree
      Src: /src/mosquitto/libcommon/file_common.c:124,1
    - Dst: memset
      Src: /src/mosquitto/libcommon/file_common.c:128,1
    - Dst: CreateFileA
      Src: /src/mosquitto/libcommon/file_common.c:133,1
    - Dst: LocalFree
      Src: /src/mosquitto/libcommon/file_common.c:139,1
    - Dst: _open_osfhandle
      Src: /src/mosquitto/libcommon/file_common.c:141,1
    - Dst: _fdopen
      Src: /src/mosquitto/libcommon/file_common.c:146,1
    - Dst: _close
      Src: /src/mosquitto/libcommon/file_common.c:148,1
    - Dst: fseek
      Src: /src/mosquitto/libcommon/file_common.c:152,1
    - Dst: fopen
      Src: /src/mosquitto/libcommon/file_common.c:157,1
    - Dst: umask
      Src: /src/mosquitto/libcommon/file_common.c:167,1
    - Dst: strlen
      Src: /src/mosquitto/libcommon/file_common.c:170,1
    - Dst: open
      Src: /src/mosquitto/libcommon/file_common.c:186,1
    - Dst: fdopen
      Src: /src/mosquitto/libcommon/file_common.c:190,1
    - Dst: umask
      Src: /src/mosquitto/libcommon/file_common.c:192,1
    - Dst: fopen
      Src: /src/mosquitto/libcommon/file_common.c:194,1
    - Dst: fstat
      Src: /src/mosquitto/libcommon/file_common.c:200,1
    - Dst: fileno
      Src: /src/mosquitto/libcommon/file_common.c:200,1
    - Dst: fclose
      Src: /src/mosquitto/libcommon/file_common.c:201,1
    - Dst: libcommon_printf
      Src: /src/mosquitto/libcommon/file_common.c:207,1
    - Dst: getuid
      Src: /src/mosquitto/libcommon/file_common.c:215,1
    - Dst: getpwuid_r
      Src: /src/mosquitto/libcommon/file_common.c:219,1
    - Dst: getuid
      Src: /src/mosquitto/libcommon/file_common.c:219,1
    - Dst: libcommon_printf
      Src: /src/mosquitto/libcommon/file_common.c:221,1
    - Dst: getgid
      Src: /src/mosquitto/libcommon/file_common.c:231,1
    - Dst: getgrgid_r
      Src: /src/mosquitto/libcommon/file_common.c:235,1
    - Dst: getgid
      Src: /src/mosquitto/libcommon/file_common.c:235,1
    - Dst: libcommon_printf
      Src: /src/mosquitto/libcommon/file_common.c:236,1
    - Dst: S_ISREG
      Src: /src/mosquitto/libcommon/file_common.c:247,1
    - Dst: libcommon_printf
      Src: /src/mosquitto/libcommon/file_common.c:248,1
    - Dst: fclose
      Src: /src/mosquitto/libcommon/file_common.c:249,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 124
    argCount: 3
    argNames:
    - path
    - mode
    - restrict_read
    argTypes:
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 254
    functionName: mosquitto_fopen
    functionSourceFile: /src/mosquitto/libcommon/file_common.c
    functionUses: 15
    functionsReached:
    - getgid
    - LocalFree
    - fstat
    - SetEntriesInAclA
    - umask
    - getgrgid_r
    - BuildExplicitAccessWithNameA
    - S_ISREG
    - fseek
    - SetSecurityDescriptorDacl
    - CreateFileA
    - getuid
    - fileno
    - InitializeSecurityDescriptor
    - libcommon_printf
    - _open_osfhandle
    - getpwuid_r
    - strlen
    - ExpandEnvironmentStringsA
    - open
    - _fdopen
    - GetUserNameA
    - fdopen
    - fclose
    - memset
    - _close
    - fopen
    linkageType: ''
    returnType: FILE
    signature: FILE *mosquitto_fopen(const char *path, const char *mode, bool restrict_read)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/mosquitto/libcommon/file_common.c:265,1
    - Dst: strlen
      Src: /src/mosquitto/libcommon/file_common.c:268,1
    - Dst: isspace
      Src: /src/mosquitto/libcommon/file_common.c:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 274
    functionName: mosquitto_trimblanks
    functionSourceFile: /src/mosquitto/libcommon/file_common.c
    functionUses: 9
    functionsReached:
    - strlen
    - isspace
    linkageType: ''
    returnType: char
    signature: char *mosquitto_trimblanks(char *str)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/mosquitto/libcommon/file_common.c:290,1
    - Dst: feof
      Src: /src/mosquitto/libcommon/file_common.c:291,1
    - Dst: strlen
      Src: /src/mosquitto/libcommon/file_common.c:295,1
    - Dst: realloc
      Src: /src/mosquitto/libcommon/file_common.c:311,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - buf
    - buflen
    - stream
    argTypes:
    - char**
    - int*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 317
    functionName: mosquitto_fgets
    functionSourceFile: /src/mosquitto/libcommon/file_common.c
    functionUses: 4
    functionsReached:
    - strlen
    - realloc
    - fgets
    - feof
    linkageType: ''
    returnType: char
    signature: char *mosquitto_fgets(char **buf, int *buflen, FILE *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - format
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 331
    functionName: INVOKE_LOG_FN
    functionSourceFile: /src/mosquitto/libcommon/file_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INVOKE_LOG_FN(format, ...)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/mosquitto/libcommon/file_common.c:343,1
    - Dst: unlink
      Src: /src/mosquitto/libcommon/file_common.c:368,1
    - Dst: INVOKE_LOG_FN
      Src: /src/mosquitto/libcommon/file_common.c:369,1
    - Dst: strerror
      Src: /src/mosquitto/libcommon/file_common.c:369,1
    - Dst: mosquitto_fopen
      Src: /src/mosquitto/libcommon/file_common.c:374,1
    - Dst: INVOKE_LOG_FN
      Src: /src/mosquitto/libcommon/file_common.c:376,1
    - Dst: strerror
      Src: /src/mosquitto/libcommon/file_common.c:376,1
    - Dst: fflush
      Src: /src/mosquitto/libcommon/file_common.c:407,1
    - Dst: INVOKE_LOG_FN
      Src: /src/mosquitto/libcommon/file_common.c:408,1
    - Dst: strerror
      Src: /src/mosquitto/libcommon/file_common.c:408,1
    - Dst: fsync
      Src: /src/mosquitto/libcommon/file_common.c:412,1
    - Dst: fileno
      Src: /src/mosquitto/libcommon/file_common.c:412,1
    - Dst: INVOKE_LOG_FN
      Src: /src/mosquitto/libcommon/file_common.c:413,1
    - Dst: strerror
      Src: /src/mosquitto/libcommon/file_common.c:413,1
    - Dst: fclose
      Src: /src/mosquitto/libcommon/file_common.c:418,1
    - Dst: INVOKE_LOG_FN
      Src: /src/mosquitto/libcommon/file_common.c:419,1
    - Dst: strerror
      Src: /src/mosquitto/libcommon/file_common.c:419,1
    - Dst: remove
      Src: /src/mosquitto/libcommon/file_common.c:426,1
    - Dst: INVOKE_LOG_FN
      Src: /src/mosquitto/libcommon/file_common.c:427,1
    - Dst: strerror
      Src: /src/mosquitto/libcommon/file_common.c:427,1
    - Dst: rename
      Src: /src/mosquitto/libcommon/file_common.c:432,1
    - Dst: INVOKE_LOG_FN
      Src: /src/mosquitto/libcommon/file_common.c:433,1
    - Dst: strerror
      Src: /src/mosquitto/libcommon/file_common.c:433,1
    - Dst: fclose
      Src: /src/mosquitto/libcommon/file_common.c:440,1
    - Dst: unlink
      Src: /src/mosquitto/libcommon/file_common.c:441,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 57
    argCount: 3
    argNames:
    - target_path
    - restrict_read
    - user_data
    argTypes:
    - char*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 444
    functionName: mosquitto_write_file
    functionSourceFile: /src/mosquitto/libcommon/file_common.c
    functionUses: 2
    functionsReached:
    - unlink
    - fsync
    - INVOKE_LOG_FN
    - snprintf
    - mosquitto_fopen
    - fclose
    - rename
    - fflush
    - fileno
    - strerror
    - remove
    linkageType: ''
    returnType: int
    signature: int mosquitto_write_file(const char *target_path, bool restrict_read,
      int (*write_fn)(FILE *fptr, void *user_data), void *user_data, void (*log_fn)(const
      char *msg))
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_fopen
      Src: /src/mosquitto/libcommon/file_common.c:457,1
    - Dst: fseek
      Src: /src/mosquitto/libcommon/file_common.c:462,1
    - Dst: ftell
      Src: /src/mosquitto/libcommon/file_common.c:463,1
    - Dst: fseek
      Src: /src/mosquitto/libcommon/file_common.c:464,1
    - Dst: fclose
      Src: /src/mosquitto/libcommon/file_common.c:466,1
    - Dst: fclose
      Src: /src/mosquitto/libcommon/file_common.c:469,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/libcommon/file_common.c:474,1
    - Dst: fclose
      Src: /src/mosquitto/libcommon/file_common.c:476,1
    - Dst: fread
      Src: /src/mosquitto/libcommon/file_common.c:479,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/libcommon/file_common.c:480,1
    - Dst: fclose
      Src: /src/mosquitto/libcommon/file_common.c:481,1
    - Dst: fclose
      Src: /src/mosquitto/libcommon/file_common.c:484,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 4
    argNames:
    - file
    - restrict_read
    - buf
    - buflen
    argTypes:
    - char*
    - bool
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 490
    functionName: mosquitto_read_file
    functionSourceFile: /src/mosquitto/libcommon/file_common.c
    functionUses: 1
    functionsReached:
    - fseek
    - mosquitto_FREE
    - mosquitto_calloc
    - ftell
    - fclose
    - mosquitto_fopen
    - fread
    linkageType: ''
    returnType: int
    signature: int mosquitto_read_file(const char *file, bool restrict_read, char
      **buf, size_t *buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lim
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: mosquitto_memory_set_limit
    functionSourceFile: /src/mosquitto/libcommon/memory_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mosquitto_memory_set_limit(size_t lim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: mosquitto_memory_used
    functionSourceFile: /src/mosquitto/libcommon/memory_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mosquitto_memory_used(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: mosquitto_max_memory_used
    functionSourceFile: /src/mosquitto/libcommon/memory_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mosquitto_max_memory_used(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: mosq__get_dummy_counter
    functionSourceFile: /src/mosquitto/libcommon/memory_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long mosq__get_dummy_counter(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mosquitto/libcommon/memory_common.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: set_alloc_marker
    functionSourceFile: /src/mosquitto/libcommon/memory_common.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void set_alloc_marker(char *mem, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/mosquitto/libcommon/memory_common.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: check_alloc_marker
    functionSourceFile: /src/mosquitto/libcommon/memory_common.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: bool
    signature: bool check_alloc_marker(char *mem, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/mosquitto/libcommon/memory_common.c:103,1
    - Dst: abort
      Src: /src/mosquitto/libcommon/memory_common.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mem
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: trigger_alloc_mismatch
    functionSourceFile: /src/mosquitto/libcommon/memory_common.c
    functionUses: 0
    functionsReached:
    - strncmp
    - abort
    linkageType: ''
    returnType: void
    signature: void trigger_alloc_mismatch(char *mem, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc_usable_size
      Src: /src/mosquitto/libcommon/memory_common.c:124,1
    - Dst: check_alloc_marker
      Src: /src/mosquitto/libcommon/memory_common.c:127,1
    - Dst: __libc_free
      Src: /src/mosquitto/libcommon/memory_common.c:129,1
    - Dst: trigger_alloc_mismatch
      Src: /src/mosquitto/libcommon/memory_common.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: free
    functionSourceFile: /src/mosquitto/libcommon/memory_common.c
    functionUses: 245
    functionsReached:
    - __libc_free
    - malloc_usable_size
    - check_alloc_marker
    - trigger_alloc_mismatch
    linkageType: ''
    returnType: void
    signature: void free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/libcommon/memory_common.c:144,1
    - Dst: UNUSED
      Src: /src/mosquitto/libcommon/memory_common.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mem
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: set_alloc_marker
    functionSourceFile: /src/mosquitto/libcommon/memory_common.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void set_alloc_marker(char *mem, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/mosquitto/libcommon/memory_common.c:162,1
    - Dst: malloc_usable_size
      Src: /src/mosquitto/libcommon/memory_common.c:164,1
    - Dst: set_alloc_marker
      Src: /src/mosquitto/libcommon/memory_common.c:169,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 173
    functionName: mosquitto_malloc
    functionSourceFile: /src/mosquitto/libcommon/memory_common.c
    functionUses: 54
    functionsReached:
    - malloc_usable_size
    - set_alloc_marker
    - malloc
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT *mosquitto_malloc(size_t size)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: malloc_usable_size
      Src: /src/mosquitto/libcommon/memory_common.c:179,1
    - Dst: check_alloc_marker
      Src: /src/mosquitto/libcommon/memory_common.c:182,1
    - Dst: realloc
      Src: /src/mosquitto/libcommon/memory_common.c:192,1
    - Dst: trigger_alloc_mismatch
      Src: /src/mosquitto/libcommon/memory_common.c:196,1
    - Dst: malloc_usable_size
      Src: /src/mosquitto/libcommon/memory_common.c:201,1
    - Dst: set_alloc_marker
      Src: /src/mosquitto/libcommon/memory_common.c:207,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 213
    functionName: mosquitto_realloc
    functionSourceFile: /src/mosquitto/libcommon/memory_common.c
    functionUses: 21
    functionsReached:
    - trigger_alloc_mismatch
    - realloc
    - malloc_usable_size
    - check_alloc_marker
    - set_alloc_marker
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT *mosquitto_realloc(void *ptr, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc_usable_size
      Src: /src/mosquitto/libcommon/memory_common.c:221,1
    - Dst: check_alloc_marker
      Src: /src/mosquitto/libcommon/memory_common.c:223,1
    - Dst: __libc_free
      Src: /src/mosquitto/libcommon/memory_common.c:225,1
    - Dst: free
      Src: /src/mosquitto/libcommon/memory_common.c:227,1
    - Dst: trigger_alloc_mismatch
      Src: /src/mosquitto/libcommon/memory_common.c:231,1
    - Dst: free
      Src: /src/mosquitto/libcommon/memory_common.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - mem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 242
    functionName: mosquitto_free
    functionSourceFile: /src/mosquitto/libcommon/memory_common.c
    functionUses: 67
    functionsReached:
    - __libc_free
    - trigger_alloc_mismatch
    - malloc_usable_size
    - check_alloc_marker
    - free
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_free(void *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/mosquitto/libcommon/memory_common.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: mosquitto_malloc
    functionSourceFile: /src/mosquitto/libcommon/memory_common.c
    functionUses: 54
    functionsReached:
    - malloc
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT *mosquitto_malloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/mosquitto/libcommon/memory_common.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: mosquitto_realloc
    functionSourceFile: /src/mosquitto/libcommon/memory_common.c
    functionUses: 21
    functionsReached:
    - realloc
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT *mosquitto_realloc(void *ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/mosquitto/libcommon/memory_common.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: mosquitto_free
    functionSourceFile: /src/mosquitto/libcommon/memory_common.c
    functionUses: 67
    functionsReached:
    - free
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_free(void *mem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/libcommon/memory_common.c:281,1
    - Dst: memset
      Src: /src/mosquitto/libcommon/memory_common.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - nmemb
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 286
    functionName: mosquitto_calloc
    functionSourceFile: /src/mosquitto/libcommon/memory_common.c
    functionUses: 87
    functionsReached:
    - memset
    - mosquitto_malloc
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT *mosquitto_calloc(size_t nmemb, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/libcommon/memory_common.c:292,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/libcommon/memory_common.c:294,1
    - Dst: memcpy
      Src: /src/mosquitto/libcommon/memory_common.c:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 299
    functionName: mosquitto_strdup
    functionSourceFile: /src/mosquitto/libcommon/memory_common.c
    functionUses: 85
    functionsReached:
    - memcpy
    - strlen
    - mosquitto_malloc
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT *mosquitto_strdup(const char *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strnlen
      Src: /src/mosquitto/libcommon/memory_common.c:305,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/libcommon/memory_common.c:310,1
    - Dst: memcpy
      Src: /src/mosquitto/libcommon/memory_common.c:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 316
    functionName: mosquitto_strndup
    functionSourceFile: /src/mosquitto/libcommon/memory_common.c
    functionUses: 2
    functionsReached:
    - strnlen
    - memcpy
    - mosquitto_malloc
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT *mosquitto_strndup(const char *s, size_t n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/mosquitto/libcommon/base64_common.c:39,1
    - Dst: BIO_f_base64
      Src: /src/mosquitto/libcommon/base64_common.c:39,1
    - Dst: BIO_set_flags
      Src: /src/mosquitto/libcommon/base64_common.c:44,1
    - Dst: BIO_new
      Src: /src/mosquitto/libcommon/base64_common.c:45,1
    - Dst: BIO_s_mem
      Src: /src/mosquitto/libcommon/base64_common.c:45,1
    - Dst: BIO_push
      Src: /src/mosquitto/libcommon/base64_common.c:47,1
    - Dst: BIO_write
      Src: /src/mosquitto/libcommon/base64_common.c:48,1
    - Dst: BIO_flush
      Src: /src/mosquitto/libcommon/base64_common.c:50,1
    - Dst: BIO_get_mem_ptr
      Src: /src/mosquitto/libcommon/base64_common.c:51,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/libcommon/base64_common.c:52,1
    - Dst: memcpy
      Src: /src/mosquitto/libcommon/base64_common.c:54,1
    - Dst: BIO_free_all
      Src: /src/mosquitto/libcommon/base64_common.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - in
    - in_len
    - encoded
    argTypes:
    - unsigned char*
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 63
    functionName: mosquitto_base64_encode
    functionSourceFile: /src/mosquitto/libcommon/base64_common.c
    functionUses: 5
    functionsReached:
    - BIO_flush
    - BIO_set_flags
    - BIO_s_mem
    - mosquitto_malloc
    - BIO_push
    - BIO_free_all
    - BIO_f_base64
    - memcpy
    - BIO_new
    - BIO_write
    - BIO_get_mem_ptr
    linkageType: ''
    returnType: int
    signature: int mosquitto_base64_encode(const unsigned char *in, size_t in_len,
      char **encoded)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/libcommon/base64_common.c:73,1
    - Dst: BIO_new
      Src: /src/mosquitto/libcommon/base64_common.c:75,1
    - Dst: BIO_f_base64
      Src: /src/mosquitto/libcommon/base64_common.c:75,1
    - Dst: BIO_set_flags
      Src: /src/mosquitto/libcommon/base64_common.c:80,1
    - Dst: BIO_new
      Src: /src/mosquitto/libcommon/base64_common.c:81,1
    - Dst: BIO_s_mem
      Src: /src/mosquitto/libcommon/base64_common.c:81,1
    - Dst: BIO_push
      Src: /src/mosquitto/libcommon/base64_common.c:83,1
    - Dst: BIO_write
      Src: /src/mosquitto/libcommon/base64_common.c:84,1
    - Dst: BIO_flush
      Src: /src/mosquitto/libcommon/base64_common.c:86,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/libcommon/base64_common.c:87,1
    - Dst: BIO_read
      Src: /src/mosquitto/libcommon/base64_common.c:90,1
    - Dst: mosquitto_free
      Src: /src/mosquitto/libcommon/base64_common.c:95,1
    - Dst: BIO_free_all
      Src: /src/mosquitto/libcommon/base64_common.c:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - in
    - decoded
    - decoded_len
    argTypes:
    - char*
    - unsigned char**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 104
    functionName: mosquitto_base64_decode
    functionSourceFile: /src/mosquitto/libcommon/base64_common.c
    functionUses: 2
    functionsReached:
    - BIO_flush
    - mosquitto_calloc
    - BIO_set_flags
    - BIO_s_mem
    - BIO_push
    - strlen
    - mosquitto_free
    - BIO_read
    - BIO_free_all
    - BIO_f_base64
    - BIO_new
    - BIO_write
    linkageType: ''
    returnType: int
    signature: int mosquitto_base64_decode(const char *in, unsigned char **decoded,
      unsigned int *decoded_len)
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: strerror
      Src: /src/mosquitto/libcommon/strings_common.c:76,1
    - Dst: mosquitto_reason_string
      Src: /src/mosquitto/libcommon/strings_common.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 111
    argCount: 1
    argNames:
    - mosq_errno
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 147
    functionName: mosquitto_strerror
    functionSourceFile: /src/mosquitto/libcommon/strings_common.c
    functionUses: 17
    functionsReached:
    - mosquitto_reason_string
    - strerror
    linkageType: ''
    returnType: char
    signature: char *mosquitto_strerror(int mosq_errno)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - connack_code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 168
    functionName: mosquitto_connack_string
    functionSourceFile: /src/mosquitto/libcommon/strings_common.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *mosquitto_connack_string(int connack_code)
  - BBCount: 45
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 91
    argCount: 1
    argNames:
    - reason_code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 264
    functionName: mosquitto_reason_string
    functionSourceFile: /src/mosquitto/libcommon/strings_common.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *mosquitto_reason_string(int reason_code)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/strings_common.c:269,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/strings_common.c:271,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/strings_common.c:273,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/strings_common.c:275,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/strings_common.c:277,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/strings_common.c:279,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/strings_common.c:281,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/strings_common.c:283,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/strings_common.c:285,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/strings_common.c:287,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/strings_common.c:289,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/strings_common.c:291,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/strings_common.c:293,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/strings_common.c:295,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 2
    argNames:
    - str
    - cmd
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 302
    functionName: mosquitto_string_to_command
    functionSourceFile: /src/mosquitto/libcommon/strings_common.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int mosquitto_string_to_command(const char *str, int *cmd)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - word
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 39
    functionName: mosquitto_varint_bytes
    functionSourceFile: /src/mosquitto/libcommon/mqtt_common.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int mosquitto_varint_bytes(uint32_t word)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/libcommon/property_common.c:41,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/libcommon/property_common.c:45,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/libcommon/property_common.c:49,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/libcommon/property_common.c:50,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/libcommon/property_common.c:61,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 62
    functionName: mosquitto_property_free
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 1
    functionsReached:
    - mosquitto_FREE
    linkageType: ''
    returnType: void
    signature: void mosquitto_property_free(mosquitto_property **property)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_free
      Src: /src/mosquitto/libcommon/property_common.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 80
    functionName: mosquitto_property_free_all
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 120
    functionsReached:
    - mosquitto_property_free
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_property_free_all(mosquitto_property **property)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 125
    functionName: mosquitto_property_get_length
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int mosquitto_property_get_length(const mosquitto_property
      *property)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_get_length
      Src: /src/mosquitto/libcommon/property_common.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 139
    functionName: mosquitto_property_get_length_all
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 19
    functionsReached:
    - mosquitto_property_get_length
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int mosquitto_property_get_length_all(const mosquitto_property
      *property)
  - BBCount: 40
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 78
    argCount: 2
    argNames:
    - command
    - identifier
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 233
    functionName: mosquitto_property_check_command
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_property_check_command(int command, int identifier)
  - BBCount: 29
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 59
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 296
    functionName: mosquitto_property_identifier_to_string
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT *mosquitto_property_identifier_to_string(int identifier)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/property_common.c:305,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/property_common.c:308,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/property_common.c:311,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/property_common.c:314,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/property_common.c:317,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/property_common.c:320,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/property_common.c:323,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/property_common.c:326,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/property_common.c:329,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/property_common.c:332,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/property_common.c:335,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/property_common.c:338,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/property_common.c:341,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/property_common.c:344,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/property_common.c:347,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/property_common.c:350,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/property_common.c:353,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/property_common.c:356,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/property_common.c:359,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/property_common.c:362,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/property_common.c:365,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/property_common.c:368,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/property_common.c:371,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/property_common.c:374,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/property_common.c:377,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/property_common.c:380,1
    - Dst: strcasecmp
      Src: /src/mosquitto/libcommon/property_common.c:383,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 115
    argCount: 3
    argNames:
    - propname
    - identifier
    - type
    argTypes:
    - char*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 390
    functionName: mosquitto_string_to_property_info
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 4
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_string_to_property_info(const char *propname,
      int *identifier, int *type)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - proplist
    - prop
    argTypes:
    - mosquitto_property**
    - struct mqtt5__property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 407
    functionName: property__add
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void property__add(mosquitto_property **proplist, struct mqtt5__property
      *prop)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/libcommon/property_common.c:428,1
    - Dst: property__add
      Src: /src/mosquitto/libcommon/property_common.c:438,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - proplist
    - identifier
    - value
    argTypes:
    - mosquitto_property**
    - int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 440
    functionName: mosquitto_property_add_byte
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 21
    functionsReached:
    - property__add
    - mosquitto_calloc
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_property_add_byte(mosquitto_property **proplist,
      int identifier, uint8_t value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/libcommon/property_common.c:457,1
    - Dst: property__add
      Src: /src/mosquitto/libcommon/property_common.c:467,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - proplist
    - identifier
    - value
    argTypes:
    - mosquitto_property**
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 469
    functionName: mosquitto_property_add_int16
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 17
    functionsReached:
    - property__add
    - mosquitto_calloc
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_property_add_int16(mosquitto_property **proplist,
      int identifier, uint16_t value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/libcommon/property_common.c:487,1
    - Dst: property__add
      Src: /src/mosquitto/libcommon/property_common.c:497,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - proplist
    - identifier
    - value
    argTypes:
    - mosquitto_property**
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 499
    functionName: mosquitto_property_add_int32
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 19
    functionsReached:
    - property__add
    - mosquitto_calloc
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_property_add_int32(mosquitto_property **proplist,
      int identifier, uint32_t value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/libcommon/property_common.c:513,1
    - Dst: property__add
      Src: /src/mosquitto/libcommon/property_common.c:523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - proplist
    - identifier
    - value
    argTypes:
    - mosquitto_property**
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 525
    functionName: mosquitto_property_add_varint
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 8
    functionsReached:
    - property__add
    - mosquitto_calloc
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_property_add_varint(mosquitto_property **proplist,
      int identifier, uint32_t value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/libcommon/property_common.c:541,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/libcommon/property_common.c:551,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/libcommon/property_common.c:553,1
    - Dst: memcpy
      Src: /src/mosquitto/libcommon/property_common.c:557,1
    - Dst: property__add
      Src: /src/mosquitto/libcommon/property_common.c:561,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - proplist
    - identifier
    - value
    - len
    argTypes:
    - mosquitto_property**
    - int
    - void*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 563
    functionName: mosquitto_property_add_binary
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 16
    functionsReached:
    - mosquitto_FREE
    - mosquitto_calloc
    - mosquitto_malloc
    - memcpy
    - property__add
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_property_add_binary(mosquitto_property **proplist,
      int identifier, const void *value, uint16_t len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/libcommon/property_common.c:575,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/libcommon/property_common.c:576,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/libcommon/property_common.c:592,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/libcommon/property_common.c:601,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/libcommon/property_common.c:603,1
    - Dst: property__add
      Src: /src/mosquitto/libcommon/property_common.c:609,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 3
    argNames:
    - proplist
    - identifier
    - value
    argTypes:
    - mosquitto_property**
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 611
    functionName: mosquitto_property_add_string
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 21
    functionsReached:
    - mosquitto_strdup
    - mosquitto_FREE
    - mosquitto_calloc
    - strlen
    - mosquitto_validate_utf8
    - property__add
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_property_add_string(mosquitto_property **proplist,
      int identifier, const char *value)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/libcommon/property_common.c:626,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/libcommon/property_common.c:627,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/libcommon/property_common.c:632,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/libcommon/property_common.c:637,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/libcommon/property_common.c:647,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/libcommon/property_common.c:649,1
    - Dst: strlen
      Src: /src/mosquitto/libcommon/property_common.c:652,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/libcommon/property_common.c:656,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/libcommon/property_common.c:658,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/libcommon/property_common.c:659,1
    - Dst: strlen
      Src: /src/mosquitto/libcommon/property_common.c:662,1
    - Dst: property__add
      Src: /src/mosquitto/libcommon/property_common.c:665,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 4
    argNames:
    - proplist
    - identifier
    - name
    - value
    argTypes:
    - mosquitto_property**
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 667
    functionName: mosquitto_property_add_string_pair
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 17
    functionsReached:
    - mosquitto_strdup
    - mosquitto_FREE
    - mosquitto_calloc
    - strlen
    - mosquitto_validate_utf8
    - property__add
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_property_add_string_pair(mosquitto_property
      **proplist, int identifier, const char *name, const char *value)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_pub_topic_check
      Src: /src/mosquitto/libcommon/property_common.c:702,1
    - Dst: mosquitto_property_check_command
      Src: /src/mosquitto/libcommon/property_common.c:708,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 39
    argCount: 2
    argNames:
    - command
    - properties
    argTypes:
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 728
    functionName: mosquitto_property_check_all
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 10
    functionsReached:
    - mosquitto_property_check_command
    - mosquitto_pub_topic_check
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_property_check_all(int command, const mosquitto_property
      *properties)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - proplist
    - identifier
    - skip_first
    argTypes:
    - mosquitto_property*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 748
    functionName: property__get_property
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mosquitto_property
    signature: mosquitto_property *property__get_property(const mosquitto_property
      *proplist, int identifier, bool skip_first)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 758
    functionName: mosquitto_property_identifier
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_property_identifier(const mosquitto_property
      *property)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 768
    functionName: mosquitto_property_type
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_property_type(const mosquitto_property *property)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 778
    functionName: mosquitto_property *mosquitto_property_next(const mosquitto_property
      *proplist)
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_property *mosquitto_property_next(const mosquitto_property
      *proplist)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: property__get_property
      Src: /src/mosquitto/libcommon/property_common.c:788,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 808
    functionName: mosquitto_property *mosquitto_property_read_byte(const mosquitto_property
      *proplist, int identifier, uint8_t *value, bool skip_first)
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 0
    functionsReached:
    - property__get_property
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_property *mosquitto_property_read_byte(const
      mosquitto_property *proplist, int identifier, uint8_t *value, bool skip_first)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: property__get_property
      Src: /src/mosquitto/libcommon/property_common.c:818,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 811
    functionDepth: 1
    functionLinenumber: 811
    functionLinenumberEnd: 834
    functionName: mosquitto_property *mosquitto_property_read_int16(const mosquitto_property
      *proplist, int identifier, uint16_t *value, bool skip_first)
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 0
    functionsReached:
    - property__get_property
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_property *mosquitto_property_read_int16(const
      mosquitto_property *proplist, int identifier, uint16_t *value, bool skip_first)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: property__get_property
      Src: /src/mosquitto/libcommon/property_common.c:844,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 861
    functionName: mosquitto_property *mosquitto_property_read_int32(const mosquitto_property
      *proplist, int identifier, uint32_t *value, bool skip_first)
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 0
    functionsReached:
    - property__get_property
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_property *mosquitto_property_read_int32(const
      mosquitto_property *proplist, int identifier, uint32_t *value, bool skip_first)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: property__get_property
      Src: /src/mosquitto/libcommon/property_common.c:871,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 884
    functionName: mosquitto_property *mosquitto_property_read_varint(const mosquitto_property
      *proplist, int identifier, uint32_t *value, bool skip_first)
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 0
    functionsReached:
    - property__get_property
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_property *mosquitto_property_read_varint(const
      mosquitto_property *proplist, int identifier, uint32_t *value, bool skip_first)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: property__get_property
      Src: /src/mosquitto/libcommon/property_common.c:898,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/libcommon/property_common.c:911,1
    - Dst: memcpy
      Src: /src/mosquitto/libcommon/property_common.c:916,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 923
    functionName: mosquitto_property *mosquitto_property_read_binary(const mosquitto_property
      *proplist, int identifier, void **value, uint16_t *len, bool skip_first)
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 0
    functionsReached:
    - memcpy
    - mosquitto_calloc
    - property__get_property
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_property *mosquitto_property_read_binary(const
      mosquitto_property *proplist, int identifier, void **value, uint16_t *len, bool
      skip_first)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: property__get_property
      Src: /src/mosquitto/libcommon/property_common.c:933,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/libcommon/property_common.c:950,1
    - Dst: memcpy
      Src: /src/mosquitto/libcommon/property_common.c:955,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 962
    functionName: mosquitto_property *mosquitto_property_read_string(const mosquitto_property
      *proplist, int identifier, char **value, bool skip_first)
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 0
    functionsReached:
    - memcpy
    - mosquitto_calloc
    - property__get_property
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_property *mosquitto_property_read_string(const
      mosquitto_property *proplist, int identifier, char **value, bool skip_first)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: property__get_property
      Src: /src/mosquitto/libcommon/property_common.c:979,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/libcommon/property_common.c:989,1
    - Dst: memcpy
      Src: /src/mosquitto/libcommon/property_common.c:993,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/libcommon/property_common.c:1001,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/libcommon/property_common.c:1004,1
    - Dst: memcpy
      Src: /src/mosquitto/libcommon/property_common.c:1008,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 1015
    functionName: mosquitto_property *mosquitto_property_read_string_pair(const mosquitto_property
      *proplist, int identifier, char **name, char **value, bool skip_first)
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 0
    functionsReached:
    - memcpy
    - mosquitto_calloc
    - mosquitto_FREE
    - property__get_property
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_property *mosquitto_property_read_string_pair(const
      mosquitto_property *proplist, int identifier, char **name, char **value, bool
      skip_first)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - proplist
    - property
    argTypes:
    - mosquitto_property**
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1042
    functionName: mosquitto_property_remove
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_property_remove(mosquitto_property **proplist,
      const mosquitto_property *property)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/libcommon/property_common.c:1059,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/libcommon/property_common.c:1061,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/libcommon/property_common.c:1093,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/libcommon/property_common.c:1093,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/libcommon/property_common.c:1095,1
    - Dst: mosquitto_malloc
      Src: /src/mosquitto/libcommon/property_common.c:1103,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/libcommon/property_common.c:1105,1
    - Dst: memcpy
      Src: /src/mosquitto/libcommon/property_common.c:1108,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/libcommon/property_common.c:1114,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/libcommon/property_common.c:1114,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/libcommon/property_common.c:1116,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/libcommon/property_common.c:1121,1
    - Dst: mosquitto_calloc
      Src: /src/mosquitto/libcommon/property_common.c:1121,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/libcommon/property_common.c:1123,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/libcommon/property_common.c:1129,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/libcommon/property_common.c:1133,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 76
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - mosquitto_property**
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1137
    functionName: mosquitto_property_copy_all
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 17
    functionsReached:
    - mosquitto_strdup
    - mosquitto_calloc
    - mosquitto_malloc
    - memcpy
    - mosquitto_property_next
    - mosquitto_property_free_all
    linkageType: ''
    returnType: BROKER_EXPORT
    signature: BROKER_EXPORT mosquitto_property_copy_all(mosquitto_property **dest,
      const mosquitto_property *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1147
    functionName: mosquitto_property_byte_value
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t mosquitto_property_byte_value(const mosquitto_property *property)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1157
    functionName: mosquitto_property_int16_value
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t mosquitto_property_int16_value(const mosquitto_property *property)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1167
    functionName: mosquitto_property_int32_value
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mosquitto_property_int32_value(const mosquitto_property *property)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1177
    functionName: mosquitto_property_varint_value
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mosquitto_property_varint_value(const mosquitto_property *property)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1187
    functionName: mosquitto_property_binary_value
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *mosquitto_property_binary_value(const mosquitto_property *property)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1197
    functionName: mosquitto_property_binary_value_length
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t mosquitto_property_binary_value_length(const mosquitto_property
      *property)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1207
    functionName: mosquitto_property_string_value
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *mosquitto_property_string_value(const mosquitto_property *property)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1217
    functionName: mosquitto_property_string_value_length
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t mosquitto_property_string_value_length(const mosquitto_property
      *property)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1227
    functionName: mosquitto_property_string_name
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *mosquitto_property_string_name(const mosquitto_property *property)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - property
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1237
    functionName: mosquitto_property_string_name_length
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t mosquitto_property_string_name_length(const mosquitto_property
      *property)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_property_get_length_all
      Src: /src/mosquitto/libcommon/property_common.c:1246,1
    - Dst: mosquitto_varint_bytes
      Src: /src/mosquitto/libcommon/property_common.c:1247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - props
    argTypes:
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1249
    functionName: mosquitto_property_get_remaining_length
    functionSourceFile: /src/mosquitto/libcommon/property_common.c
    functionUses: 15
    functionsReached:
    - mosquitto_varint_bytes
    - mosquitto_property_get_length_all
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int mosquitto_property_get_remaining_length(const mosquitto_property
      *props)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/examples/subscribe/basic-1.c:21,1
    - Dst: mosquitto_connack_string
      Src: /src/mosquitto/examples/subscribe/basic-1.c:21,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/examples/subscribe/basic-1.c:26,1
    - Dst: mosquitto_subscribe
      Src: /src/mosquitto/examples/subscribe/basic-1.c:32,1
    - Dst: fprintf
      Src: /src/mosquitto/examples/subscribe/basic-1.c:34,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/examples/subscribe/basic-1.c:34,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/examples/subscribe/basic-1.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - mosq
    - obj
    - reason_code
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 38
    functionName: on_connect
    functionSourceFile: /src/mosquitto/examples/subscribe/basic-1.c
    functionUses: 16
    functionsReached:
    - fprintf
    - mosquitto_disconnect
    - mosquitto_connack_string
    - mosquitto_strerror
    - printf
    - mosquitto_subscribe
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int reason_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/examples/subscribe/basic-1.c:51,1
    - Dst: fprintf
      Src: /src/mosquitto/examples/subscribe/basic-1.c:59,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/examples/subscribe/basic-1.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - mosq
    - obj
    - mid
    - qos_count
    - granted_qos
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 62
    functionName: on_subscribe
    functionSourceFile: /src/mosquitto/examples/subscribe/basic-1.c
    functionUses: 7
    functionsReached:
    - fprintf
    - printf
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_subscribe(struct mosquitto *mosq, void *obj, int mid, int qos_count,
      const int *granted_qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/examples/subscribe/basic-1.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mosq
    - obj
    - msg
    argTypes:
    - struct mosquitto*
    - void*
    - struct mosquitto_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: on_message
    functionSourceFile: /src/mosquitto/examples/subscribe/basic-1.c
    functionUses: 12
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void on_message(struct mosquitto *mosq, void *obj, const struct mosquitto_message
      *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/examples/subscribe/basic-1.c:79,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/examples/subscribe/basic-1.c:86,1
    - Dst: fprintf
      Src: /src/mosquitto/examples/subscribe/basic-1.c:88,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/examples/subscribe/basic-1.c:93,1
    - Dst: mosquitto_subscribe_callback_set
      Src: /src/mosquitto/examples/subscribe/basic-1.c:94,1
    - Dst: mosquitto_message_callback_set
      Src: /src/mosquitto/examples/subscribe/basic-1.c:95,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/examples/subscribe/basic-1.c:101,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/examples/subscribe/basic-1.c:103,1
    - Dst: fprintf
      Src: /src/mosquitto/examples/subscribe/basic-1.c:104,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/examples/subscribe/basic-1.c:104,1
    - Dst: mosquitto_loop_forever
      Src: /src/mosquitto/examples/subscribe/basic-1.c:114,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/examples/subscribe/basic-1.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 118
    functionName: main
    functionSourceFile: /src/mosquitto/examples/subscribe/basic-1.c
    functionUses: 98
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_message_callback_set
    - mosquitto_subscribe_callback_set
    - fprintf
    - mosquitto_lib_init
    - mosquitto_strerror
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - mosquitto_loop_forever
    - mosquitto_connect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 15
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/examples/publish/basic-websockets-1.c
    functionUses: 424
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:21,1
    - Dst: printf
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:27,1
    - Dst: mosquitto_connack_string
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:27,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - mosq
    - obj
    - reason_code
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 37
    functionName: on_connect
    functionSourceFile: /src/mosquitto/examples/publish/basic-websockets-1.c
    functionUses: 16
    functionsReached:
    - mosquitto_connack_string
    - UNUSED
    - printf
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int reason_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:47,1
    - Dst: UNUSED
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:48,1
    - Dst: printf
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - mid
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: on_publish
    functionSourceFile: /src/mosquitto/examples/publish/basic-websockets-1.c
    functionUses: 7
    functionsReached:
    - UNUSED
    - printf
    linkageType: ''
    returnType: void
    signature: void on_publish(struct mosquitto *mosq, void *obj, int mid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sleep
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:56,1
    - Dst: random
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: get_temperature
    functionSourceFile: /src/mosquitto/examples/publish/basic-websockets-1.c
    functionUses: 0
    functionsReached:
    - random
    - sleep
    linkageType: ''
    returnType: int
    signature: int get_temperature(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_temperature
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:69,1
    - Dst: snprintf
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:72,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:83,1
    - Dst: strlen
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:83,1
    - Dst: fprintf
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:85,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 87
    functionName: publish_sensor_data
    functionSourceFile: /src/mosquitto/examples/publish/basic-websockets-1.c
    functionUses: 0
    functionsReached:
    - get_temperature
    - fprintf
    - snprintf
    - mosquitto_strerror
    - mosquitto_publish
    - strlen
    linkageType: ''
    returnType: void
    signature: void publish_sensor_data(struct mosquitto *mosq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:95,1
    - Dst: UNUSED
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:96,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:99,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:106,1
    - Dst: fprintf
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:108,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:111,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:114,1
    - Dst: mosquitto_publish_callback_set
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:115,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:121,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:123,1
    - Dst: fprintf
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:124,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:124,1
    - Dst: mosquitto_loop_start
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:129,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:131,1
    - Dst: fprintf
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:132,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:132,1
    - Dst: publish_sensor_data
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:144,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/examples/publish/basic-websockets-1.c:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 149
    functionName: main
    functionSourceFile: /src/mosquitto/examples/publish/basic-websockets-1.c
    functionUses: 98
    functionsReached:
    - mosquitto_publish_callback_set
    - mosquitto_loop_start
    - mosquitto_lib_cleanup
    - mosquitto_int_option
    - fprintf
    - mosquitto_lib_init
    - publish_sensor_data
    - mosquitto_strerror
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - UNUSED
    - mosquitto_connect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 13
    functionName: UNUSED
    functionSourceFile: /src/mosquitto/examples/publish/basic-1.c
    functionUses: 427
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(A)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/examples/publish/basic-1.c:19,1
    - Dst: printf
      Src: /src/mosquitto/examples/publish/basic-1.c:25,1
    - Dst: mosquitto_connack_string
      Src: /src/mosquitto/examples/publish/basic-1.c:25,1
    - Dst: mosquitto_disconnect
      Src: /src/mosquitto/examples/publish/basic-1.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - mosq
    - obj
    - reason_code
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 35
    functionName: on_connect
    functionSourceFile: /src/mosquitto/examples/publish/basic-1.c
    functionUses: 16
    functionsReached:
    - mosquitto_connack_string
    - UNUSED
    - printf
    - mosquitto_disconnect
    linkageType: ''
    returnType: void
    signature: void on_connect(struct mosquitto *mosq, void *obj, int reason_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/examples/publish/basic-1.c:45,1
    - Dst: UNUSED
      Src: /src/mosquitto/examples/publish/basic-1.c:46,1
    - Dst: printf
      Src: /src/mosquitto/examples/publish/basic-1.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mosq
    - obj
    - mid
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: on_publish
    functionSourceFile: /src/mosquitto/examples/publish/basic-1.c
    functionUses: 7
    functionsReached:
    - UNUSED
    - printf
    linkageType: ''
    returnType: void
    signature: void on_publish(struct mosquitto *mosq, void *obj, int mid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sleep
      Src: /src/mosquitto/examples/publish/basic-1.c:54,1
    - Dst: random
      Src: /src/mosquitto/examples/publish/basic-1.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: get_temperature
    functionSourceFile: /src/mosquitto/examples/publish/basic-1.c
    functionUses: 1
    functionsReached:
    - random
    - sleep
    linkageType: ''
    returnType: int
    signature: int get_temperature(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_temperature
      Src: /src/mosquitto/examples/publish/basic-1.c:67,1
    - Dst: snprintf
      Src: /src/mosquitto/examples/publish/basic-1.c:70,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/examples/publish/basic-1.c:81,1
    - Dst: strlen
      Src: /src/mosquitto/examples/publish/basic-1.c:81,1
    - Dst: fprintf
      Src: /src/mosquitto/examples/publish/basic-1.c:83,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/examples/publish/basic-1.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 85
    functionName: publish_sensor_data
    functionSourceFile: /src/mosquitto/examples/publish/basic-1.c
    functionUses: 1
    functionsReached:
    - get_temperature
    - fprintf
    - snprintf
    - mosquitto_strerror
    - mosquitto_publish
    - strlen
    linkageType: ''
    returnType: void
    signature: void publish_sensor_data(struct mosquitto *mosq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/examples/publish/basic-1.c:93,1
    - Dst: UNUSED
      Src: /src/mosquitto/examples/publish/basic-1.c:94,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/examples/publish/basic-1.c:97,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/examples/publish/basic-1.c:104,1
    - Dst: fprintf
      Src: /src/mosquitto/examples/publish/basic-1.c:106,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/examples/publish/basic-1.c:111,1
    - Dst: mosquitto_publish_callback_set
      Src: /src/mosquitto/examples/publish/basic-1.c:112,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/examples/publish/basic-1.c:118,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/examples/publish/basic-1.c:120,1
    - Dst: fprintf
      Src: /src/mosquitto/examples/publish/basic-1.c:121,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/examples/publish/basic-1.c:121,1
    - Dst: mosquitto_loop_start
      Src: /src/mosquitto/examples/publish/basic-1.c:126,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/examples/publish/basic-1.c:128,1
    - Dst: fprintf
      Src: /src/mosquitto/examples/publish/basic-1.c:129,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/examples/publish/basic-1.c:129,1
    - Dst: publish_sensor_data
      Src: /src/mosquitto/examples/publish/basic-1.c:141,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/examples/publish/basic-1.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 146
    functionName: main
    functionSourceFile: /src/mosquitto/examples/publish/basic-1.c
    functionUses: 98
    functionsReached:
    - mosquitto_publish_callback_set
    - mosquitto_loop_start
    - mosquitto_lib_cleanup
    - fprintf
    - mosquitto_lib_init
    - publish_sensor_data
    - mosquitto_strerror
    - mosquitto_new
    - mosquitto_connect
    - mosquitto_destroy
    - UNUSED
    - mosquitto_connect_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/mosquitto/examples/temperature_conversion/temperature_conversion.cpp:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - id
    - host
    - port
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 14
    functionName: mqtt_tempconv::mqtt_tempconv
    functionSourceFile: /src/mosquitto/examples/temperature_conversion/temperature_conversion.cpp
    functionUses: 0
    functionsReached:
    - connect
    linkageType: ''
    returnType: void
    signature: void mqtt_tempconv::mqtt_tempconv(const char *id, const char *host,
      int port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: mqtt_tempconv::~mqtt_tempconv()
    functionSourceFile: /src/mosquitto/examples/temperature_conversion/temperature_conversion.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mqtt_tempconv::~mqtt_tempconv()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/examples/temperature_conversion/temperature_conversion.cpp:23,1
    - Dst: subscribe
      Src: /src/mosquitto/examples/temperature_conversion/temperature_conversion.cpp:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rc
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: mqtt_tempconv::on_connect
    functionSourceFile: /src/mosquitto/examples/temperature_conversion/temperature_conversion.cpp
    functionUses: 0
    functionsReached:
    - subscribe
    - printf
    linkageType: ''
    returnType: void
    signature: void mqtt_tempconv::on_connect(int rc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/examples/temperature_conversion/temperature_conversion.cpp:36,1
    - Dst: memset
      Src: /src/mosquitto/examples/temperature_conversion/temperature_conversion.cpp:37,1
    - Dst: memcpy
      Src: /src/mosquitto/examples/temperature_conversion/temperature_conversion.cpp:39,1
    - Dst: atof
      Src: /src/mosquitto/examples/temperature_conversion/temperature_conversion.cpp:40,1
    - Dst: snprintf
      Src: /src/mosquitto/examples/temperature_conversion/temperature_conversion.cpp:42,1
    - Dst: publish
      Src: /src/mosquitto/examples/temperature_conversion/temperature_conversion.cpp:43,1
    - Dst: strlen
      Src: /src/mosquitto/examples/temperature_conversion/temperature_conversion.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - message
    argTypes:
    - struct mosquitto_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: mqtt_tempconv::on_message
    functionSourceFile: /src/mosquitto/examples/temperature_conversion/temperature_conversion.cpp
    functionUses: 0
    functionsReached:
    - atof
    - snprintf
    - strlen
    - memset
    - strcmp
    - memcpy
    - publish
    linkageType: ''
    returnType: void
    signature: void mqtt_tempconv::on_message(const struct mosquitto_message *message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/examples/temperature_conversion/temperature_conversion.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mid
    - qos_count
    - granted_qos
    argTypes:
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: mqtt_tempconv::on_subscribe
    functionSourceFile: /src/mosquitto/examples/temperature_conversion/temperature_conversion.cpp
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void mqtt_tempconv::on_subscribe(int mid, int qos_count, const int
      *granted_qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosqpp::lib_init
      Src: /src/mosquitto/examples/temperature_conversion/main.cpp:9,1
    - Dst: mqtt_tempconv::mqtt_tempconv
      Src: /src/mosquitto/examples/temperature_conversion/main.cpp:11,1
    - Dst: class mqtt_tempconv*::loop_forever
      Src: /src/mosquitto/examples/temperature_conversion/main.cpp:12,1
    - Dst: mosqpp::lib_cleanup
      Src: /src/mosquitto/examples/temperature_conversion/main.cpp:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 17
    functionName: main
    functionSourceFile: /src/mosquitto/examples/temperature_conversion/main.cpp
    functionUses: 98
    functionsReached:
    - mosqpp::lib_init
    - mqtt_tempconv::mqtt_tempconv
    - mosqpp::lib_cleanup
    - class mqtt_tempconv*::loop_forever
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/examples/subscribe_simple/callback.c:8,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mosq
    - userdata
    - msg
    argTypes:
    - struct mosquitto*
    - void*
    - struct mosquitto_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 10
    functionName: on_message
    functionSourceFile: /src/mosquitto/examples/subscribe_simple/callback.c
    functionUses: 12
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int on_message(struct mosquitto *mosq, void *userdata, const struct
      mosquitto_message *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/examples/subscribe_simple/callback.c:17,1
    - Dst: mosquitto_subscribe_callback
      Src: /src/mosquitto/examples/subscribe_simple/callback.c:19,1
    - Dst: printf
      Src: /src/mosquitto/examples/subscribe_simple/callback.c:28,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/examples/subscribe_simple/callback.c:28,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/examples/subscribe_simple/callback.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/mosquitto/examples/subscribe_simple/callback.c
    functionUses: 98
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_subscribe_callback
    - mosquitto_lib_init
    - mosquitto_strerror
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/examples/subscribe_simple/multiple.c:14,1
    - Dst: mosquitto_subscribe_simple
      Src: /src/mosquitto/examples/subscribe_simple/multiple.c:16,1
    - Dst: printf
      Src: /src/mosquitto/examples/subscribe_simple/multiple.c:25,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/examples/subscribe_simple/multiple.c:25,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/examples/subscribe_simple/multiple.c:26,1
    - Dst: printf
      Src: /src/mosquitto/examples/subscribe_simple/multiple.c:31,1
    - Dst: mosquitto_message_free_contents
      Src: /src/mosquitto/examples/subscribe_simple/multiple.c:32,1
    - Dst: free
      Src: /src/mosquitto/examples/subscribe_simple/multiple.c:34,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/examples/subscribe_simple/multiple.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 8
    functionDepth: 2
    functionLinenumber: 8
    functionLinenumberEnd: 39
    functionName: main
    functionSourceFile: /src/mosquitto/examples/subscribe_simple/multiple.c
    functionUses: 98
    functionsReached:
    - mosquitto_message_free_contents
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - mosquitto_strerror
    - printf
    - mosquitto_subscribe_simple
    - free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/examples/subscribe_simple/single.c:11,1
    - Dst: mosquitto_subscribe_simple
      Src: /src/mosquitto/examples/subscribe_simple/single.c:13,1
    - Dst: printf
      Src: /src/mosquitto/examples/subscribe_simple/single.c:22,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/examples/subscribe_simple/single.c:22,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/examples/subscribe_simple/single.c:23,1
    - Dst: printf
      Src: /src/mosquitto/examples/subscribe_simple/single.c:27,1
    - Dst: mosquitto_message_free
      Src: /src/mosquitto/examples/subscribe_simple/single.c:28,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/examples/subscribe_simple/single.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/mosquitto/examples/subscribe_simple/single.c
    functionUses: 98
    functionsReached:
    - mosquitto_lib_cleanup
    - mosquitto_lib_init
    - mosquitto_strerror
    - mosquitto_message_free
    - printf
    - mosquitto_subscribe_simple
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: handle_signal
    functionSourceFile: /src/mosquitto/examples/mysql_log/mysql_log.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void handle_signal(int s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - mosq
    - obj
    - result
    argTypes:
    - struct mosquitto*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: connect_callback
    functionSourceFile: /src/mosquitto/examples/mysql_log/mysql_log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void connect_callback(struct mosquitto *mosq, void *obj, int result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:45,1
    - Dst: strlen
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:49,1
    - Dst: mysql_stmt_bind_param
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:57,1
    - Dst: mysql_stmt_execute
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - mosq
    - obj
    - message
    argTypes:
    - struct mosquitto*
    - void*
    - struct mosquitto_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 59
    functionName: message_callback
    functionSourceFile: /src/mosquitto/examples/mysql_log/mysql_log.c
    functionUses: 0
    functionsReached:
    - strlen
    - mysql_stmt_execute
    - memset
    - mysql_stmt_bind_param
    linkageType: ''
    returnType: void
    signature: void message_callback(struct mosquitto *mosq, void *obj, const struct
      mosquitto_message *message)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:70,1
    - Dst: signal
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:71,1
    - Dst: mysql_library_init
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:73,1
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:74,1
    - Dst: mysql_init
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:76,1
    - Dst: mysql_options
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:79,1
    - Dst: mysql_real_connect
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:81,1
    - Dst: mysql_stmt_init
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:84,1
    - Dst: mysql_stmt_prepare
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:86,1
    - Dst: strlen
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:86,1
    - Dst: memset
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:88,1
    - Dst: snprintf
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:89,1
    - Dst: getpid
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:89,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:90,1
    - Dst: mosquitto_connect_callback_set
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:92,1
    - Dst: mosquitto_message_callback_set
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:93,1
    - Dst: mosquitto_connect
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:96,1
    - Dst: mosquitto_subscribe
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:98,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:101,1
    - Dst: sleep
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:103,1
    - Dst: mosquitto_reconnect
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:104,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:107,1
    - Dst: mysql_stmt_close
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:109,1
    - Dst: mysql_close
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:111,1
    - Dst: fprintf
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:113,1
    - Dst: printf
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:114,1
    - Dst: mysql_error
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:114,1
    - Dst: fprintf
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:118,1
    - Dst: mysql_library_end
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:122,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/examples/mysql_log/mysql_log.c:123,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 126
    functionName: main
    functionSourceFile: /src/mosquitto/examples/mysql_log/mysql_log.c
    functionUses: 98
    functionsReached:
    - mysql_real_connect
    - mysql_options
    - printf
    - mosquitto_destroy
    - mosquitto_connect_callback_set
    - mysql_library_init
    - mosquitto_lib_cleanup
    - mysql_init
    - mysql_stmt_prepare
    - mosquitto_lib_init
    - mysql_error
    - signal
    - mosquitto_new
    - mysql_stmt_close
    - mosquitto_reconnect
    - fprintf
    - strlen
    - mosquitto_subscribe
    - mosquitto_loop
    - getpid
    - mosquitto_message_callback_set
    - snprintf
    - mysql_library_end
    - mysql_stmt_init
    - mosquitto_connect
    - memset
    - sleep
    - mysql_close
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/mosquitto/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp:40,1
    - Dst: strdup
      Src: /src/mosquitto/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp:41,1
    - Dst: strdup
      Src: /src/mosquitto/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp:43,1
    - Dst: strdup
      Src: /src/mosquitto/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp:44,1
    - Dst: mosquitto_passwd_fuzz_main
      Src: /src/mosquitto/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp:46,1
    - Dst: free
      Src: /src/mosquitto/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp:48,1
    - Dst: free
      Src: /src/mosquitto/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp:49,1
    - Dst: free
      Src: /src/mosquitto/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp:50,1
    - Dst: free
      Src: /src/mosquitto/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 52
    functionName: run_mosquitto_passwd
    functionSourceFile: /src/mosquitto/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp
    functionUses: 0
    functionsReached:
    - strdup
    - free
    - mosquitto_passwd_fuzz_main
    linkageType: ''
    returnType: void
    signature: void run_mosquitto_passwd(char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: umask
      Src: /src/mosquitto/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp:60,1
    - Dst: snprintf
      Src: /src/mosquitto/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp:62,1
    - Dst: getpid
      Src: /src/mosquitto/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp:62,1
    - Dst: fopen
      Src: /src/mosquitto/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp:63,1
    - Dst: fwrite
      Src: /src/mosquitto/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp:67,1
    - Dst: fclose
      Src: /src/mosquitto/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp:68,1
    - Dst: run_mosquitto_passwd
      Src: /src/mosquitto/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp:70,1
    - Dst: unlink
      Src: /src/mosquitto/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 75
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/mosquitto/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp
    functionUses: 1
    functionsReached:
    - unlink
    - fwrite
    - snprintf
    - umask
    - fclose
    - run_mosquitto_passwd
    - fopen
    - getpid
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_stats.cpp:40,1
    - Dst: strdup
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_stats.cpp:41,1
    - Dst: db_dump_fuzz_main
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_stats.cpp:44,1
    - Dst: free
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_stats.cpp:46,1
    - Dst: free
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_stats.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: run_db_dump
    functionSourceFile: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_stats.cpp
    functionUses: 0
    functionsReached:
    - strdup
    - free
    - db_dump_fuzz_main
    linkageType: ''
    returnType: void
    signature: void run_db_dump(char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: umask
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_stats.cpp:56,1
    - Dst: snprintf
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_stats.cpp:58,1
    - Dst: getpid
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_stats.cpp:58,1
    - Dst: fopen
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_stats.cpp:59,1
    - Dst: fwrite
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_stats.cpp:63,1
    - Dst: fclose
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_stats.cpp:64,1
    - Dst: run_db_dump
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_stats.cpp:66,1
    - Dst: unlink
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_stats.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 71
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_stats.cpp
    functionUses: 1
    functionsReached:
    - run_db_dump
    - unlink
    - fwrite
    - snprintf
    - umask
    - fclose
    - fopen
    - getpid
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load.cpp:40,1
    - Dst: db_dump_fuzz_main
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load.cpp:43,1
    - Dst: free
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load.cpp:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: run_db_dump
    functionSourceFile: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load.cpp
    functionUses: 1
    functionsReached:
    - strdup
    - free
    - db_dump_fuzz_main
    linkageType: ''
    returnType: void
    signature: void run_db_dump(char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: umask
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load.cpp:54,1
    - Dst: snprintf
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load.cpp:56,1
    - Dst: getpid
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load.cpp:56,1
    - Dst: fopen
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load.cpp:57,1
    - Dst: fwrite
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load.cpp:61,1
    - Dst: fclose
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load.cpp:62,1
    - Dst: run_db_dump
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load.cpp:64,1
    - Dst: unlink
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load.cpp:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 69
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load.cpp
    functionUses: 1
    functionsReached:
    - run_db_dump
    - unlink
    - fwrite
    - snprintf
    - umask
    - fclose
    - fopen
    - getpid
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp:40,1
    - Dst: strdup
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp:41,1
    - Dst: db_dump_fuzz_main
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp:44,1
    - Dst: free
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp:46,1
    - Dst: free
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: run_db_dump
    functionSourceFile: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp
    functionUses: 2
    functionsReached:
    - strdup
    - free
    - db_dump_fuzz_main
    linkageType: ''
    returnType: void
    signature: void run_db_dump(char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: umask
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp:56,1
    - Dst: snprintf
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp:58,1
    - Dst: getpid
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp:58,1
    - Dst: fopen
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp:59,1
    - Dst: fwrite
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp:63,1
    - Dst: fclose
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp:64,1
    - Dst: run_db_dump
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp:66,1
    - Dst: unlink
      Src: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 71
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp
    functionUses: 1
    functionsReached:
    - run_db_dump
    - unlink
    - fwrite
    - snprintf
    - umask
    - fclose
    - fopen
    - getpid
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp:49,1
    - Dst: log__init
      Src: /src/mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp:50,1
    - Dst: memset
      Src: /src/mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp:52,1
    - Dst: strdup
      Src: /src/mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp:54,1
    - Dst: mosquitto_plugin_init
      Src: /src/mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp:57,1
    - Dst: mosquitto_plugin_cleanup
      Src: /src/mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp:58,1
    - Dst: free
      Src: /src/mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp:60,1
    - Dst: free
      Src: /src/mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp:61,1
    - Dst: free
      Src: /src/mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp:62,1
    - Dst: free
      Src: /src/mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 65
    functionName: run_dynsec
    functionSourceFile: /src/mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp
    functionUses: 0
    functionsReached:
    - calloc
    - strdup
    - log__init
    - memset
    - mosquitto_plugin_cleanup
    - free
    - mosquitto_plugin_init
    linkageType: ''
    returnType: void
    signature: void run_dynsec(char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: umask
      Src: /src/mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp:73,1
    - Dst: snprintf
      Src: /src/mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp:75,1
    - Dst: getpid
      Src: /src/mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp:75,1
    - Dst: fopen
      Src: /src/mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp:76,1
    - Dst: fwrite
      Src: /src/mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp:80,1
    - Dst: fclose
      Src: /src/mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp:81,1
    - Dst: run_dynsec
      Src: /src/mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp:83,1
    - Dst: unlink
      Src: /src/mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 88
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp
    functionUses: 1
    functionsReached:
    - run_dynsec
    - unlink
    - fwrite
    - snprintf
    - umask
    - fclose
    - fopen
    - getpid
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_pub_topic_check2
      Src: /src/mosquitto/fuzzing/libcommon/libcommon_fuzz_pub_topic_check2.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/mosquitto/fuzzing/libcommon/libcommon_fuzz_pub_topic_check2.cpp
    functionUses: 1
    functionsReached:
    - mosquitto_pub_topic_check2
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/mosquitto/fuzzing/libcommon/libcommon_fuzz_topic_tokenise.cpp:26,1
    - Dst: memcpy
      Src: /src/mosquitto/fuzzing/libcommon/libcommon_fuzz_topic_tokenise.cpp:31,1
    - Dst: mosquitto_sub_topic_tokenise
      Src: /src/mosquitto/fuzzing/libcommon/libcommon_fuzz_topic_tokenise.cpp:32,1
    - Dst: mosquitto_sub_topic_tokens_free
      Src: /src/mosquitto/fuzzing/libcommon/libcommon_fuzz_topic_tokenise.cpp:33,1
    - Dst: free
      Src: /src/mosquitto/fuzzing/libcommon/libcommon_fuzz_topic_tokenise.cpp:34,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: 2
    functionLinenumber: 23
    functionLinenumberEnd: 37
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/mosquitto/fuzzing/libcommon/libcommon_fuzz_topic_tokenise.cpp
    functionUses: 1
    functionsReached:
    - calloc
    - mosquitto_sub_topic_tokenise
    - mosquitto_sub_topic_tokens_free
    - memcpy
    - free
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_sub_topic_check2
      Src: /src/mosquitto/fuzzing/libcommon/libcommon_fuzz_sub_topic_check2.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/mosquitto/fuzzing/libcommon/libcommon_fuzz_sub_topic_check2.cpp
    functionUses: 1
    functionsReached:
    - mosquitto_sub_topic_check2
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/fuzzing/libcommon/libcommon_fuzz_utf8.cpp:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/mosquitto/fuzzing/libcommon/libcommon_fuzz_utf8.cpp
    functionUses: 1
    functionsReached:
    - mosquitto_validate_utf8
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: fuzz_packet_read_init
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp
    functionUses: 0
    functionsReached:
    - strdup
    linkageType: ''
    returnType: int
    signature: int fuzz_packet_read_init(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: fuzz_packet_read_cleanup
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void fuzz_packet_read_cleanup(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_packet_read_base
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp
    functionUses: 1
    functionsReached:
    - fuzz_packet_read_base
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 35
    functionName: fuzz_basic_auth
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fuzz_basic_auth(int event, void *event_data, void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp:40,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: fuzz_packet_read_init
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - calloc
    linkageType: ''
    returnType: int
    signature: int fuzz_packet_read_init(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp:53,1
    - Dst: free
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: fuzz_packet_read_cleanup
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_callback_unregister
    - free
    linkageType: ''
    returnType: void
    signature: void fuzz_packet_read_cleanup(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_packet_read_base
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp
    functionUses: 1
    functionsReached:
    - fuzz_packet_read_base
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: umask
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp:44,1
    - Dst: snprintf
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp:46,1
    - Dst: getpid
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp:46,1
    - Dst: fopen
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp:47,1
    - Dst: fwrite
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp:51,1
    - Dst: fclose
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp:52,1
    - Dst: strdup
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp:54,1
    - Dst: log__init
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp:56,1
    - Dst: mosquitto_security_init_default
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp:57,1
    - Dst: mosquitto_security_cleanup_default
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp:58,1
    - Dst: config__cleanup
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp:59,1
    - Dst: unlink
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 64
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp
    functionUses: 1
    functionsReached:
    - config__cleanup
    - unlink
    - strdup
    - log__init
    - fwrite
    - snprintf
    - umask
    - fclose
    - mosquitto_security_cleanup_default
    - mosquitto_security_init_default
    - fopen
    - getpid
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: fuzz_packet_read_init
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_read_handle.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fuzz_packet_read_init(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: fuzz_packet_read_cleanup
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_read_handle.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fuzz_packet_read_cleanup(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_packet_read_base
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_read_handle.cpp:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_read_handle.cpp
    functionUses: 1
    functionsReached:
    - fuzz_packet_read_base
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 35
    functionName: fuzz_acl_check
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fuzz_acl_check(int event, void *event_data, void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp:40,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: fuzz_packet_read_init
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - calloc
    linkageType: ''
    returnType: int
    signature: int fuzz_packet_read_init(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp:53,1
    - Dst: free
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: fuzz_packet_read_cleanup
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_callback_unregister
    - free
    linkageType: ''
    returnType: void
    signature: void fuzz_packet_read_cleanup(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_packet_read_base
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp
    functionUses: 1
    functionsReached:
    - fuzz_packet_read_base
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: umask
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp:44,1
    - Dst: snprintf
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp:46,1
    - Dst: getpid
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp:46,1
    - Dst: fopen
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp:47,1
    - Dst: fwrite
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp:51,1
    - Dst: fclose
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp:52,1
    - Dst: strdup
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp:54,1
    - Dst: log__init
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp:56,1
    - Dst: mosquitto_security_init_default
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp:57,1
    - Dst: mosquitto_security_cleanup_default
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp:58,1
    - Dst: config__cleanup
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp:59,1
    - Dst: unlink
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 64
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp
    functionUses: 1
    functionsReached:
    - config__cleanup
    - unlink
    - strdup
    - log__init
    - fwrite
    - snprintf
    - umask
    - fclose
    - mosquitto_security_cleanup_default
    - mosquitto_security_init_default
    - fopen
    - getpid
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: umask
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp:44,1
    - Dst: snprintf
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp:46,1
    - Dst: getpid
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp:46,1
    - Dst: fopen
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp:47,1
    - Dst: fwrite
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp:51,1
    - Dst: fclose
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp:52,1
    - Dst: strdup
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp:54,1
    - Dst: log__init
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp:56,1
    - Dst: mosquitto_security_init_default
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp:57,1
    - Dst: mosquitto_security_cleanup_default
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp:58,1
    - Dst: config__cleanup
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp:59,1
    - Dst: unlink
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 64
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp
    functionUses: 1
    functionsReached:
    - config__cleanup
    - unlink
    - strdup
    - log__init
    - fwrite
    - snprintf
    - umask
    - fclose
    - mosquitto_security_cleanup_default
    - mosquitto_security_init_default
    - fopen
    - getpid
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 34
    functionName: fuzz_acl_check
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fuzz_acl_check(int event, void *event_data, void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp:39,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: fuzz_packet_read_init
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_callback_register
    - calloc
    linkageType: ''
    returnType: int
    signature: int fuzz_packet_read_init(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp:52,1
    - Dst: free
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: fuzz_packet_read_cleanup
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp
    functionUses: 0
    functionsReached:
    - mosquitto_callback_unregister
    - free
    linkageType: ''
    returnType: void
    signature: void fuzz_packet_read_cleanup(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_packet_read_base
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp
    functionUses: 1
    functionsReached:
    - fuzz_packet_read_base
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/mosquitto/fuzzing/broker/fuzz_packet_read_base.c:42,1
    - Dst: log__init
      Src: /src/mosquitto/fuzzing/broker/fuzz_packet_read_base.c:43,1
    - Dst: memset
      Src: /src/mosquitto/fuzzing/broker/fuzz_packet_read_base.c:45,1
    - Dst: memset
      Src: /src/mosquitto/fuzzing/broker/fuzz_packet_read_base.c:46,1
    - Dst: context__init
      Src: /src/mosquitto/fuzzing/broker/fuzz_packet_read_base.c:48,1
    - Dst: calloc
      Src: /src/mosquitto/fuzzing/broker/fuzz_packet_read_base.c:54,1
    - Dst: malloc
      Src: /src/mosquitto/fuzzing/broker/fuzz_packet_read_base.c:60,1
    - Dst: free
      Src: /src/mosquitto/fuzzing/broker/fuzz_packet_read_base.c:62,1
    - Dst: free
      Src: /src/mosquitto/fuzzing/broker/fuzz_packet_read_base.c:64,1
    - Dst: memcpy
      Src: /src/mosquitto/fuzzing/broker/fuzz_packet_read_base.c:69,1
    - Dst: fuzz_packet_read_init
      Src: /src/mosquitto/fuzzing/broker/fuzz_packet_read_base.c:77,1
    - Dst: free
      Src: /src/mosquitto/fuzzing/broker/fuzz_packet_read_base.c:78,1
    - Dst: free
      Src: /src/mosquitto/fuzzing/broker/fuzz_packet_read_base.c:80,1
    - Dst: packet_func
      Src: /src/mosquitto/fuzzing/broker/fuzz_packet_read_base.c:83,1
    - Dst: fuzz_packet_read_cleanup
      Src: /src/mosquitto/fuzzing/broker/fuzz_packet_read_base.c:84,1
    - Dst: free
      Src: /src/mosquitto/fuzzing/broker/fuzz_packet_read_base.c:86,1
    - Dst: context__cleanup
      Src: /src/mosquitto/fuzzing/broker/fuzz_packet_read_base.c:89,1
    - Dst: free
      Src: /src/mosquitto/fuzzing/broker/fuzz_packet_read_base.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 94
    functionName: fuzz_packet_read_base
    functionSourceFile: /src/mosquitto/fuzzing/broker/fuzz_packet_read_base.c
    functionUses: 5
    functionsReached:
    - context__init
    - calloc
    - packet_func
    - log__init
    - fuzz_packet_read_init
    - malloc
    - memset
    - memcpy
    - fuzz_packet_read_cleanup
    - free
    - context__cleanup
    linkageType: ''
    returnType: int
    signature: int fuzz_packet_read_base(const uint8_t *data, size_t size, int (*packet_func)(struct
      mosquitto *))
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - event
    - event_data
    - userdata
    argTypes:
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 35
    functionName: fuzz_acl_check
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fuzz_acl_check(int event, void *event_data, void *userdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp:40,1
    - Dst: mosquitto_callback_register
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: fuzz_packet_read_init
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp
    functionUses: 1
    functionsReached:
    - mosquitto_callback_register
    - calloc
    linkageType: ''
    returnType: int
    signature: int fuzz_packet_read_init(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_callback_unregister
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp:53,1
    - Dst: free
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - context
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: fuzz_packet_read_cleanup
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp
    functionUses: 1
    functionsReached:
    - mosquitto_callback_unregister
    - free
    linkageType: ''
    returnType: void
    signature: void fuzz_packet_read_cleanup(struct mosquitto *context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_packet_read_base
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp
    functionUses: 1
    functionsReached:
    - fuzz_packet_read_base
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_test_config.cpp:41,1
    - Dst: strdup
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_test_config.cpp:42,1
    - Dst: strdup
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_test_config.cpp:43,1
    - Dst: strdup
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_test_config.cpp:44,1
    - Dst: strdup
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_test_config.cpp:45,1
    - Dst: mosquitto_fuzz_main
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_test_config.cpp:47,1
    - Dst: free
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_test_config.cpp:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: run_broker
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_test_config.cpp
    functionUses: 0
    functionsReached:
    - strdup
    - free
    - mosquitto_fuzz_main
    linkageType: ''
    returnType: void
    signature: void run_broker(char *filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: umask
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_test_config.cpp:64,1
    - Dst: snprintf
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_test_config.cpp:66,1
    - Dst: getpid
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_test_config.cpp:66,1
    - Dst: fopen
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_test_config.cpp:67,1
    - Dst: fwrite
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_test_config.cpp:71,1
    - Dst: fclose
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_test_config.cpp:72,1
    - Dst: run_broker
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_test_config.cpp:74,1
    - Dst: unlink
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_test_config.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 79
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_test_config.cpp
    functionUses: 1
    functionsReached:
    - unlink
    - fwrite
    - snprintf
    - umask
    - fclose
    - run_broker
    - fopen
    - getpid
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_pub_topic_check2
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_queue_msg.cpp:42,1
    - Dst: memset
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_queue_msg.cpp:49,1
    - Dst: log__init
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_queue_msg.cpp:56,1
    - Dst: db__open
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_queue_msg.cpp:57,1
    - Dst: calloc
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_queue_msg.cpp:59,1
    - Dst: memcpy
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_queue_msg.cpp:60,1
    - Dst: sub__messages_queue
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_queue_msg.cpp:61,1
    - Dst: free
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_queue_msg.cpp:62,1
    - Dst: db__close
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_queue_msg.cpp:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 67
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_queue_msg.cpp
    functionUses: 1
    functionsReached:
    - mosquitto_pub_topic_check2
    - calloc
    - log__init
    - sub__messages_queue
    - db__open
    - memset
    - memcpy
    - db__close
    - free
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:44,1
    - Dst: strdup
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:45,1
    - Dst: strdup
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:46,1
    - Dst: strdup
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:47,1
    - Dst: mosquitto_fuzz_main
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:49,1
    - Dst: free
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:52,1
    - Dst: pthread_exit
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 57
    functionName: run_broker
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp
    functionUses: 1
    functionsReached:
    - strdup
    - free
    - mosquitto_fuzz_main
    - pthread_exit
    linkageType: ''
    returnType: void
    signature: void *run_broker(void *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:64,1
    - Dst: recv
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - sock
    - buf
    - len
    - timeout_us
    argTypes:
    - int
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: recv_timeout
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp
    functionUses: 0
    functionsReached:
    - setsockopt
    - recv
    linkageType: ''
    returnType: void
    signature: void recv_timeout(int sock, void *buf, size_t len, int timeout_us)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:75,1
    - Dst: htons
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:77,1
    - Dst: inet_addr
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:78,1
    - Dst: socket
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:80,1
    - Dst: connect
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:83,1
    - Dst: nanosleep
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - port
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 94
    functionName: connect_retrying
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp
    functionUses: 0
    functionsReached:
    - inet_addr
    - nanosleep
    - socket
    - memset
    - connect
    - htons
    linkageType: ''
    returnType: int
    signature: int connect_retrying(int port)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:101,1
    - Dst: umask
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:102,1
    - Dst: fopen
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:104,1
    - Dst: printf
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:106,1
    - Dst: strerror
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:106,1
    - Dst: abort
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:107,1
    - Dst: fprintf
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:109,1
    - Dst: fprintf
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:110,1
    - Dst: fprintf
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:111,1
    - Dst: fclose
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:112,1
    - Dst: pthread_create
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - thread
    argTypes:
    - pthread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 117
    functionName: initialise
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp
    functionUses: 3
    functionsReached:
    - fprintf
    - fclose
    - umask
    - abort
    - signal
    - printf
    - strerror
    - fopen
    - pthread_create
    linkageType: ''
    returnType: bool
    signature: bool initialise(pthread_t *thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_join
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:122,1
    - Dst: unlink
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - thread
    argTypes:
    - pthread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: deinitialise
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp
    functionUses: 0
    functionsReached:
    - pthread_join
    - unlink
    linkageType: ''
    returnType: void
    signature: void deinitialise(pthread_t *thread)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: initialise
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:134,1
    - Dst: memset
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:141,1
    - Dst: run_client
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 149
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp
    functionUses: 1
    functionsReached:
    - run_client
    - memset
    - initialise
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp:44,1
    - Dst: strdup
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp:45,1
    - Dst: strdup
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp:46,1
    - Dst: strdup
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp:47,1
    - Dst: mosquitto_fuzz_main
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp:49,1
    - Dst: free
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp:52,1
    - Dst: pthread_exit
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 57
    functionName: run_broker
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp
    functionUses: 1
    functionsReached:
    - strdup
    - free
    - mosquitto_fuzz_main
    - pthread_exit
    linkageType: ''
    returnType: void
    signature: void *run_broker(void *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp:64,1
    - Dst: recv
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - sock
    - buf
    - len
    - timeout_us
    argTypes:
    - int
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: recv_timeout
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp
    functionUses: 0
    functionsReached:
    - setsockopt
    - recv
    linkageType: ''
    returnType: void
    signature: void recv_timeout(int sock, void *buf, size_t len, int timeout_us)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp:75,1
    - Dst: htons
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp:77,1
    - Dst: inet_addr
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp:78,1
    - Dst: socket
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp:80,1
    - Dst: connect
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp:83,1
    - Dst: nanosleep
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - port
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 94
    functionName: connect_retrying
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp
    functionUses: 0
    functionsReached:
    - inet_addr
    - nanosleep
    - socket
    - memset
    - connect
    - htons
    linkageType: ''
    returnType: int
    signature: int connect_retrying(int port)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp:107,1
    - Dst: umask
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp:108,1
    - Dst: memset
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp:110,1
    - Dst: fopen
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp:115,1
    - Dst: printf
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp:117,1
    - Dst: strerror
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp:117,1
    - Dst: abort
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp:118,1
    - Dst: fprintf
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp:120,1
    - Dst: fprintf
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp:121,1
    - Dst: fprintf
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp:122,1
    - Dst: fclose
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp:123,1
    - Dst: pthread_create
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp:125,1
    - Dst: run_client
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp:126,1
    - Dst: pthread_join
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp:127,1
    - Dst: unlink
      Src: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 132
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp
    functionUses: 1
    functionsReached:
    - unlink
    - fprintf
    - run_client
    - fclose
    - umask
    - abort
    - signal
    - printf
    - memset
    - strerror
    - pthread_join
    - fopen
    - pthread_create
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect_v5
      Src: /src/mosquitto/client/rr_client.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: my_signal_handler
    functionSourceFile: /src/mosquitto/client/rr_client.c
    functionUses: 0
    functionsReached:
    - mosquitto_disconnect_v5
    linkageType: ''
    returnType: void
    signature: void my_signal_handler(int signum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_time_ns
      Src: /src/mosquitto/client/rr_client.c:75,1
    - Dst: mosquitto_publish_v5
      Src: /src/mosquitto/client/rr_client.c:78,1
    - Dst: mosquitto_publish_v5
      Src: /src/mosquitto/client/rr_client.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - mosq
    - mid
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    argTypes:
    - struct mosquitto*
    - int*
    - char*
    - int
    - void*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: my_publish
    functionSourceFile: /src/mosquitto/client/rr_client.c
    functionUses: 0
    functionsReached:
    - mosquitto_time_ns
    - mosquitto_publish_v5
    linkageType: ''
    returnType: int
    signature: int my_publish(struct mosquitto *mosq, int *mid, const char *topic,
      int payloadlen, void *payload, int qos, bool retain)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/client/rr_client.c:87,1
    - Dst: UNUSED
      Src: /src/mosquitto/client/rr_client.c:88,1
    - Dst: UNUSED
      Src: /src/mosquitto/client/rr_client.c:89,1
    - Dst: mosquitto_time_ns
      Src: /src/mosquitto/client/rr_client.c:98,1
    - Dst: print_message
      Src: /src/mosquitto/client/rr_client.c:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - mosq
    - obj
    - message
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - struct mosquitto_message*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 114
    functionName: my_message_callback
    functionSourceFile: /src/mosquitto/client/rr_client.c
    functionUses: 0
    functionsReached:
    - mosquitto_time_ns
    - UNUSED
    - print_message
    linkageType: ''
    returnType: void
    signature: void my_message_callback(struct mosquitto *mosq, void *obj, const struct
      mosquitto_message *message, const mosquitto_property *properties)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/client/rr_client.c:119,1
    - Dst: UNUSED
      Src: /src/mosquitto/client/rr_client.c:120,1
    - Dst: UNUSED
      Src: /src/mosquitto/client/rr_client.c:121,1
    - Dst: mosquitto_subscribe_v5
      Src: /src/mosquitto/client/rr_client.c:126,1
    - Dst: err_printf
      Src: /src/mosquitto/client/rr_client.c:130,1
    - Dst: mosquitto_reason_string
      Src: /src/mosquitto/client/rr_client.c:130,1
    - Dst: mosquitto_disconnect_v5
      Src: /src/mosquitto/client/rr_client.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - mosq
    - obj
    - result
    - flags
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 134
    functionName: my_connect_callback
    functionSourceFile: /src/mosquitto/client/rr_client.c
    functionUses: 0
    functionsReached:
    - mosquitto_subscribe_v5
    - mosquitto_disconnect_v5
    - mosquitto_reason_string
    - err_printf
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void my_connect_callback(struct mosquitto *mosq, void *obj, int result,
      int flags, const mosquitto_property *properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/client/rr_client.c:139,1
    - Dst: UNUSED
      Src: /src/mosquitto/client/rr_client.c:140,1
    - Dst: UNUSED
      Src: /src/mosquitto/client/rr_client.c:141,1
    - Dst: err_printf
      Src: /src/mosquitto/client/rr_client.c:147,1
    - Dst: mosquitto_reason_string
      Src: /src/mosquitto/client/rr_client.c:147,1
    - Dst: mosquitto_disconnect_v5
      Src: /src/mosquitto/client/rr_client.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - mosq
    - obj
    - mid
    - qos_count
    - granted_qos
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 150
    functionName: my_subscribe_callback
    functionSourceFile: /src/mosquitto/client/rr_client.c
    functionUses: 0
    functionsReached:
    - mosquitto_disconnect_v5
    - UNUSED
    - mosquitto_reason_string
    - err_printf
    linkageType: ''
    returnType: void
    signature: void my_subscribe_callback(struct mosquitto *mosq, void *obj, int mid,
      int qos_count, const int *granted_qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_lib_version
      Src: /src/mosquitto/client/rr_client.c:157,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: print_version
    functionSourceFile: /src/mosquitto/client/rr_client.c
    functionUses: 2
    functionsReached:
    - mosquitto_lib_version
    - printf
    linkageType: ''
    returnType: void
    signature: void print_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_lib_version
      Src: /src/mosquitto/client/rr_client.c:166,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:167,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:168,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:169,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:170,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:171,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:172,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:173,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:174,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:176,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:179,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:181,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:183,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:184,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:185,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:187,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:188,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:189,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:190,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:191,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:192,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:194,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:198,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:200,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:201,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:202,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:203,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:204,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:205,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:206,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:207,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:208,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:209,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:210,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:211,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:212,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:213,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:214,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:215,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:216,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:217,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:218,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:219,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:220,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:221,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:222,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:223,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:224,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:225,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:226,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:228,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:230,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:231,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:232,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:233,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:234,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:236,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:238,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:239,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:240,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:241,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:242,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:243,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:244,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:245,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:246,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:247,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:248,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:249,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:250,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:251,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:252,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:253,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:254,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:255,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:256,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:258,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:259,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:260,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:261,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:262,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:263,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:264,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:265,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:266,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:267,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:268,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:269,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:270,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:271,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:273,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:274,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:278,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:279,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:280,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 97
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 283
    functionName: print_usage
    functionSourceFile: /src/mosquitto/client/rr_client.c
    functionUses: 6
    functionsReached:
    - mosquitto_lib_version
    - printf
    linkageType: ''
    returnType: void
    signature: void print_usage(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:298,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:301,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:303,1
    - Dst: printf
      Src: /src/mosquitto/client/rr_client.c:305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 309
    functionName: report_latency
    functionSourceFile: /src/mosquitto/client/rr_client.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void report_latency(void)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/client/rr_client.c:319,1
    - Dst: client_config_load
      Src: /src/mosquitto/client/rr_client.c:321,1
    - Dst: print_usage
      Src: /src/mosquitto/client/rr_client.c:325,1
    - Dst: print_version
      Src: /src/mosquitto/client/rr_client.c:328,1
    - Dst: fprintf
      Src: /src/mosquitto/client/rr_client.c:330,1
    - Dst: load_stdin
      Src: /src/mosquitto/client/rr_client.c:336,1
    - Dst: err_printf
      Src: /src/mosquitto/client/rr_client.c:337,1
    - Dst: load_file
      Src: /src/mosquitto/client/rr_client.c:341,1
    - Dst: err_printf
      Src: /src/mosquitto/client/rr_client.c:342,1
    - Dst: fprintf
      Src: /src/mosquitto/client/rr_client.c:348,1
    - Dst: fprintf
      Src: /src/mosquitto/client/rr_client.c:349,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/client/rr_client.c:352,1
    - Dst: fprintf
      Src: /src/mosquitto/client/rr_client.c:354,1
    - Dst: mosquitto_property_check_all
      Src: /src/mosquitto/client/rr_client.c:357,1
    - Dst: err_printf
      Src: /src/mosquitto/client/rr_client.c:359,1
    - Dst: output_init
      Src: /src/mosquitto/client/rr_client.c:362,1
    - Dst: clientid_generate
      Src: /src/mosquitto/client/rr_client.c:364,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/client/rr_client.c:368,1
    - Dst: err_printf
      Src: /src/mosquitto/client/rr_client.c:372,1
    - Dst: err_printf
      Src: /src/mosquitto/client/rr_client.c:375,1
    - Dst: client_opts_set
      Src: /src/mosquitto/client/rr_client.c:380,1
    - Dst: mosquitto_log_callback_set
      Src: /src/mosquitto/client/rr_client.c:384,1
    - Dst: mosquitto_connect_v5_callback_set
      Src: /src/mosquitto/client/rr_client.c:386,1
    - Dst: mosquitto_subscribe_callback_set
      Src: /src/mosquitto/client/rr_client.c:387,1
    - Dst: mosquitto_message_v5_callback_set
      Src: /src/mosquitto/client/rr_client.c:388,1
    - Dst: client_connect
      Src: /src/mosquitto/client/rr_client.c:390,1
    - Dst: sigemptyset
      Src: /src/mosquitto/client/rr_client.c:397,1
    - Dst: sigaction
      Src: /src/mosquitto/client/rr_client.c:400,1
    - Dst: perror
      Src: /src/mosquitto/client/rr_client.c:401,1
    - Dst: alarm
      Src: /src/mosquitto/client/rr_client.c:406,1
    - Dst: mosquitto_loop
      Src: /src/mosquitto/client/rr_client.c:411,1
    - Dst: my_publish
      Src: /src/mosquitto/client/rr_client.c:418,1
    - Dst: my_publish
      Src: /src/mosquitto/client/rr_client.c:421,1
    - Dst: report_latency
      Src: /src/mosquitto/client/rr_client.c:430,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/client/rr_client.c:432,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/client/rr_client.c:433,1
    - Dst: client_config_cleanup
      Src: /src/mosquitto/client/rr_client.c:438,1
    - Dst: err_printf
      Src: /src/mosquitto/client/rr_client.c:440,1
    - Dst: err_printf
      Src: /src/mosquitto/client/rr_client.c:443,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/client/rr_client.c:443,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/client/rr_client.c:452,1
    - Dst: client_config_cleanup
      Src: /src/mosquitto/client/rr_client.c:453,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 133
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 455
    functionName: main
    functionSourceFile: /src/mosquitto/client/rr_client.c
    functionUses: 105
    functionsReached:
    - alarm
    - client_config_load
    - mosquitto_property_check_all
    - mosquitto_subscribe_callback_set
    - mosquitto_log_callback_set
    - perror
    - mosquitto_destroy
    - load_file
    - mosquitto_lib_cleanup
    - output_init
    - client_config_cleanup
    - mosquitto_lib_init
    - mosquitto_message_v5_callback_set
    - mosquitto_new
    - print_version
    - sigaction
    - my_publish
    - report_latency
    - client_opts_set
    - fprintf
    - print_usage
    - err_printf
    - sigemptyset
    - clientid_generate
    - mosquitto_loop
    - mosquitto_connect_v5_callback_set
    - load_stdin
    - mosquitto_strerror
    - client_connect
    - mosquitto_property_add_string
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/client/sub_client.c:58,1
    - Dst: UNUSED
      Src: /src/mosquitto/client/sub_client.c:59,1
    - Dst: mosquitto_disconnect_v5
      Src: /src/mosquitto/client/sub_client.c:63,1
    - Dst: exit
      Src: /src/mosquitto/client/sub_client.c:65,1
    - Dst: DeleteTimerQueueTimer
      Src: /src/mosquitto/client/sub_client.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - lpParameter
    - TimerOrWaitFired
    argTypes:
    - PVOID
    - BOOLEAN
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 71
    functionName: timeout_cb
    functionSourceFile: /src/mosquitto/client/sub_client.c
    functionUses: 0
    functionsReached:
    - mosquitto_disconnect_v5
    - exit
    - UNUSED
    - DeleteTimerQueueTimer
    linkageType: ''
    returnType: void
    signature: void timeout_cb(PVOID lpParameter, BOOLEAN TimerOrWaitFired)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_disconnect_v5
      Src: /src/mosquitto/client/sub_client.c:80,1
    - Dst: exit
      Src: /src/mosquitto/client/sub_client.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 89
    functionName: my_signal_handler
    functionSourceFile: /src/mosquitto/client/sub_client.c
    functionUses: 0
    functionsReached:
    - mosquitto_disconnect_v5
    - exit
    linkageType: ''
    returnType: void
    signature: void my_signal_handler(int signum)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/client/sub_client.c:98,1
    - Dst: UNUSED
      Src: /src/mosquitto/client/sub_client.c:99,1
    - Dst: mosquitto_disconnect_v5
      Src: /src/mosquitto/client/sub_client.c:110,1
    - Dst: mosquitto_topic_matches_sub
      Src: /src/mosquitto/client/sub_client.c:120,1
    - Dst: mosquitto_publish
      Src: /src/mosquitto/client/sub_client.c:128,1
    - Dst: print_message
      Src: /src/mosquitto/client/sub_client.c:131,1
    - Dst: ferror
      Src: /src/mosquitto/client/sub_client.c:132,1
    - Dst: mosquitto_disconnect_v5
      Src: /src/mosquitto/client/sub_client.c:133,1
    - Dst: mosquitto_disconnect_v5
      Src: /src/mosquitto/client/sub_client.c:141,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 4
    argNames:
    - mosq
    - obj
    - message
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - struct mosquitto_message*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 145
    functionName: my_message_callback
    functionSourceFile: /src/mosquitto/client/sub_client.c
    functionUses: 0
    functionsReached:
    - ferror
    - mosquitto_disconnect_v5
    - mosquitto_publish
    - print_message
    - UNUSED
    - mosquitto_topic_matches_sub
    linkageType: ''
    returnType: void
    signature: void my_message_callback(struct mosquitto *mosq, void *obj, const struct
      mosquitto_message *message, const mosquitto_property *properties)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/client/sub_client.c:152,1
    - Dst: UNUSED
      Src: /src/mosquitto/client/sub_client.c:153,1
    - Dst: UNUSED
      Src: /src/mosquitto/client/sub_client.c:154,1
    - Dst: mosquitto_subscribe_multiple
      Src: /src/mosquitto/client/sub_client.c:160,1
    - Dst: mosquitto_unsubscribe_v5
      Src: /src/mosquitto/client/sub_client.c:163,1
    - Dst: err_printf
      Src: /src/mosquitto/client/sub_client.c:169,1
    - Dst: mosquitto_reason_string
      Src: /src/mosquitto/client/sub_client.c:169,1
    - Dst: err_printf
      Src: /src/mosquitto/client/sub_client.c:171,1
    - Dst: mosquitto_reason_string
      Src: /src/mosquitto/client/sub_client.c:171,1
    - Dst: err_printf
      Src: /src/mosquitto/client/sub_client.c:174,1
    - Dst: mosquitto_connack_string
      Src: /src/mosquitto/client/sub_client.c:174,1
    - Dst: mosquitto_disconnect_v5
      Src: /src/mosquitto/client/sub_client.c:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 5
    argNames:
    - mosq
    - obj
    - result
    - flags
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 179
    functionName: my_connect_callback
    functionSourceFile: /src/mosquitto/client/sub_client.c
    functionUses: 0
    functionsReached:
    - mosquitto_unsubscribe_v5
    - mosquitto_connack_string
    - mosquitto_disconnect_v5
    - mosquitto_reason_string
    - err_printf
    - mosquitto_subscribe_multiple
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void my_connect_callback(struct mosquitto *mosq, void *obj, int result,
      int flags, const mosquitto_property *properties)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/client/sub_client.c:187,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:190,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:194,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:199,1
    - Dst: mosquitto_disconnect_v5
      Src: /src/mosquitto/client/sub_client.c:203,1
    - Dst: err_printf
      Src: /src/mosquitto/client/sub_client.c:204,1
    - Dst: mosquitto_disconnect_v5
      Src: /src/mosquitto/client/sub_client.c:208,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - mosq
    - obj
    - mid
    - qos_count
    - granted_qos
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 210
    functionName: my_subscribe_callback
    functionSourceFile: /src/mosquitto/client/sub_client.c
    functionUses: 0
    functionsReached:
    - mosquitto_disconnect_v5
    - UNUSED
    - printf
    - err_printf
    linkageType: ''
    returnType: void
    signature: void my_subscribe_callback(struct mosquitto *mosq, void *obj, int mid,
      int qos_count, const int *granted_qos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/client/sub_client.c:215,1
    - Dst: UNUSED
      Src: /src/mosquitto/client/sub_client.c:216,1
    - Dst: UNUSED
      Src: /src/mosquitto/client/sub_client.c:217,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - mosq
    - obj
    - level
    - str
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 220
    functionName: my_log_callback
    functionSourceFile: /src/mosquitto/client/sub_client.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - printf
    linkageType: ''
    returnType: void
    signature: void my_log_callback(struct mosquitto *mosq, void *obj, int level,
      const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_lib_version
      Src: /src/mosquitto/client/sub_client.c:227,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: print_version
    functionSourceFile: /src/mosquitto/client/sub_client.c
    functionUses: 3
    functionsReached:
    - mosquitto_lib_version
    - printf
    linkageType: ''
    returnType: void
    signature: void print_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_lib_version
      Src: /src/mosquitto/client/sub_client.c:236,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:237,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:238,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:239,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:240,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:241,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:242,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:244,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:247,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:249,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:251,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:252,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:253,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:255,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:256,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:257,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:258,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:259,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:260,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:262,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:266,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:268,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:269,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:270,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:271,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:272,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:273,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:274,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:275,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:276,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:277,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:278,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:279,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:280,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:281,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:282,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:283,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:284,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:285,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:286,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:287,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:288,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:289,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:290,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:291,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:292,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:293,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:294,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:295,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:296,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:297,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:299,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:301,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:302,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:303,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:304,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:305,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:306,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:307,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:309,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:311,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:312,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:313,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:314,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:315,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:316,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:317,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:318,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:319,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:320,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:321,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:322,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:323,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:324,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:325,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:326,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:327,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:328,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:329,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:330,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:331,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:332,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:333,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:334,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:335,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:336,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:337,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:338,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:339,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:341,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:342,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:343,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:344,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:345,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:346,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:347,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:348,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:349,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:350,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:351,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:352,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:353,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:354,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:355,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:356,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:357,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:359,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:360,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:364,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:365,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:366,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 113
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 369
    functionName: print_usage
    functionSourceFile: /src/mosquitto/client/sub_client.c
    functionUses: 7
    functionsReached:
    - mosquitto_lib_version
    - printf
    linkageType: ''
    returnType: void
    signature: void print_usage(void)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/client/sub_client.c:379,1
    - Dst: client_config_load
      Src: /src/mosquitto/client/sub_client.c:381,1
    - Dst: print_usage
      Src: /src/mosquitto/client/sub_client.c:385,1
    - Dst: print_version
      Src: /src/mosquitto/client/sub_client.c:388,1
    - Dst: fprintf
      Src: /src/mosquitto/client/sub_client.c:390,1
    - Dst: fprintf
      Src: /src/mosquitto/client/sub_client.c:396,1
    - Dst: clientid_generate
      Src: /src/mosquitto/client/sub_client.c:400,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/client/sub_client.c:404,1
    - Dst: err_printf
      Src: /src/mosquitto/client/sub_client.c:408,1
    - Dst: err_printf
      Src: /src/mosquitto/client/sub_client.c:411,1
    - Dst: client_opts_set
      Src: /src/mosquitto/client/sub_client.c:416,1
    - Dst: mosquitto_log_callback_set
      Src: /src/mosquitto/client/sub_client.c:420,1
    - Dst: mosquitto_subscribe_callback_set
      Src: /src/mosquitto/client/sub_client.c:428,1
    - Dst: mosquitto_connect_v5_callback_set
      Src: /src/mosquitto/client/sub_client.c:429,1
    - Dst: mosquitto_message_v5_callback_set
      Src: /src/mosquitto/client/sub_client.c:430,1
    - Dst: output_init
      Src: /src/mosquitto/client/sub_client.c:432,1
    - Dst: client_connect
      Src: /src/mosquitto/client/sub_client.c:434,1
    - Dst: CreateTimerQueueTimer
      Src: /src/mosquitto/client/sub_client.c:441,1
    - Dst: err_printf
      Src: /src/mosquitto/client/sub_client.c:442,1
    - Dst: sigemptyset
      Src: /src/mosquitto/client/sub_client.c:448,1
    - Dst: sigaction
      Src: /src/mosquitto/client/sub_client.c:451,1
    - Dst: perror
      Src: /src/mosquitto/client/sub_client.c:452,1
    - Dst: sigaction
      Src: /src/mosquitto/client/sub_client.c:456,1
    - Dst: perror
      Src: /src/mosquitto/client/sub_client.c:457,1
    - Dst: sigaction
      Src: /src/mosquitto/client/sub_client.c:461,1
    - Dst: perror
      Src: /src/mosquitto/client/sub_client.c:462,1
    - Dst: alarm
      Src: /src/mosquitto/client/sub_client.c:467,1
    - Dst: mosquitto_loop_start
      Src: /src/mosquitto/client/sub_client.c:472,1
    - Dst: Sleep
      Src: /src/mosquitto/client/sub_client.c:478,1
    - Dst: nanosleep
      Src: /src/mosquitto/client/sub_client.c:481,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client.c:485,1
    - Dst: mosquitto_loop_forever
      Src: /src/mosquitto/client/sub_client.c:488,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/client/sub_client.c:491,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/client/sub_client.c:492,1
    - Dst: client_config_cleanup
      Src: /src/mosquitto/client/sub_client.c:497,1
    - Dst: err_printf
      Src: /src/mosquitto/client/sub_client.c:499,1
    - Dst: err_printf
      Src: /src/mosquitto/client/sub_client.c:502,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/client/sub_client.c:502,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/client/sub_client.c:511,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/client/sub_client.c:512,1
    - Dst: client_config_cleanup
      Src: /src/mosquitto/client/sub_client.c:513,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 123
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 515
    functionName: main
    functionSourceFile: /src/mosquitto/client/sub_client.c
    functionUses: 105
    functionsReached:
    - alarm
    - client_config_load
    - mosquitto_subscribe_callback_set
    - mosquitto_log_callback_set
    - perror
    - nanosleep
    - printf
    - mosquitto_destroy
    - mosquitto_loop_start
    - mosquitto_lib_cleanup
    - output_init
    - client_config_cleanup
    - mosquitto_lib_init
    - mosquitto_message_v5_callback_set
    - mosquitto_new
    - print_version
    - mosquitto_loop_forever
    - sigaction
    - client_opts_set
    - fprintf
    - print_usage
    - err_printf
    - sigemptyset
    - clientid_generate
    - mosquitto_connect_v5_callback_set
    - Sleep
    - CreateTimerQueueTimer
    - mosquitto_strerror
    - client_connect
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTickCount64
      Src: /src/mosquitto/client/pub_client.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: set_repeat_time
    functionSourceFile: /src/mosquitto/client/pub_client.c
    functionUses: 0
    functionsReached:
    - GetTickCount64
    linkageType: ''
    returnType: void
    signature: void set_repeat_time(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetTickCount64
      Src: /src/mosquitto/client/pub_client.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: check_repeat_time
    functionSourceFile: /src/mosquitto/client/pub_client.c
    functionUses: 0
    functionsReached:
    - GetTickCount64
    linkageType: ''
    returnType: int
    signature: int check_repeat_time(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/mosquitto/client/pub_client.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: set_repeat_time
    functionSourceFile: /src/mosquitto/client/pub_client.c
    functionUses: 0
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: void
    signature: void set_repeat_time(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/mosquitto/client/pub_client.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 103
    functionName: check_repeat_time
    functionSourceFile: /src/mosquitto/client/pub_client.c
    functionUses: 0
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: int
    signature: int check_repeat_time(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/client/pub_client.c:109,1
    - Dst: UNUSED
      Src: /src/mosquitto/client/pub_client.c:110,1
    - Dst: UNUSED
      Src: /src/mosquitto/client/pub_client.c:111,1
    - Dst: UNUSED
      Src: /src/mosquitto/client/pub_client.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - mosq
    - obj
    - rc
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: my_disconnect_callback
    functionSourceFile: /src/mosquitto/client/pub_client.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void my_disconnect_callback(struct mosquitto *mosq, void *obj, int
      rc, const mosquitto_property *properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_publish_v5
      Src: /src/mosquitto/client/pub_client.c:124,1
    - Dst: mosquitto_publish_v5
      Src: /src/mosquitto/client/pub_client.c:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 7
    argNames:
    - mosq
    - mid
    - topic
    - payloadlen
    - payload
    - qos
    - retain
    argTypes:
    - struct mosquitto*
    - int*
    - char*
    - int
    - void*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: my_publish
    functionSourceFile: /src/mosquitto/client/pub_client.c
    functionUses: 1
    functionsReached:
    - mosquitto_publish_v5
    linkageType: ''
    returnType: int
    signature: int my_publish(struct mosquitto *mosq, int *mid, const char *topic,
      int payloadlen, void *payload, int qos, bool retain)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/client/pub_client.c:136,1
    - Dst: UNUSED
      Src: /src/mosquitto/client/pub_client.c:137,1
    - Dst: UNUSED
      Src: /src/mosquitto/client/pub_client.c:138,1
    - Dst: my_publish
      Src: /src/mosquitto/client/pub_client.c:148,1
    - Dst: my_publish
      Src: /src/mosquitto/client/pub_client.c:151,1
    - Dst: err_printf
      Src: /src/mosquitto/client/pub_client.c:160,1
    - Dst: err_printf
      Src: /src/mosquitto/client/pub_client.c:163,1
    - Dst: err_printf
      Src: /src/mosquitto/client/pub_client.c:166,1
    - Dst: err_printf
      Src: /src/mosquitto/client/pub_client.c:169,1
    - Dst: err_printf
      Src: /src/mosquitto/client/pub_client.c:172,1
    - Dst: err_printf
      Src: /src/mosquitto/client/pub_client.c:175,1
    - Dst: mosquitto_disconnect_v5
      Src: /src/mosquitto/client/pub_client.c:178,1
    - Dst: err_printf
      Src: /src/mosquitto/client/pub_client.c:184,1
    - Dst: mosquitto_reason_string
      Src: /src/mosquitto/client/pub_client.c:184,1
    - Dst: err_printf
      Src: /src/mosquitto/client/pub_client.c:186,1
    - Dst: mosquitto_reason_string
      Src: /src/mosquitto/client/pub_client.c:186,1
    - Dst: err_printf
      Src: /src/mosquitto/client/pub_client.c:189,1
    - Dst: mosquitto_connack_string
      Src: /src/mosquitto/client/pub_client.c:189,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 5
    argNames:
    - mosq
    - obj
    - result
    - flags
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 195
    functionName: my_connect_callback
    functionSourceFile: /src/mosquitto/client/pub_client.c
    functionUses: 0
    functionsReached:
    - my_publish
    - mosquitto_disconnect_v5
    - mosquitto_connack_string
    - mosquitto_reason_string
    - err_printf
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void my_connect_callback(struct mosquitto *mosq, void *obj, int result,
      int flags, const mosquitto_property *properties)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/client/pub_client.c:201,1
    - Dst: UNUSED
      Src: /src/mosquitto/client/pub_client.c:202,1
    - Dst: err_printf
      Src: /src/mosquitto/client/pub_client.c:206,1
    - Dst: mosquitto_reason_string
      Src: /src/mosquitto/client/pub_client.c:206,1
    - Dst: mosquitto_property_read_string
      Src: /src/mosquitto/client/pub_client.c:207,1
    - Dst: err_printf
      Src: /src/mosquitto/client/pub_client.c:209,1
    - Dst: free
      Src: /src/mosquitto/client/pub_client.c:210,1
    - Dst: mosquitto_disconnect_v5
      Src: /src/mosquitto/client/pub_client.c:217,1
    - Dst: set_repeat_time
      Src: /src/mosquitto/client/pub_client.c:222,1
    - Dst: mosquitto_disconnect_v5
      Src: /src/mosquitto/client/pub_client.c:224,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 5
    argNames:
    - mosq
    - obj
    - mid
    - reason_code
    - properties
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - int
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 227
    functionName: my_publish_callback
    functionSourceFile: /src/mosquitto/client/pub_client.c
    functionUses: 0
    functionsReached:
    - set_repeat_time
    - mosquitto_disconnect_v5
    - mosquitto_reason_string
    - UNUSED
    - err_printf
    - free
    - mosquitto_property_read_string
    linkageType: ''
    returnType: void
    signature: void my_publish_callback(struct mosquitto *mosq, void *obj, int mid,
      int reason_code, const mosquitto_property *properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/mosquitto/client/pub_client.c:232,1
    - Dst: err_printf
      Src: /src/mosquitto/client/pub_client.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 238
    functionName: pub_shared_init
    functionSourceFile: /src/mosquitto/client/pub_client.c
    functionUses: 0
    functionsReached:
    - err_printf
    - malloc
    linkageType: ''
    returnType: int
    signature: int pub_shared_init(void)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_loop_start
      Src: /src/mosquitto/client/pub_client.c:250,1
    - Dst: Sleep
      Src: /src/mosquitto/client/pub_client.c:258,1
    - Dst: nanosleep
      Src: /src/mosquitto/client/pub_client.c:263,1
    - Dst: fgets
      Src: /src/mosquitto/client/pub_client.c:274,1
    - Dst: strlen
      Src: /src/mosquitto/client/pub_client.c:275,1
    - Dst: my_publish
      Src: /src/mosquitto/client/pub_client.c:278,1
    - Dst: realloc
      Src: /src/mosquitto/client/pub_client.c:288,1
    - Dst: err_printf
      Src: /src/mosquitto/client/pub_client.c:290,1
    - Dst: my_publish
      Src: /src/mosquitto/client/pub_client.c:297,1
    - Dst: feof
      Src: /src/mosquitto/client/pub_client.c:304,1
    - Dst: mosquitto_disconnect_v5
      Src: /src/mosquitto/client/pub_client.c:307,1
    - Dst: mosquitto_disconnect_v5
      Src: /src/mosquitto/client/pub_client.c:323,1
    - Dst: Sleep
      Src: /src/mosquitto/client/pub_client.c:327,1
    - Dst: nanosleep
      Src: /src/mosquitto/client/pub_client.c:332,1
    - Dst: mosquitto_loop_stop
      Src: /src/mosquitto/client/pub_client.c:336,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 80
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 343
    functionName: pub_stdin_line_loop
    functionSourceFile: /src/mosquitto/client/pub_client.c
    functionUses: 0
    functionsReached:
    - mosquitto_loop_start
    - Sleep
    - my_publish
    - nanosleep
    - realloc
    - feof
    - mosquitto_loop_stop
    - mosquitto_disconnect_v5
    - strlen
    - fgets
    - err_printf
    linkageType: ''
    returnType: int
    signature: int pub_stdin_line_loop(struct mosquitto *mosq)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_loop
      Src: /src/mosquitto/client/pub_client.c:356,1
    - Dst: check_repeat_time
      Src: /src/mosquitto/client/pub_client.c:357,1
    - Dst: my_publish
      Src: /src/mosquitto/client/pub_client.c:363,1
    - Dst: my_publish
      Src: /src/mosquitto/client/pub_client.c:366,1
    - Dst: err_printf
      Src: /src/mosquitto/client/pub_client.c:370,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/client/pub_client.c:370,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 380
    functionName: pub_other_loop
    functionSourceFile: /src/mosquitto/client/pub_client.c
    functionUses: 0
    functionsReached:
    - my_publish
    - mosquitto_strerror
    - err_printf
    - check_repeat_time
    - mosquitto_loop
    linkageType: ''
    returnType: int
    signature: int pub_other_loop(struct mosquitto *mosq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pub_stdin_line_loop
      Src: /src/mosquitto/client/pub_client.c:386,1
    - Dst: pub_other_loop
      Src: /src/mosquitto/client/pub_client.c:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - mosq
    argTypes:
    - struct mosquitto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 390
    functionName: pub_shared_loop
    functionSourceFile: /src/mosquitto/client/pub_client.c
    functionUses: 0
    functionsReached:
    - pub_other_loop
    - pub_stdin_line_loop
    linkageType: ''
    returnType: int
    signature: int pub_shared_loop(struct mosquitto *mosq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/mosquitto/client/pub_client.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 396
    functionName: pub_shared_cleanup
    functionSourceFile: /src/mosquitto/client/pub_client.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void pub_shared_cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_lib_version
      Src: /src/mosquitto/client/pub_client.c:403,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 405
    functionName: print_version
    functionSourceFile: /src/mosquitto/client/pub_client.c
    functionUses: 4
    functionsReached:
    - mosquitto_lib_version
    - printf
    linkageType: ''
    returnType: void
    signature: void print_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_lib_version
      Src: /src/mosquitto/client/pub_client.c:412,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:413,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:414,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:415,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:416,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:417,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:419,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:421,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:423,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:424,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:425,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:426,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:427,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:429,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:430,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:431,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:432,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:433,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:434,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:436,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:440,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:442,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:443,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:444,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:445,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:446,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:447,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:448,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:449,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:450,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:451,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:452,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:453,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:454,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:455,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:456,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:457,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:458,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:459,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:460,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:461,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:462,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:463,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:464,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:465,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:466,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:467,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:468,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:469,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:470,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:471,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:472,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:473,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:474,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:476,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:478,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:479,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:480,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:481,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:482,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:483,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:484,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:485,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:486,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:487,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:488,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:489,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:490,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:491,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:492,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:493,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:494,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:495,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:496,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:497,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:498,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:499,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:500,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:502,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:503,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:504,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:505,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:506,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:507,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:508,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:509,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:510,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:511,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:512,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:513,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:514,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:515,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:516,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:517,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:518,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:520,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:521,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:525,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:526,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:527,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_client.c:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 102
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 530
    functionName: print_usage
    functionSourceFile: /src/mosquitto/client/pub_client.c
    functionUses: 8
    functionsReached:
    - mosquitto_lib_version
    - printf
    linkageType: ''
    returnType: void
    signature: void print_usage(void)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_lib_init
      Src: /src/mosquitto/client/pub_client.c:538,1
    - Dst: pub_shared_init
      Src: /src/mosquitto/client/pub_client.c:540,1
    - Dst: client_config_load
      Src: /src/mosquitto/client/pub_client.c:544,1
    - Dst: print_usage
      Src: /src/mosquitto/client/pub_client.c:548,1
    - Dst: print_version
      Src: /src/mosquitto/client/pub_client.c:550,1
    - Dst: fprintf
      Src: /src/mosquitto/client/pub_client.c:552,1
    - Dst: fprintf
      Src: /src/mosquitto/client/pub_client.c:559,1
    - Dst: load_stdin
      Src: /src/mosquitto/client/pub_client.c:565,1
    - Dst: err_printf
      Src: /src/mosquitto/client/pub_client.c:566,1
    - Dst: load_file
      Src: /src/mosquitto/client/pub_client.c:570,1
    - Dst: err_printf
      Src: /src/mosquitto/client/pub_client.c:571,1
    - Dst: fprintf
      Src: /src/mosquitto/client/pub_client.c:577,1
    - Dst: print_usage
      Src: /src/mosquitto/client/pub_client.c:578,1
    - Dst: clientid_generate
      Src: /src/mosquitto/client/pub_client.c:583,1
    - Dst: mosquitto_new
      Src: /src/mosquitto/client/pub_client.c:587,1
    - Dst: err_printf
      Src: /src/mosquitto/client/pub_client.c:591,1
    - Dst: err_printf
      Src: /src/mosquitto/client/pub_client.c:594,1
    - Dst: mosquitto_log_callback_set
      Src: /src/mosquitto/client/pub_client.c:600,1
    - Dst: mosquitto_connect_v5_callback_set
      Src: /src/mosquitto/client/pub_client.c:602,1
    - Dst: mosquitto_disconnect_v5_callback_set
      Src: /src/mosquitto/client/pub_client.c:603,1
    - Dst: mosquitto_publish_v5_callback_set
      Src: /src/mosquitto/client/pub_client.c:604,1
    - Dst: client_opts_set
      Src: /src/mosquitto/client/pub_client.c:606,1
    - Dst: client_connect
      Src: /src/mosquitto/client/pub_client.c:610,1
    - Dst: pub_shared_loop
      Src: /src/mosquitto/client/pub_client.c:615,1
    - Dst: free
      Src: /src/mosquitto/client/pub_client.c:618,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/client/pub_client.c:621,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/client/pub_client.c:622,1
    - Dst: client_config_cleanup
      Src: /src/mosquitto/client/pub_client.c:623,1
    - Dst: pub_shared_cleanup
      Src: /src/mosquitto/client/pub_client.c:624,1
    - Dst: err_printf
      Src: /src/mosquitto/client/pub_client.c:627,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/client/pub_client.c:627,1
    - Dst: mosquitto_destroy
      Src: /src/mosquitto/client/pub_client.c:636,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/client/pub_client.c:637,1
    - Dst: client_config_cleanup
      Src: /src/mosquitto/client/pub_client.c:638,1
    - Dst: pub_shared_cleanup
      Src: /src/mosquitto/client/pub_client.c:639,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 99
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 533
    functionDepth: 3
    functionLinenumber: 533
    functionLinenumberEnd: 641
    functionName: main
    functionSourceFile: /src/mosquitto/client/pub_client.c
    functionUses: 105
    functionsReached:
    - client_config_load
    - mosquitto_log_callback_set
    - mosquitto_destroy
    - load_file
    - mosquitto_lib_cleanup
    - client_config_cleanup
    - mosquitto_lib_init
    - pub_shared_cleanup
    - mosquitto_new
    - print_version
    - free
    - pub_shared_loop
    - client_opts_set
    - fprintf
    - print_usage
    - pub_shared_init
    - err_printf
    - clientid_generate
    - mosquitto_publish_v5_callback_set
    - mosquitto_connect_v5_callback_set
    - load_stdin
    - mosquitto_strerror
    - client_connect
    - mosquitto_disconnect_v5_callback_set
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/mosquitto/client/client_props.c:76,1
    - Dst: mosquitto_string_to_command
      Src: /src/mosquitto/client/client_props.c:81,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_props.c:82,1
    - Dst: mosquitto_string_to_property_info
      Src: /src/mosquitto/client/client_props.c:87,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_props.c:88,1
    - Dst: mosquitto_property_check_command
      Src: /src/mosquitto/client/client_props.c:92,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_props.c:93,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_props.c:100,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_props.c:122,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_props.c:141,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_props.c:154,1
    - Dst: atol
      Src: /src/mosquitto/client/client_props.c:163,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_props.c:165,1
    - Dst: mosquitto_property_add_byte
      Src: /src/mosquitto/client/client_props.c:168,1
    - Dst: atol
      Src: /src/mosquitto/client/client_props.c:171,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_props.c:173,1
    - Dst: mosquitto_property_add_int16
      Src: /src/mosquitto/client/client_props.c:176,1
    - Dst: atol
      Src: /src/mosquitto/client/client_props.c:179,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_props.c:181,1
    - Dst: mosquitto_property_add_int32
      Src: /src/mosquitto/client/client_props.c:184,1
    - Dst: atol
      Src: /src/mosquitto/client/client_props.c:187,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_props.c:189,1
    - Dst: mosquitto_property_add_varint
      Src: /src/mosquitto/client/client_props.c:192,1
    - Dst: strlen
      Src: /src/mosquitto/client/client_props.c:195,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_props.c:197,1
    - Dst: mosquitto_property_add_binary
      Src: /src/mosquitto/client/client_props.c:200,1
    - Dst: mosquitto_property_add_string
      Src: /src/mosquitto/client/client_props.c:203,1
    - Dst: mosquitto_property_add_string_pair
      Src: /src/mosquitto/client/client_props.c:206,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_props.c:212,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 126
    argCount: 4
    argNames:
    - cfg
    - argc
    - argv
    - idx
    argTypes:
    - struct mosq_config*
    - int
    - char*[]
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 216
    functionName: cfg_parse_property
    functionSourceFile: /src/mosquitto/client/client_props.c
    functionUses: 0
    functionsReached:
    - mosquitto_string_to_property_info
    - atol
    - mosquitto_property_add_int16
    - fprintf
    - mosquitto_property_add_byte
    - mosquitto_string_to_command
    - strlen
    - mosquitto_property_add_string_pair
    - mosquitto_property_add_int32
    - mosquitto_property_add_varint
    - mosquitto_property_check_command
    - mosquitto_property_add_string
    - mosquitto_property_add_binary
    linkageType: ''
    returnType: int
    signature: int cfg_parse_property(struct mosq_config *cfg, int argc, char *argv[],
      int *idx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/mosquitto/client/sub_client_output.c:87,1
    - Dst: GetLocalTime
      Src: /src/mosquitto/client/sub_client_output.c:89,1
    - Dst: gettimeofday
      Src: /src/mosquitto/client/sub_client_output.c:92,1
    - Dst: clock_gettime
      Src: /src/mosquitto/client/sub_client_output.c:96,1
    - Dst: err_printf
      Src: /src/mosquitto/client/sub_client_output.c:97,1
    - Dst: localtime
      Src: /src/mosquitto/client/sub_client_output.c:104,1
    - Dst: err_printf
      Src: /src/mosquitto/client/sub_client_output.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - ti
    - ns
    argTypes:
    - struct tm**
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 111
    functionName: get_time
    functionSourceFile: /src/mosquitto/client/sub_client_output.c
    functionUses: 1
    functionsReached:
    - localtime
    - gettimeofday
    - clock_gettime
    - err_printf
    - GetLocalTime
    - time
    linkageType: ''
    returnType: int
    signature: int get_time(struct tm **ti, long *ns)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/mosquitto/client/sub_client_output.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - xpos
    - precision
    - sepchar
    argTypes:
    - int
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: hexsep
    functionSourceFile: /src/mosquitto/client/sub_client_output.c
    functionUses: 0
    functionsReached:
    - putchar
    linkageType: ''
    returnType: void
    signature: void hexsep(int xpos, int precision, char sepchar)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/mosquitto/client/sub_client_output.c:148,1
    - Dst: hexsep
      Src: /src/mosquitto/client/sub_client_output.c:150,1
    - Dst: fwrite
      Src: /src/mosquitto/client/sub_client_output.c:157,1
    - Dst: putchar
      Src: /src/mosquitto/client/sub_client_output.c:161,1
    - Dst: hexsep
      Src: /src/mosquitto/client/sub_client_output.c:162,1
    - Dst: putchar
      Src: /src/mosquitto/client/sub_client_output.c:165,1
    - Dst: hexsep
      Src: /src/mosquitto/client/sub_client_output.c:167,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client_output.c:174,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 4
    argNames:
    - payload
    - payloadlen
    - hex
    - fopts
    argTypes:
    - unsigned char*
    - int
    - int
    - struct fieldoptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 176
    functionName: write_payload
    functionSourceFile: /src/mosquitto/client/sub_client_output.c
    functionUses: 0
    functionsReached:
    - putchar
    - printf
    - hexsep
    - fwrite
    linkageType: ''
    returnType: void
    signature: void write_payload(const unsigned char *payload, int payloadlen, int
      hex, struct fieldoptions *fopts)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/client/sub_client_output.c:190,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/client/sub_client_output.c:192,1
    - Dst: cJSON_AddItemToObject
      Src: /src/mosquitto/client/sub_client_output.c:195,1
    - Dst: mosquitto_property_next
      Src: /src/mosquitto/client/sub_client_output.c:197,1
    - Dst: mosquitto_property_identifier
      Src: /src/mosquitto/client/sub_client_output.c:199,1
    - Dst: mosquitto_property_read_byte
      Src: /src/mosquitto/client/sub_client_output.c:202,1
    - Dst: cJSON_CreateNumber
      Src: /src/mosquitto/client/sub_client_output.c:203,1
    - Dst: mosquitto_property_read_int32
      Src: /src/mosquitto/client/sub_client_output.c:207,1
    - Dst: cJSON_CreateNumber
      Src: /src/mosquitto/client/sub_client_output.c:208,1
    - Dst: mosquitto_property_read_string
      Src: /src/mosquitto/client/sub_client_output.c:213,1
    - Dst: cJSON_CreateString
      Src: /src/mosquitto/client/sub_client_output.c:217,1
    - Dst: free
      Src: /src/mosquitto/client/sub_client_output.c:218,1
    - Dst: mosquitto_property_read_binary
      Src: /src/mosquitto/client/sub_client_output.c:223,1
    - Dst: cJSON_CreateString
      Src: /src/mosquitto/client/sub_client_output.c:227,1
    - Dst: free
      Src: /src/mosquitto/client/sub_client_output.c:228,1
    - Dst: mosquitto_property_read_varint
      Src: /src/mosquitto/client/sub_client_output.c:233,1
    - Dst: cJSON_CreateNumber
      Src: /src/mosquitto/client/sub_client_output.c:234,1
    - Dst: mosquitto_property_read_int16
      Src: /src/mosquitto/client/sub_client_output.c:238,1
    - Dst: cJSON_CreateNumber
      Src: /src/mosquitto/client/sub_client_output.c:239,1
    - Dst: cJSON_CreateArray
      Src: /src/mosquitto/client/sub_client_output.c:244,1
    - Dst: cJSON_AddItemToObject
      Src: /src/mosquitto/client/sub_client_output.c:248,1
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/client/sub_client_output.c:251,1
    - Dst: cJSON_AddItemToArray
      Src: /src/mosquitto/client/sub_client_output.c:255,1
    - Dst: mosquitto_property_read_string_pair
      Src: /src/mosquitto/client/sub_client_output.c:256,1
    - Dst: free
      Src: /src/mosquitto/client/sub_client_output.c:258,1
    - Dst: free
      Src: /src/mosquitto/client/sub_client_output.c:259,1
    - Dst: cJSON_CreateString
      Src: /src/mosquitto/client/sub_client_output.c:263,1
    - Dst: free
      Src: /src/mosquitto/client/sub_client_output.c:264,1
    - Dst: free
      Src: /src/mosquitto/client/sub_client_output.c:267,1
    - Dst: cJSON_AddItemToObject
      Src: /src/mosquitto/client/sub_client_output.c:270,1
    - Dst: free
      Src: /src/mosquitto/client/sub_client_output.c:271,1
    - Dst: cJSON_AddItemToObject
      Src: /src/mosquitto/client/sub_client_output.c:278,1
    - Dst: mosquitto_property_identifier_to_string
      Src: /src/mosquitto/client/sub_client_output.c:278,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 83
    argCount: 2
    argNames:
    - root
    - properties
    argTypes:
    - cJSON*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 179
    functionDepth: 4
    functionLinenumber: 179
    functionLinenumberEnd: 282
    functionName: json_print_properties
    functionSourceFile: /src/mosquitto/client/sub_client_output.c
    functionUses: 0
    functionsReached:
    - free
    - cJSON_Delete
    - mosquitto_property_identifier
    - mosquitto_property_read_byte
    - cJSON_CreateNumber
    - mosquitto_property_read_binary
    - cJSON_AddItemToArray
    - mosquitto_property_read_string_pair
    - cJSON_CreateString
    - mosquitto_property_read_varint
    - mosquitto_property_read_int16
    - cJSON_CreateArray
    - mosquitto_property_read_int32
    - mosquitto_property_identifier_to_string
    - mosquitto_property_next
    - cJSON_AddItemToObject
    - cJSON_CreateObject
    - mosquitto_property_read_string
    linkageType: ''
    returnType: int
    signature: int json_print_properties(cJSON *root, const mosquitto_property *properties)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strftime
      Src: /src/mosquitto/client/sub_client_output.c:289,1
    - Dst: strlen
      Src: /src/mosquitto/client/sub_client_output.c:290,1
    - Dst: snprintf
      Src: /src/mosquitto/client/sub_client_output.c:291,1
    - Dst: strlen
      Src: /src/mosquitto/client/sub_client_output.c:291,1
    - Dst: strlen
      Src: /src/mosquitto/client/sub_client_output.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ti
    - ns
    - buf
    - len
    argTypes:
    - struct tm*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 293
    functionName: format_time_8601
    functionSourceFile: /src/mosquitto/client/sub_client_output.c
    functionUses: 0
    functionsReached:
    - strlen
    - strftime
    - snprintf
    linkageType: ''
    returnType: void
    signature: void format_time_8601(const struct tm *ti, int ns, char *buf, size_t
      len)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/mosquitto/client/sub_client_output.c:304,1
    - Dst: format_time_8601
      Src: /src/mosquitto/client/sub_client_output.c:309,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/client/sub_client_output.c:311,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/client/sub_client_output.c:312,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/mosquitto/client/sub_client_output.c:313,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/mosquitto/client/sub_client_output.c:314,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/mosquitto/client/sub_client_output.c:315,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/mosquitto/client/sub_client_output.c:316,1
    - Dst: json_print_properties
      Src: /src/mosquitto/client/sub_client_output.c:317,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/client/sub_client_output.c:320,1
    - Dst: cJSON_AddStringToObject
      Src: /src/mosquitto/client/sub_client_output.c:327,1
    - Dst: cJSON_AddNullToObject
      Src: /src/mosquitto/client/sub_client_output.c:329,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/client/sub_client_output.c:332,1
    - Dst: cJSON_ParseWithOpts
      Src: /src/mosquitto/client/sub_client_output.c:338,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/client/sub_client_output.c:340,1
    - Dst: cJSON_CreateNull
      Src: /src/mosquitto/client/sub_client_output.c:344,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/client/sub_client_output.c:346,1
    - Dst: cJSON_AddItemToObject
      Src: /src/mosquitto/client/sub_client_output.c:350,1
    - Dst: cJSON_Print
      Src: /src/mosquitto/client/sub_client_output.c:354,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/mosquitto/client/sub_client_output.c:356,1
    - Dst: cJSON_Delete
      Src: /src/mosquitto/client/sub_client_output.c:358,1
    - Dst: fputs
      Src: /src/mosquitto/client/sub_client_output.c:363,1
    - Dst: free
      Src: /src/mosquitto/client/sub_client_output.c:364,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 6
    argNames:
    - message
    - properties
    - ti
    - ns
    - escaped
    - pretty
    argTypes:
    - struct mosquitto_message*
    - mosquitto_property*
    - struct tm*
    - int
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 296
    functionDepth: 5
    functionLinenumber: 296
    functionLinenumberEnd: 367
    functionName: json_print
    functionSourceFile: /src/mosquitto/client/sub_client_output.c
    functionUses: 1
    functionsReached:
    - cJSON_PrintUnformatted
    - cJSON_Delete
    - cJSON_ParseWithOpts
    - cJSON_Print
    - cJSON_AddNumberToObject
    - cJSON_CreateNull
    - format_time_8601
    - fputs
    - json_print_properties
    - cJSON_AddNullToObject
    - cJSON_AddBoolToObject
    - free
    - cJSON_AddItemToObject
    - cJSON_CreateObject
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int
    signature: int json_print(const struct mosquitto_message *message, const mosquitto_property
      *properties, const struct tm *ti, int ns, bool escaped, bool pretty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/mosquitto/client/sub_client_output.c:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fopts
    argTypes:
    - struct fieldoptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 376
    functionName: formatted_print_blank
    functionSourceFile: /src/mosquitto/client/sub_client_output.c
    functionUses: 0
    functionsReached:
    - putchar
    linkageType: ''
    returnType: void
    signature: void formatted_print_blank(struct fieldoptions *fopts)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/mosquitto/client/sub_client_output.c:391,1
    - Dst: memcpy
      Src: /src/mosquitto/client/sub_client_output.c:397,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client_output.c:401,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client_output.c:404,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client_output.c:407,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client_output.c:409,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - payload
    - payloadlen
    - format
    - fopts
    argTypes:
    - unsigned char*
    - int
    - char
    - struct fieldoptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 414
    functionName: formatted_print_float
    functionSourceFile: /src/mosquitto/client/sub_client_output.c
    functionUses: 0
    functionsReached:
    - memcpy
    - printf
    linkageType: ''
    returnType: int
    signature: int formatted_print_float(const unsigned char *payload, int payloadlen,
      char format, struct fieldoptions *fopts)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/mosquitto/client/sub_client_output.c:421,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client_output.c:424,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client_output.c:427,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client_output.c:429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - value
    - fopts
    argTypes:
    - int
    - struct fieldoptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 433
    functionName: formatted_print_int
    functionSourceFile: /src/mosquitto/client/sub_client_output.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void formatted_print_int(int value, struct fieldoptions *fopts)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/mosquitto/client/sub_client_output.c:439,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client_output.c:443,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client_output.c:445,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client_output.c:449,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client_output.c:451,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client_output.c:455,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client_output.c:457,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - value
    - fopts
    argTypes:
    - char*
    - struct fieldoptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 461
    functionName: formatted_print_str
    functionSourceFile: /src/mosquitto/client/sub_client_output.c
    functionUses: 0
    functionsReached:
    - printf
    - fputs
    linkageType: ''
    returnType: void
    signature: void formatted_print_str(const char *value, struct fieldoptions *fopts)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/mosquitto/client/sub_client_output.c:479,1
    - Dst: mosquitto_property_read_int16
      Src: /src/mosquitto/client/sub_client_output.c:483,1
    - Dst: formatted_print_int
      Src: /src/mosquitto/client/sub_client_output.c:484,1
    - Dst: formatted_print_blank
      Src: /src/mosquitto/client/sub_client_output.c:486,1
    - Dst: mosquitto_property_read_string
      Src: /src/mosquitto/client/sub_client_output.c:491,1
    - Dst: formatted_print_str
      Src: /src/mosquitto/client/sub_client_output.c:492,1
    - Dst: free
      Src: /src/mosquitto/client/sub_client_output.c:493,1
    - Dst: formatted_print_blank
      Src: /src/mosquitto/client/sub_client_output.c:495,1
    - Dst: mosquitto_property_read_binary
      Src: /src/mosquitto/client/sub_client_output.c:500,1
    - Dst: fwrite
      Src: /src/mosquitto/client/sub_client_output.c:501,1
    - Dst: free
      Src: /src/mosquitto/client/sub_client_output.c:502,1
    - Dst: mosquitto_property_read_int32
      Src: /src/mosquitto/client/sub_client_output.c:507,1
    - Dst: formatted_print_int
      Src: /src/mosquitto/client/sub_client_output.c:508,1
    - Dst: formatted_print_blank
      Src: /src/mosquitto/client/sub_client_output.c:510,1
    - Dst: mosquitto_property_read_byte
      Src: /src/mosquitto/client/sub_client_output.c:515,1
    - Dst: formatted_print_int
      Src: /src/mosquitto/client/sub_client_output.c:516,1
    - Dst: formatted_print_blank
      Src: /src/mosquitto/client/sub_client_output.c:518,1
    - Dst: get_time
      Src: /src/mosquitto/client/sub_client_output.c:524,1
    - Dst: err_printf
      Src: /src/mosquitto/client/sub_client_output.c:525,1
    - Dst: strftime
      Src: /src/mosquitto/client/sub_client_output.c:529,1
    - Dst: formatted_print_str
      Src: /src/mosquitto/client/sub_client_output.c:530,1
    - Dst: formatted_print_blank
      Src: /src/mosquitto/client/sub_client_output.c:532,1
    - Dst: get_time
      Src: /src/mosquitto/client/sub_client_output.c:538,1
    - Dst: err_printf
      Src: /src/mosquitto/client/sub_client_output.c:539,1
    - Dst: json_print
      Src: /src/mosquitto/client/sub_client_output.c:543,1
    - Dst: err_printf
      Src: /src/mosquitto/client/sub_client_output.c:544,1
    - Dst: get_time
      Src: /src/mosquitto/client/sub_client_output.c:551,1
    - Dst: err_printf
      Src: /src/mosquitto/client/sub_client_output.c:552,1
    - Dst: json_print
      Src: /src/mosquitto/client/sub_client_output.c:556,1
    - Dst: err_printf
      Src: /src/mosquitto/client/sub_client_output.c:558,1
    - Dst: err_printf
      Src: /src/mosquitto/client/sub_client_output.c:561,1
    - Dst: formatted_print_int
      Src: /src/mosquitto/client/sub_client_output.c:567,1
    - Dst: formatted_print_int
      Src: /src/mosquitto/client/sub_client_output.c:571,1
    - Dst: mosquitto_property_read_string_pair
      Src: /src/mosquitto/client/sub_client_output.c:577,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client_output.c:579,1
    - Dst: free
      Src: /src/mosquitto/client/sub_client_output.c:580,1
    - Dst: free
      Src: /src/mosquitto/client/sub_client_output.c:581,1
    - Dst: mosquitto_property_read_string_pair
      Src: /src/mosquitto/client/sub_client_output.c:585,1
    - Dst: fputc
      Src: /src/mosquitto/client/sub_client_output.c:587,1
    - Dst: free
      Src: /src/mosquitto/client/sub_client_output.c:590,1
    - Dst: free
      Src: /src/mosquitto/client/sub_client_output.c:591,1
    - Dst: write_payload
      Src: /src/mosquitto/client/sub_client_output.c:595,1
    - Dst: fputc
      Src: /src/mosquitto/client/sub_client_output.c:599,1
    - Dst: mosquitto_property_read_string
      Src: /src/mosquitto/client/sub_client_output.c:603,1
    - Dst: formatted_print_str
      Src: /src/mosquitto/client/sub_client_output.c:604,1
    - Dst: free
      Src: /src/mosquitto/client/sub_client_output.c:605,1
    - Dst: fputc
      Src: /src/mosquitto/client/sub_client_output.c:611,1
    - Dst: fputc
      Src: /src/mosquitto/client/sub_client_output.c:613,1
    - Dst: mosquitto_property_read_varint
      Src: /src/mosquitto/client/sub_client_output.c:618,1
    - Dst: formatted_print_int
      Src: /src/mosquitto/client/sub_client_output.c:619,1
    - Dst: formatted_print_blank
      Src: /src/mosquitto/client/sub_client_output.c:621,1
    - Dst: formatted_print_str
      Src: /src/mosquitto/client/sub_client_output.c:626,1
    - Dst: get_time
      Src: /src/mosquitto/client/sub_client_output.c:631,1
    - Dst: err_printf
      Src: /src/mosquitto/client/sub_client_output.c:632,1
    - Dst: strftime
      Src: /src/mosquitto/client/sub_client_output.c:636,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client_output.c:637,1
    - Dst: write_payload
      Src: /src/mosquitto/client/sub_client_output.c:642,1
    - Dst: write_payload
      Src: /src/mosquitto/client/sub_client_output.c:646,1
    - Dst: formatted_print_float
      Src: /src/mosquitto/client/sub_client_output.c:651,1
    - Dst: err_printf
      Src: /src/mosquitto/client/sub_client_output.c:652,1
    - Dst: formatted_print_float
      Src: /src/mosquitto/client/sub_client_output.c:657,1
    - Dst: err_printf
      Src: /src/mosquitto/client/sub_client_output.c:658,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 163
    argCount: 5
    argNames:
    - lcfg
    - message
    - properties
    - format
    - fopts
    argTypes:
    - struct mosq_config*
    - struct mosquitto_message*
    - mosquitto_property*
    - char
    - struct fieldoptions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 663
    functionName: formatted_print_percent
    functionSourceFile: /src/mosquitto/client/sub_client_output.c
    functionUses: 0
    functionsReached:
    - formatted_print_blank
    - mosquitto_property_read_binary
    - printf
    - mosquitto_property_read_string
    - mosquitto_property_read_byte
    - write_payload
    - fwrite
    - strftime
    - free
    - mosquitto_property_read_string_pair
    - mosquitto_property_read_varint
    - err_printf
    - json_print
    - mosquitto_property_read_int32
    - formatted_print_float
    - formatted_print_int
    - fputc
    - mosquitto_property_read_int16
    - get_time
    - formatted_print_str
    linkageType: ''
    returnType: void
    signature: void formatted_print_percent(const struct mosq_config *lcfg, const
      struct mosquitto_message *message, const mosquitto_property *properties, char
      format, struct fieldoptions *fopts)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/client/sub_client_output.c:672,1
    - Dst: formatted_print_percent
      Src: /src/mosquitto/client/sub_client_output.c:724,1
    - Dst: fputc
      Src: /src/mosquitto/client/sub_client_output.c:732,1
    - Dst: get_time
      Src: /src/mosquitto/client/sub_client_output.c:735,1
    - Dst: err_printf
      Src: /src/mosquitto/client/sub_client_output.c:736,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client_output.c:747,1
    - Dst: strftime
      Src: /src/mosquitto/client/sub_client_output.c:750,1
    - Dst: fputs
      Src: /src/mosquitto/client/sub_client_output.c:751,1
    - Dst: fputc
      Src: /src/mosquitto/client/sub_client_output.c:761,1
    - Dst: fputc
      Src: /src/mosquitto/client/sub_client_output.c:765,1
    - Dst: fputc
      Src: /src/mosquitto/client/sub_client_output.c:769,1
    - Dst: fputc
      Src: /src/mosquitto/client/sub_client_output.c:773,1
    - Dst: fputc
      Src: /src/mosquitto/client/sub_client_output.c:777,1
    - Dst: fputc
      Src: /src/mosquitto/client/sub_client_output.c:781,1
    - Dst: fputc
      Src: /src/mosquitto/client/sub_client_output.c:785,1
    - Dst: fputc
      Src: /src/mosquitto/client/sub_client_output.c:789,1
    - Dst: fputc
      Src: /src/mosquitto/client/sub_client_output.c:794,1
    - Dst: fputc
      Src: /src/mosquitto/client/sub_client_output.c:798,1
    - Dst: fflush
      Src: /src/mosquitto/client/sub_client_output.c:800,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 109
    argCount: 3
    argNames:
    - lcfg
    - message
    - properties
    argTypes:
    - struct mosq_config*
    - struct mosquitto_message*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 666
    functionDepth: 3
    functionLinenumber: 666
    functionLinenumberEnd: 801
    functionName: formatted_print
    functionSourceFile: /src/mosquitto/client/sub_client_output.c
    functionUses: 0
    functionsReached:
    - fputc
    - fputs
    - strlen
    - fflush
    - printf
    - err_printf
    - strftime
    - get_time
    - formatted_print_percent
    linkageType: ''
    returnType: void
    signature: void formatted_print(const struct mosq_config *lcfg, const struct mosquitto_message
      *message, const mosquitto_property *properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_time
      Src: /src/mosquitto/client/sub_client_output.c:810,1
    - Dst: srandom
      Src: /src/mosquitto/client/sub_client_output.c:811,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 814
    functionName: rand_init
    functionSourceFile: /src/mosquitto/client/sub_client_output.c
    functionUses: 0
    functionsReached:
    - srandom
    - get_time
    linkageType: ''
    returnType: void
    signature: void rand_init(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FIND
      Src: /src/mosquitto/client/sub_client_output.c:823,1
    - Dst: strlen
      Src: /src/mosquitto/client/sub_client_output.c:823,1
    - Dst: calloc
      Src: /src/mosquitto/client/sub_client_output.c:825,1
    - Dst: strdup
      Src: /src/mosquitto/client/sub_client_output.c:830,1
    - Dst: free
      Src: /src/mosquitto/client/sub_client_output.c:832,1
    - Dst: HASH_ADD_KEYPTR
      Src: /src/mosquitto/client/sub_client_output.c:835,1
    - Dst: strlen
      Src: /src/mosquitto/client/sub_client_output.c:835,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client_output.c:837,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - message
    argTypes:
    - struct mosquitto_message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 819
    functionDepth: 2
    functionLinenumber: 819
    functionLinenumberEnd: 838
    functionName: watch_print
    functionSourceFile: /src/mosquitto/client/sub_client_output.c
    functionUses: 0
    functionsReached:
    - calloc
    - strdup
    - strlen
    - printf
    - HASH_ADD_KEYPTR
    - HASH_FIND
    - free
    linkageType: ''
    returnType: void
    signature: void watch_print(const struct mosquitto_message *message)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: watch_print
      Src: /src/mosquitto/client/sub_client_output.c:853,1
    - Dst: rand_s
      Src: /src/mosquitto/client/sub_client_output.c:859,1
    - Dst: random
      Src: /src/mosquitto/client/sub_client_output.c:862,1
    - Dst: formatted_print
      Src: /src/mosquitto/client/sub_client_output.c:869,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client_output.c:872,1
    - Dst: write_payload
      Src: /src/mosquitto/client/sub_client_output.c:873,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client_output.c:875,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client_output.c:879,1
    - Dst: fflush
      Src: /src/mosquitto/client/sub_client_output.c:882,1
    - Dst: write_payload
      Src: /src/mosquitto/client/sub_client_output.c:885,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client_output.c:887,1
    - Dst: fflush
      Src: /src/mosquitto/client/sub_client_output.c:889,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client_output.c:894,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - lcfg
    - message
    - properties
    argTypes:
    - struct mosq_config*
    - struct mosquitto_message*
    - mosquitto_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 842
    functionDepth: 4
    functionLinenumber: 842
    functionLinenumberEnd: 897
    functionName: print_message
    functionSourceFile: /src/mosquitto/client/sub_client_output.c
    functionUses: 2
    functionsReached:
    - watch_print
    - random
    - formatted_print
    - write_payload
    - fflush
    - printf
    - rand_s
    linkageType: ''
    returnType: void
    signature: void print_message(struct mosq_config *lcfg, const struct mosquitto_message
      *message, const mosquitto_property *properties)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rand_init
      Src: /src/mosquitto/client/sub_client_output.c:902,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client_output.c:905,1
    - Dst: printf
      Src: /src/mosquitto/client/sub_client_output.c:906,1
    - Dst: _setmode
      Src: /src/mosquitto/client/sub_client_output.c:911,1
    - Dst: _fileno
      Src: /src/mosquitto/client/sub_client_output.c:911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - lcfg
    argTypes:
    - struct mosq_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 900
    functionDepth: 1
    functionLinenumber: 900
    functionLinenumberEnd: 913
    functionName: output_init
    functionSourceFile: /src/mosquitto/client/sub_client_output.c
    functionUses: 2
    functionsReached:
    - printf
    - _setmode
    - rand_init
    - _fileno
    linkageType: ''
    returnType: void
    signature: void output_init(struct mosq_config *lcfg)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/mosquitto/client/client_shared.c:63,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:68,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:76,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:86,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:96,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:104,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:157,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:165,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:169,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:177,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:184,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:199,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 125
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 208
    functionName: check_format
    functionSourceFile: /src/mosquitto/client/client_shared.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strlen
    linkageType: ''
    returnType: int
    signature: int check_format(const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/mosquitto/client/client_shared.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - cfg
    - pub_or_sub
    argTypes:
    - struct mosq_config*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 231
    functionName: init_config
    functionSourceFile: /src/mosquitto/client/client_shared.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void init_config(struct mosq_config *cfg, int pub_or_sub)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:237,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:238,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:239,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:240,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/client/client_shared.c:241,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:242,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:243,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:244,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:245,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:246,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:247,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:248,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:249,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:251,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:252,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:253,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:254,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:255,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:256,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:257,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:258,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:259,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:260,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:262,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:263,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:268,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:270,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:274,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:276,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:280,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:282,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:285,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:286,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:287,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/client/client_shared.c:289,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/client/client_shared.c:290,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/client/client_shared.c:291,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/client/client_shared.c:292,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/client/client_shared.c:293,1
    - Dst: mosquitto_property_free_all
      Src: /src/mosquitto/client/client_shared.c:294,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:295,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 54
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct mosq_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 296
    functionName: client_config_cleanup
    functionSourceFile: /src/mosquitto/client/client_shared.c
    functionUses: 4
    functionsReached:
    - mosquitto_FREE
    - free
    - mosquitto_property_free_all
    linkageType: ''
    returnType: void
    signature: void client_config_cleanup(struct mosq_config *cfg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:305,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:307,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:311,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - cfg
    - argc
    - argv
    argTypes:
    - struct mosq_config*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 319
    functionName: client_config_options_file
    functionSourceFile: /src/mosquitto/client/client_shared.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strcmp
    - strdup
    linkageType: ''
    returnType: int
    signature: int client_config_options_file(struct mosq_config *cfg, int argc, char
      *argv[])
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: init_config
      Src: /src/mosquitto/client/client_shared.c:339,1
    - Dst: client_config_options_file
      Src: /src/mosquitto/client/client_shared.c:341,1
    - Dst: getenv
      Src: /src/mosquitto/client/client_shared.c:348,1
    - Dst: strlen
      Src: /src/mosquitto/client/client_shared.c:350,1
    - Dst: strlen
      Src: /src/mosquitto/client/client_shared.c:350,1
    - Dst: malloc
      Src: /src/mosquitto/client/client_shared.c:351,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:353,1
    - Dst: snprintf
      Src: /src/mosquitto/client/client_shared.c:357,1
    - Dst: snprintf
      Src: /src/mosquitto/client/client_shared.c:359,1
    - Dst: snprintf
      Src: /src/mosquitto/client/client_shared.c:361,1
    - Dst: getenv
      Src: /src/mosquitto/client/client_shared.c:365,1
    - Dst: strlen
      Src: /src/mosquitto/client/client_shared.c:367,1
    - Dst: strlen
      Src: /src/mosquitto/client/client_shared.c:367,1
    - Dst: malloc
      Src: /src/mosquitto/client/client_shared.c:368,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:370,1
    - Dst: snprintf
      Src: /src/mosquitto/client/client_shared.c:374,1
    - Dst: snprintf
      Src: /src/mosquitto/client/client_shared.c:376,1
    - Dst: snprintf
      Src: /src/mosquitto/client/client_shared.c:378,1
    - Dst: GetEnvironmentVariable
      Src: /src/mosquitto/client/client_shared.c:385,1
    - Dst: strlen
      Src: /src/mosquitto/client/client_shared.c:387,1
    - Dst: strlen
      Src: /src/mosquitto/client/client_shared.c:387,1
    - Dst: malloc
      Src: /src/mosquitto/client/client_shared.c:388,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:390,1
    - Dst: snprintf
      Src: /src/mosquitto/client/client_shared.c:394,1
    - Dst: snprintf
      Src: /src/mosquitto/client/client_shared.c:396,1
    - Dst: snprintf
      Src: /src/mosquitto/client/client_shared.c:398,1
    - Dst: fopen
      Src: /src/mosquitto/client/client_shared.c:406,1
    - Dst: fopen
      Src: /src/mosquitto/client/client_shared.c:408,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:409,1
    - Dst: fgets
      Src: /src/mosquitto/client/client_shared.c:415,1
    - Dst: strlen
      Src: /src/mosquitto/client/client_shared.c:420,1
    - Dst: strlen
      Src: /src/mosquitto/client/client_shared.c:420,1
    - Dst: strlen
      Src: /src/mosquitto/client/client_shared.c:421,1
    - Dst: strtok
      Src: /src/mosquitto/client/client_shared.c:425,1
    - Dst: strtok
      Src: /src/mosquitto/client/client_shared.c:427,1
    - Dst: client_config_line_proc
      Src: /src/mosquitto/client/client_shared.c:433,1
    - Dst: fclose
      Src: /src/mosquitto/client/client_shared.c:435,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:436,1
    - Dst: fclose
      Src: /src/mosquitto/client/client_shared.c:441,1
    - Dst: client_config_line_proc
      Src: /src/mosquitto/client/client_shared.c:445,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:451,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:455,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:460,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:464,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:468,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:474,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:478,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:491,1
    - Dst: mosquitto_property_add_int32
      Src: /src/mosquitto/client/client_shared.c:494,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:496,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:501,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:508,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:514,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:516,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 165
    argCount: 4
    argNames:
    - cfg
    - pub_or_sub
    - argc
    - argv
    argTypes:
    - struct mosq_config*
    - int
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 522
    functionName: client_config_load
    functionSourceFile: /src/mosquitto/client/client_shared.c
    functionUses: 4
    functionsReached:
    - free
    - client_config_line_proc
    - fprintf
    - strdup
    - snprintf
    - malloc
    - GetEnvironmentVariable
    - strtok
    - fclose
    - strlen
    - init_config
    - fgets
    - err_printf
    - mosquitto_property_add_int32
    - client_config_options_file
    - fopen
    - getenv
    linkageType: ''
    returnType: int
    signature: int client_config_load(struct mosq_config *cfg, int pub_or_sub, int
      argc, char *argv[])
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/client/client_shared.c:527,1
    - Dst: strlen
      Src: /src/mosquitto/client/client_shared.c:527,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:528,1
    - Dst: mosquitto_pub_topic_check
      Src: /src/mosquitto/client/client_shared.c:532,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:533,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:536,1
    - Dst: mosquitto_pub_topic_check
      Src: /src/mosquitto/client/client_shared.c:538,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:539,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:542,1
    - Dst: mosquitto_sub_topic_check
      Src: /src/mosquitto/client/client_shared.c:544,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:545,1
    - Dst: realloc
      Src: /src/mosquitto/client/client_shared.c:549,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:551,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:554,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 4
    argNames:
    - cfg
    - type
    - topic
    - arg
    argTypes:
    - struct mosq_config*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 557
    functionName: cfg_add_topic
    functionSourceFile: /src/mosquitto/client/client_shared.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strdup
    - realloc
    - strlen
    - mosquitto_sub_topic_check
    - mosquitto_validate_utf8
    - err_printf
    - mosquitto_pub_topic_check
    linkageType: ''
    returnType: int
    signature: int cfg_add_topic(struct mosq_config *cfg, int type, char *topic, const
      char *arg)
  - BBCount: 198
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:569,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:571,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:574,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:578,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:580,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:583,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:586,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:588,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:591,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:594,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:596,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:599,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:602,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:604,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:607,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:611,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:616,1
    - Dst: atoi
      Src: /src/mosquitto/client/client_shared.c:619,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:621,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:627,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:627,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:629,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:629,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:631,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:631,1
    - Dst: cfg_parse_property
      Src: /src/mosquitto/client/client_shared.c:633,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:637,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:642,1
    - Dst: cfg_add_topic
      Src: /src/mosquitto/client/client_shared.c:645,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:650,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:655,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:655,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:660,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:663,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:667,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:669,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:674,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:679,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:682,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:684,1
    - Dst: check_format
      Src: /src/mosquitto/client/client_shared.c:687,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:692,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:694,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:694,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:696,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:699,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:703,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:706,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:706,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:708,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:712,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:715,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:718,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:718,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:720,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:724,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:727,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:730,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:730,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:732,1
    - Dst: atoi
      Src: /src/mosquitto/client/client_shared.c:735,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:737,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:743,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:745,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:748,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:751,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:753,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:756,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:760,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:760,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:762,1
    - Dst: strncasecmp
      Src: /src/mosquitto/client/client_shared.c:769,1
    - Dst: strncasecmp
      Src: /src/mosquitto/client/client_shared.c:772,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:778,1
    - Dst: strncasecmp
      Src: /src/mosquitto/client/client_shared.c:781,1
    - Dst: strncasecmp
      Src: /src/mosquitto/client/client_shared.c:785,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:792,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:796,1
    - Dst: strchr
      Src: /src/mosquitto/client/client_shared.c:799,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:801,1
    - Dst: cfg_add_topic
      Src: /src/mosquitto/client/client_shared.c:806,1
    - Dst: strchr
      Src: /src/mosquitto/client/client_shared.c:810,1
    - Dst: strchr
      Src: /src/mosquitto/client/client_shared.c:814,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:817,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:819,1
    - Dst: strchr
      Src: /src/mosquitto/client/client_shared.c:824,1
    - Dst: atoi
      Src: /src/mosquitto/client/client_shared.c:827,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:830,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:833,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:833,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:838,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:843,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:849,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:849,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:854,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:857,1
    - Dst: mosquitto_strdup
      Src: /src/mosquitto/client/client_shared.c:860,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:862,1
    - Dst: strlen
      Src: /src/mosquitto/client/client_shared.c:865,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:867,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:874,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:876,1
    - Dst: atoi
      Src: /src/mosquitto/client/client_shared.c:879,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:881,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:887,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:892,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:894,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:896,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:896,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:901,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:906,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:911,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:914,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:914,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:916,1
    - Dst: atoi
      Src: /src/mosquitto/client/client_shared.c:919,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:921,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:926,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:931,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:931,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:933,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:936,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:940,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:942,1
    - Dst: mosquitto__parse_socks_url
      Src: /src/mosquitto/client/client_shared.c:945,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:952,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:954,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:957,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:960,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:962,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:965,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:969,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:969,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:971,1
    - Dst: atoi
      Src: /src/mosquitto/client/client_shared.c:974,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:976,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:981,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:983,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:983,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:988,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:994,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:999,1
    - Dst: atof
      Src: /src/mosquitto/client/client_shared.c:1002,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1004,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1009,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1014,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1019,1
    - Dst: atoi
      Src: /src/mosquitto/client/client_shared.c:1022,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1024,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1029,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1034,1
    - Dst: atof
      Src: /src/mosquitto/client/client_shared.c:1037,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1039,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1047,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1052,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1057,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1060,1
    - Dst: MQTT_SUB_OPT_SET_RETAIN_HANDLING
      Src: /src/mosquitto/client/client_shared.c:1061,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1062,1
    - Dst: MQTT_SUB_OPT_SET_RETAIN_HANDLING
      Src: /src/mosquitto/client/client_shared.c:1063,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1064,1
    - Dst: MQTT_SUB_OPT_SET_RETAIN_HANDLING
      Src: /src/mosquitto/client/client_shared.c:1065,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1067,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1072,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1077,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1077,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1082,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1088,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1091,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1091,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1093,1
    - Dst: cfg_add_topic
      Src: /src/mosquitto/client/client_shared.c:1096,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1101,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1101,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1106,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/client/client_shared.c:1109,1
    - Dst: strlen
      Src: /src/mosquitto/client/client_shared.c:1109,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1110,1
    - Dst: mosquitto_sub_topic_check
      Src: /src/mosquitto/client/client_shared.c:1113,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1114,1
    - Dst: realloc
      Src: /src/mosquitto/client/client_shared.c:1118,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1120,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:1123,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1127,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1129,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:1132,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1135,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1137,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:1140,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1143,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1145,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:1148,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1151,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1153,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1155,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:1158,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1161,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1163,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:1166,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1170,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1170,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1175,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/client/client_shared.c:1178,1
    - Dst: strlen
      Src: /src/mosquitto/client/client_shared.c:1178,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1179,1
    - Dst: mosquitto_sub_topic_check
      Src: /src/mosquitto/client/client_shared.c:1182,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1183,1
    - Dst: realloc
      Src: /src/mosquitto/client/client_shared.c:1187,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1189,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:1192,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1195,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1195,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1197,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:1200,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1203,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1205,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:1208,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1212,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1212,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1214,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1217,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1217,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1219,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1219,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1221,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1221,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1224,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1229,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1229,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1234,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1236,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1241,1
    - Dst: atoi
      Src: /src/mosquitto/client/client_shared.c:1244,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1246,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1253,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1253,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1258,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1263,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1265,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:1268,1
    - Dst: strlen
      Src: /src/mosquitto/client/client_shared.c:1269,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1272,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1274,1
    - Dst: atoi
      Src: /src/mosquitto/client/client_shared.c:1277,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1279,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1284,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1286,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1288,1
    - Dst: mosquitto_validate_utf8
      Src: /src/mosquitto/client/client_shared.c:1291,1
    - Dst: strlen
      Src: /src/mosquitto/client/client_shared.c:1291,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1292,1
    - Dst: mosquitto_pub_topic_check
      Src: /src/mosquitto/client/client_shared.c:1295,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1296,1
    - Dst: strdup
      Src: /src/mosquitto/client/client_shared.c:1299,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1302,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1304,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1306,1
    - Dst: strcmp
      Src: /src/mosquitto/client/client_shared.c:1309,1
    - Dst: strtol
      Src: /src/mosquitto/client/client_shared.c:1313,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1316,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1320,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1339,1
    CyclomaticComplexity: 260
    EdgeCount: 260
    ICount: 846
    argCount: 4
    argNames:
    - cfg
    - pub_or_sub
    - argc
    - argv
    argTypes:
    - struct mosq_config*
    - int
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 561
    functionDepth: 2
    functionLinenumber: 561
    functionLinenumberEnd: 1341
    functionName: client_config_line_proc
    functionSourceFile: /src/mosquitto/client/client_shared.c
    functionUses: 3
    functionsReached:
    - atoi
    - MQTT_SUB_OPT_SET_RETAIN_HANDLING
    - strcmp
    - mosquitto_validate_utf8
    - strncasecmp
    - atof
    - realloc
    - mosquitto__parse_socks_url
    - mosquitto_sub_topic_check
    - mosquitto_pub_topic_check
    - strtol
    - mosquitto_strdup
    - cfg_add_topic
    - fprintf
    - strchr
    - strlen
    - err_printf
    - check_format
    - strdup
    - cfg_parse_property
    linkageType: ''
    returnType: int
    signature: int client_config_line_proc(struct mosq_config *cfg, int pub_or_sub,
      int argc, char *argv[])
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_get_ex_new_index
      Src: /src/mosquitto/client/client_shared.c:1357,1
    - Dst: SSL_CTX_new
      Src: /src/mosquitto/client/client_shared.c:1359,1
    - Dst: TLS_client_method
      Src: /src/mosquitto/client/client_shared.c:1359,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:1361,1
    - Dst: SSL_CTX_set_ex_data
      Src: /src/mosquitto/client/client_shared.c:1364,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:1365,1
    - Dst: mosquitto_void_option
      Src: /src/mosquitto/client/client_shared.c:1368,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/client/client_shared.c:1369,1
    - Dst: SSL_CTX_set_keylog_callback
      Src: /src/mosquitto/client/client_shared.c:1370,1
    - Dst: mosquitto_tls_set
      Src: /src/mosquitto/client/client_shared.c:1374,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:1377,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:1379,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/client/client_shared.c:1379,1
    - Dst: mosquitto_tls_psk_set
      Src: /src/mosquitto/client/client_shared.c:1385,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:1386,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/client/client_shared.c:1391,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/client/client_shared.c:1394,1
    - Dst: mosquitto_tls_insecure_set
      Src: /src/mosquitto/client/client_shared.c:1397,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:1398,1
    - Dst: mosquitto_string_option
      Src: /src/mosquitto/client/client_shared.c:1401,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:1402,1
    - Dst: mosquitto_string_option
      Src: /src/mosquitto/client/client_shared.c:1405,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:1406,1
    - Dst: mosquitto_string_option
      Src: /src/mosquitto/client/client_shared.c:1409,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:1410,1
    - Dst: mosquitto_string_option
      Src: /src/mosquitto/client/client_shared.c:1413,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:1414,1
    - Dst: mosquitto_tls_opts_set
      Src: /src/mosquitto/client/client_shared.c:1417,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:1418,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 69
    argCount: 2
    argNames:
    - mosq
    - cfg
    argTypes:
    - struct mosquitto*
    - struct mosq_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1347
    functionDepth: 1
    functionLinenumber: 1347
    functionLinenumberEnd: 1422
    functionName: client_tls_opts_set
    functionSourceFile: /src/mosquitto/client/client_shared.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_keylog_callback
    - SSL_CTX_new
    - mosquitto_int_option
    - mosquitto_tls_insecure_set
    - TLS_client_method
    - mosquitto_void_option
    - mosquitto_tls_psk_set
    - SSL_CTX_set_ex_data
    - mosquitto_strerror
    - mosquitto_tls_opts_set
    - err_printf
    - mosquitto_string_option
    - SSL_CTX_get_ex_new_index
    - mosquitto_tls_set
    linkageType: ''
    returnType: int
    signature: int client_tls_opts_set(struct mosquitto *mosq, struct mosq_config
      *cfg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/client/client_shared.c:1432,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/client/client_shared.c:1433,1
    - Dst: mosquitto_will_set_v5
      Src: /src/mosquitto/client/client_shared.c:1435,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:1439,1
    - Dst: mosquitto_username_pw_set
      Src: /src/mosquitto/client/client_shared.c:1444,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:1445,1
    - Dst: client_tls_opts_set
      Src: /src/mosquitto/client/client_shared.c:1449,1
    - Dst: mosquitto_max_inflight_messages_set
      Src: /src/mosquitto/client/client_shared.c:1453,1
    - Dst: mosquitto_socks5_set
      Src: /src/mosquitto/client/client_shared.c:1456,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/client/client_shared.c:1463,1
    - Dst: mosquitto_int_option
      Src: /src/mosquitto/client/client_shared.c:1470,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - mosq
    - cfg
    argTypes:
    - struct mosquitto*
    - struct mosq_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1426
    functionDepth: 2
    functionLinenumber: 1426
    functionLinenumberEnd: 1473
    functionName: client_opts_set
    functionSourceFile: /src/mosquitto/client/client_shared.c
    functionUses: 4
    functionsReached:
    - client_tls_opts_set
    - mosquitto_int_option
    - mosquitto_will_set_v5
    - mosquitto_username_pw_set
    - err_printf
    - mosquitto_max_inflight_messages_set
    - mosquitto_socks5_set
    linkageType: ''
    returnType: int
    signature: int client_opts_set(struct mosquitto *mosq, struct mosq_config *cfg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/mosquitto/client/client_shared.c:1479,1
    - Dst: strlen
      Src: /src/mosquitto/client/client_shared.c:1479,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:1481,1
    - Dst: snprintf
      Src: /src/mosquitto/client/client_shared.c:1484,1
    - Dst: strlen
      Src: /src/mosquitto/client/client_shared.c:1484,1
    - Dst: getpid
      Src: /src/mosquitto/client/client_shared.c:1484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct mosq_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1476
    functionDepth: 1
    functionLinenumber: 1476
    functionLinenumberEnd: 1487
    functionName: clientid_generate
    functionSourceFile: /src/mosquitto/client/client_shared.c
    functionUses: 3
    functionsReached:
    - snprintf
    - malloc
    - strlen
    - err_printf
    - getpid
    linkageType: ''
    returnType: int
    signature: int clientid_generate(struct mosq_config *cfg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/mosquitto/client/client_shared.c:1501,1
    - Dst: mosquitto_connect_srv
      Src: /src/mosquitto/client/client_shared.c:1523,1
    - Dst: mosquitto_connect_bind_v5
      Src: /src/mosquitto/client/client_shared.c:1525,1
    - Dst: mosquitto_connect_bind_v5
      Src: /src/mosquitto/client/client_shared.c:1528,1
    - Dst: strerror
      Src: /src/mosquitto/client/client_shared.c:1533,1
    - Dst: FormatMessage
      Src: /src/mosquitto/client/client_shared.c:1535,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:1537,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:1539,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/client/client_shared.c:1539,1
    - Dst: mosquitto_lib_cleanup
      Src: /src/mosquitto/client/client_shared.c:1541,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - mosq
    - cfg
    argTypes:
    - struct mosquitto*
    - struct mosq_config*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1490
    functionDepth: 1
    functionLinenumber: 1490
    functionLinenumberEnd: 1545
    functionName: client_connect
    functionSourceFile: /src/mosquitto/client/client_shared.c
    functionUses: 4
    functionsReached:
    - FormatMessage
    - mosquitto_connect_srv
    - mosquitto_lib_cleanup
    - mosquitto_strerror
    - signal
    - mosquitto_connect_bind_v5
    - strerror
    - err_printf
    linkageType: ''
    returnType: int
    signature: int client_connect(struct mosquitto *mosq, struct mosq_config *cfg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/mosquitto/client/client_shared.c:1559,1
    - Dst: strlen
      Src: /src/mosquitto/client/client_shared.c:1563,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1551
    functionDepth: 0
    functionLinenumber: 1551
    functionLinenumberEnd: 1596
    functionName: mosquitto__urldecode
    functionSourceFile: /src/mosquitto/client/client_shared.c
    functionUses: 1
    functionsReached:
    - strlen
    - strchr
    linkageType: ''
    returnType: int
    signature: int mosquitto__urldecode(char *str)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/mosquitto/client/client_shared.c:1610,1
    - Dst: strlen
      Src: /src/mosquitto/client/client_shared.c:1610,1
    - Dst: strlen
      Src: /src/mosquitto/client/client_shared.c:1611,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:1613,1
    - Dst: strchr
      Src: /src/mosquitto/client/client_shared.c:1627,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:1636,1
    - Dst: malloc
      Src: /src/mosquitto/client/client_shared.c:1639,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:1641,1
    - Dst: memcpy
      Src: /src/mosquitto/client/client_shared.c:1644,1
    - Dst: malloc
      Src: /src/mosquitto/client/client_shared.c:1651,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:1653,1
    - Dst: memcpy
      Src: /src/mosquitto/client/client_shared.c:1656,1
    - Dst: malloc
      Src: /src/mosquitto/client/client_shared.c:1660,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:1662,1
    - Dst: memcpy
      Src: /src/mosquitto/client/client_shared.c:1665,1
    - Dst: strlen
      Src: /src/mosquitto/client/client_shared.c:1672,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:1675,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:1682,1
    - Dst: malloc
      Src: /src/mosquitto/client/client_shared.c:1688,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:1690,1
    - Dst: memcpy
      Src: /src/mosquitto/client/client_shared.c:1693,1
    - Dst: malloc
      Src: /src/mosquitto/client/client_shared.c:1712,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:1714,1
    - Dst: memcpy
      Src: /src/mosquitto/client/client_shared.c:1717,1
    - Dst: malloc
      Src: /src/mosquitto/client/client_shared.c:1730,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:1732,1
    - Dst: memcpy
      Src: /src/mosquitto/client/client_shared.c:1735,1
    - Dst: malloc
      Src: /src/mosquitto/client/client_shared.c:1738,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:1740,1
    - Dst: memcpy
      Src: /src/mosquitto/client/client_shared.c:1743,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:1749,1
    - Dst: mosquitto__urldecode
      Src: /src/mosquitto/client/client_shared.c:1753,1
    - Dst: mosquitto__urldecode
      Src: /src/mosquitto/client/client_shared.c:1756,1
    - Dst: atoi
      Src: /src/mosquitto/client/client_shared.c:1760,1
    - Dst: err_printf
      Src: /src/mosquitto/client/client_shared.c:1762,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:1765,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:1777,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:1778,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:1779,1
    - Dst: free
      Src: /src/mosquitto/client/client_shared.c:1780,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 168
    argCount: 2
    argNames:
    - cfg
    - url
    argTypes:
    - struct mosq_config*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1599
    functionDepth: 2
    functionLinenumber: 1599
    functionLinenumberEnd: 1782
    functionName: mosquitto__parse_socks_url
    functionSourceFile: /src/mosquitto/client/client_shared.c
    functionUses: 2
    functionsReached:
    - strncmp
    - strchr
    - malloc
    - atoi
    - strlen
    - err_printf
    - memcpy
    - mosquitto__urldecode
    - free
    linkageType: ''
    returnType: int
    signature: int mosquitto__parse_socks_url(struct mosq_config *cfg, char *url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/mosquitto/client/client_shared.c:1794,1
    - Dst: vfprintf
      Src: /src/mosquitto/client/client_shared.c:1795,1
    - Dst: va_end
      Src: /src/mosquitto/client/client_shared.c:1796,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cfg
    - fmt
    argTypes:
    - struct mosq_config*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1797
      start: 1786
    functionDepth: 0
    functionLinenumber: 1786
    functionLinenumberEnd: 1797
    functionName: err_printf
    functionSourceFile: /src/mosquitto/client/client_shared.c
    functionUses: 23
    functionsReached:
    - va_start
    - va_end
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void err_printf(const struct mosq_config *cfg, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/client/client_shared.c:1807,1
    - Dst: SSL_CTX_get_ex_data
      Src: /src/mosquitto/client/client_shared.c:1809,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/mosquitto/client/client_shared.c:1809,1
    - Dst: fopen
      Src: /src/mosquitto/client/client_shared.c:1812,1
    - Dst: fprintf
      Src: /src/mosquitto/client/client_shared.c:1814,1
    - Dst: fclose
      Src: /src/mosquitto/client/client_shared.c:1815,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ssl
    - line
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1818
      start: 1802
    functionDepth: 0
    functionLinenumber: 1802
    functionLinenumberEnd: 1818
    functionName: tls_keylog_callback
    functionSourceFile: /src/mosquitto/client/client_shared.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_get_ex_data
    - fprintf
    - fclose
    - SSL_get_SSL_CTX
    - fopen
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void tls_keylog_callback(const SSL *ssl, const char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/mosquitto/client/pub_shared.c:46,1
    - Dst: UNUSED
      Src: /src/mosquitto/client/pub_shared.c:47,1
    - Dst: UNUSED
      Src: /src/mosquitto/client/pub_shared.c:48,1
    - Dst: printf
      Src: /src/mosquitto/client/pub_shared.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - mosq
    - obj
    - level
    - str
    argTypes:
    - struct mosquitto*
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: my_log_callback
    functionSourceFile: /src/mosquitto/client/pub_shared.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - printf
    linkageType: ''
    returnType: void
    signature: void my_log_callback(struct mosquitto *mosq, void *obj, int level,
      const char *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: feof
      Src: /src/mosquitto/client/pub_shared.c:62,1
    - Dst: fread
      Src: /src/mosquitto/client/pub_shared.c:63,1
    - Dst: mosquitto_realloc
      Src: /src/mosquitto/client/pub_shared.c:64,1
    - Dst: err_printf
      Src: /src/mosquitto/client/pub_shared.c:66,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/client/pub_shared.c:67,1
    - Dst: memcpy
      Src: /src/mosquitto/client/pub_shared.c:72,1
    - Dst: err_printf
      Src: /src/mosquitto/client/pub_shared.c:76,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/client/pub_shared.c:77,1
    - Dst: err_printf
      Src: /src/mosquitto/client/pub_shared.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 88
    functionName: load_stdin
    functionSourceFile: /src/mosquitto/client/pub_shared.c
    functionUses: 2
    functionsReached:
    - mosquitto_FREE
    - feof
    - err_printf
    - mosquitto_realloc
    - memcpy
    - fread
    linkageType: ''
    returnType: int
    signature: int load_stdin(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mosquitto_read_file
      Src: /src/mosquitto/client/pub_shared.c:98,1
    - Dst: err_printf
      Src: /src/mosquitto/client/pub_shared.c:100,1
    - Dst: mosquitto_strerror
      Src: /src/mosquitto/client/pub_shared.c:100,1
    - Dst: err_printf
      Src: /src/mosquitto/client/pub_shared.c:105,1
    - Dst: mosquitto_FREE
      Src: /src/mosquitto/client/pub_shared.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 118
    functionName: load_file
    functionSourceFile: /src/mosquitto/client/pub_shared.c
    functionUses: 2
    functionsReached:
    - mosquitto_read_file
    - mosquitto_strerror
    - err_printf
    - mosquitto_FREE
    linkageType: ''
    returnType: int
    signature: int load_file(const char *filename)
Fuzzer filename: /src/mosquitto/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- read_handle.h
- netdb.h
- dynamic_security.h
- alias_mosq.h
- lmcons.h
- float.h
- testsample_mock_head1.h
- uthash.h
- persist.h
- mosquitto/broker_plugin.h
- picohttpparser.h
- property_mosq.h
- openssl/ocsp.h
- sys/syslog.h
- cmock.h
- db_dump.h
- sys/time.h
- netinet/tcp.h
- limits.h
- mosquitto/libmosquitto_helpers.h
- nmmintrin.h
- openssl/ssl.h
- gmock/gmock.h
- mosquitto/libmosquitto_callbacks.h
- msgsps_common.h
- lib_load.h
- tls_mosq.h
- functional
- process.h
- malloc.h
- stdlib.h
- unistd.h
- mosquitto/libmosquitto_tls.h
- net_mosq.h
- stdarg.h
- broker_fuzz.h
- cJSON.h
- mosquitto_plugin_v2.h
- funky.h
- io.h
- mockMock.h
- mosquitto/defs.h
- mach/mach_time.h
- config.h
- ctrl_shell_mock.hpp
- util_mosq.h
- string.h
- tcpd.h
- tls_mosq.c
- pthread_np.h
- path_helper.h
- basetsd.h
- mosquitto/libcommon_memory.h
- messages_mosq.h
- syslog.h
- mosquitto_plugin.h
- cstring
- unity/examples/unity_config.h
- strings.h
- openssl/rand.h
- errno.h
- Types.h
- openssl/conf.h
- Defs.h
- termios.h
- gmock/gmock-actions.h
- mosquitto/libmosquitto_unsubscribe.h
- mosquitto_ctrl.h
- ProductionCode.h
- mosquitto/mqtt_protocol.h
- assert.h
- mosquitto/libcommon_password.h
- openssl/safestack.h
- mosquitto_internal.h
- mosquitto/libmosquitto_connect.h
- mosquitto/libcommon_properties.h
- poll.h
- c_function_mock.hpp
- pub_shared.h
- mosquitto/libcommon_utf8.h
- linux/in6.h
- ares.h
- socks_mosq.h
- pthread_mock.hpp
- mosquitto/broker_control.h
- utlist.h
- sys/epoll.h
- callbacks.h
- Mockstanky.h
- pthread_compat.h
- libmosquitto_mock.hpp
- microhttpd.h
- stdint.h
- sys/un.h
- openssl/bio.h
- cstdlib
- cstdint
- ctrl_shell.h
- cjson/cJSON.h
- ctype.h
- mosquitto/libmosquitto_socks.h
- pthread.h
- unity/src/unity.h
- send_mosq.h
- stdatomic.h
- mux.h
- two.h
- openssl/ui.h
- editline_mock.hpp
- math.h
- cJSON_Utils.h
- json_help.h
- sys/endian.h
- ctime
- common.h
- mosquitto/libmosquitto_message.h
- stdbool.h
- logging_mosq.h
- mosquitto/libmosquitto_options.h
- http_client.h
- openssl/opensslv.h
- x86intrin.h
- mosquitto/libcommon_base64.h
- malloc/malloc.h
- sys/socket.h
- time.h
- mosquitto/broker.h
- sqlite3.h
- openssl/engine.h
- unity_fixture_internals.h
- CUnit/CUnit.h
- client_shared.h
- arpa/inet.h
- mysql/mysql.h
- psapi.h
- mosquitto/libcommon_file.h
- fcntl.h
- temperature_conversion.h
- one.h
- signal.h
- sub_client_output.h
- gtest/gtest.h
- cstdio
- net/netbyte.h
- mosquitto/libmosquitto_create_delete.h
- unity_output_Spy.h
- libmosquitto_common_mock.hpp
- sys_tree.h
- get_password.h
- aclapi.h
- mosquitto/libmosquitto_will.h
- stanky.h
- testsample_head1.h
- ctrl_shell_internal.h
- libwebsockets.h
- sys/event.h
- stddef.h
- util.h
- plugin_global.h
- dirent.h
- openssl/opensslconf.h
- mosquitto/libcommon_cjson.h
- winsock2.h
- unity_fixture.h
- inttypes.h
- openssl/buffer.h
- will_mosq.h
- mach/mach.h
- UnityHelper.h
- stdexcept
- mosquitto/libmosquitto_loop.h
- cassert
- ../cJSON.h
- direct.h
- mosquitto/libcommon_random.h
- CException.h
- persist_sqlite.h
- mosquitto/libmosquitto_subscribe.h
- linux/in.h
- unity_internals.h
- mosquitto_broker_internal.h
- dlfcn.h
- android/log.h
- CUnit/Basic.h
- three.h
- ws2tcpip.h
- openssl/err.h
- fuzz_packet_read_base.h
- property_common.h
- systemd/sd-daemon.h
- windows.h
- netinet/in.h
- mosquitto/libmosquitto_auth.h
- mosquitto_signal.h
- ../cJSON.c
- mosquitto/libcommon_string.h
- openssl/bn.h
- mosquitto/libmosquitto.h
- packet_mosq.h
- mosquitto/libcommon.h
- sys/random.h
- grp.h
- arpa/nameser.h
- unity_fixture_malloc_overrides.h
- sys/select.h
- openssl/x509v3.h
- locale.h
- ProductionCode2.h
- argon2.h
- openssl/tls1.h
- ../cJSON_Utils.h
- four.h
- pwd.h
- openssl/evp.h
- password_file.h
- editline/readline.h
- mosquitto_broker.h
- libgen.h
- ifaddrs.h
- mosquitto/libcommon_topic.h
- malloc_np.h
- unity.h
- keepalive.c
- mosquitto/libmosquittopp.h
- sys/types.h
- mosquitto/libmosquitto_publish.h
- mosquitto/libcommon_time.h
- ../examples/unity_config.h
- stdio.h
- setjmp.h
- dlt/dlt.h
- mosquitto.h
- mosquittopp.h
- acl_file.h
- sys/stat.h
report: name
sources:
- function_names:
  - print_preallocated
  - create_objects
  - CJSON_CDECL::main
  source_file: /src/cJSON/test.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*precision'
        type: char
      - name: lat
        type: double
      - name: lon
        type: double
      - name: '*address'
        type: char
      - name: '*city'
        type: char
      - name: '*state'
        type: char
      - name: '*zip'
        type: char
      - name: '*country'
        type: char
      item_type: struct
      name: record
      pos:
        line_end: 38
        line_start: 28
        source_file: /src/cJSON/test.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cJSON/cJSON_Utils.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isinf
  - isnan
  - cJSON_GetErrorPtr
  - cJSON_GetStringValue
  - cJSON_GetNumberValue
  - cJSON_Version
  - case_insensitive_strcmp
  - CJSON_CDECL::internal_malloc
  - CJSON_CDECL::internal_free
  - CJSON_CDECL::internal_realloc
  - static_strlen
  - cJSON_strdup
  - cJSON_InitHooks
  - cJSON_New_Item
  - cJSON_Delete
  - get_decimal_point
  - can_read
  - can_access_at_index
  - cannot_access_at_index
  - buffer_at_offset
  - parse_number
  - cJSON_SetNumberHelper
  - cJSON_SetValuestring
  - ensure
  - update_offset
  - compare_double
  - print_number
  - parse_hex4
  - utf16_literal_to_utf8
  - parse_string
  - print_string_ptr
  - print_string
  - buffer_skip_whitespace
  - skip_utf8_bom
  - cJSON_ParseWithOpts
  - cJSON_ParseWithLengthOpts
  - cJSON_Parse
  - cJSON_ParseWithLength
  - cjson_min
  - print
  - cJSON_Print
  - cJSON_PrintUnformatted
  - cJSON_PrintBuffered
  - cJSON_PrintPreallocated
  - parse_value
  - print_value
  - parse_array
  - print_array
  - parse_object
  - print_object
  - cJSON_GetArraySize
  - get_array_item
  - cJSON_GetArrayItem
  - get_object_item
  - cJSON_GetObjectItem
  - cJSON_GetObjectItemCaseSensitive
  - cJSON_HasObjectItem
  - suffix_object
  - create_reference
  - add_item_to_array
  - cJSON_AddItemToArray
  - cast_away_const
  - add_item_to_object
  - cJSON_AddItemToObject
  - cJSON_AddItemToObjectCS
  - cJSON_AddItemReferenceToArray
  - cJSON_AddItemReferenceToObject
  - cJSON_AddNullToObject
  - cJSON_AddTrueToObject
  - cJSON_AddFalseToObject
  - cJSON_AddBoolToObject
  - cJSON_AddNumberToObject
  - cJSON_AddStringToObject
  - cJSON_AddRawToObject
  - cJSON_AddObjectToObject
  - cJSON_AddArrayToObject
  - cJSON_DetachItemViaPointer
  - cJSON_DetachItemFromArray
  - cJSON_DeleteItemFromArray
  - cJSON_DetachItemFromObject
  - cJSON_DetachItemFromObjectCaseSensitive
  - cJSON_DeleteItemFromObject
  - cJSON_DeleteItemFromObjectCaseSensitive
  - cJSON_InsertItemInArray
  - cJSON_ReplaceItemViaPointer
  - cJSON_ReplaceItemInArray
  - replace_item_in_object
  - cJSON_ReplaceItemInObject
  - cJSON_ReplaceItemInObjectCaseSensitive
  - cJSON_CreateNull
  - cJSON_CreateTrue
  - cJSON_CreateFalse
  - cJSON_CreateBool
  - cJSON_CreateNumber
  - cJSON_CreateString
  - cJSON_CreateStringReference
  - cJSON_CreateObjectReference
  - cJSON_CreateArrayReference
  - cJSON_CreateRaw
  - cJSON_CreateArray
  - cJSON_CreateObject
  - cJSON_CreateIntArray
  - cJSON_CreateFloatArray
  - cJSON_CreateDoubleArray
  - cJSON_CreateStringArray
  - cJSON_Duplicate
  - skip_oneline_comment
  - skip_multiline_comment
  - minify_string
  - cJSON_Minify
  - cJSON_IsInvalid
  - cJSON_IsFalse
  - cJSON_IsTrue
  - cJSON_IsBool
  - cJSON_IsNull
  - cJSON_IsNumber
  - cJSON_IsString
  - cJSON_IsArray
  - cJSON_IsObject
  - cJSON_IsRaw
  - cJSON_Compare
  - cJSON_ArrayForEach
  - cJSON_ArrayForEach
  - cJSON_malloc
  - cJSON_free
  source_file: /src/cJSON/cJSON.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: 'true'
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/cJSON/cJSON.c
      type_or_value: ((cJSON_bool)1)
    - item_type: preproc_def
      name: 'false'
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/cJSON/cJSON.c
      type_or_value: ((cJSON_bool)0)
    - item_type: preproc_def
      name: NAN
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/cJSON/cJSON.c
      type_or_value: sqrt(-1.0)
    - item_type: preproc_def
      name: NAN
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/cJSON/cJSON.c
      type_or_value: 0.0/0.0
    - item_type: preproc_def
      name: internal_malloc
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/cJSON/cJSON.c
      type_or_value: malloc
    - item_type: preproc_def
      name: internal_free
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/cJSON/cJSON.c
      type_or_value: free
    - item_type: preproc_def
      name: internal_realloc
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/cJSON/cJSON.c
      type_or_value: realloc
    structs:
    - fields:
      - name: '*json'
        type: unsigned char
      - name: position
        type: size_t
      item_type: struct
      name: error
      pos:
        line_end: 90
        line_start: 87
        source_file: /src/cJSON/cJSON.c
    - fields:
      - name: '*(CJSON_CDECL *allocate)(size_t size)'
        type: void
      - name: (CJSON_CDECL *deallocate)(void *pointer)
        type: void
      - name: '*(CJSON_CDECL *reallocate)(void *pointer, size_t size)'
        type: void
      item_type: struct
      name: internal_hooks
      pos:
        line_end: 160
        line_start: 155
        source_file: /src/cJSON/cJSON.c
    - fields:
      - name: '*content'
        type: unsigned char
      - name: length
        type: size_t
      - name: offset
        type: size_t
      - name: depth
        type: size_t
      - name: hooks
        type: internal_hooks
      item_type: struct
      name: parse_buffer
      pos:
        line_end: 293
        line_start: 286
        source_file: /src/cJSON/cJSON.c
    - fields:
      - name: '*buffer'
        type: unsigned char
      - name: length
        type: size_t
      - name: offset
        type: size_t
      - name: depth
        type: size_t
      - name: noalloc
        type: cJSON_bool
      - name: format
        type: cJSON_bool
      - name: hooks
        type: internal_hooks
      item_type: struct
      name: printbuffer
      pos:
        line_end: 440
        line_start: 431
        source_file: /src/cJSON/cJSON.c
    typedefs: []
    union: []
- function_names:
  - cJSONUtils_strdup
  - compare_strings
  - compare_double
  - compare_pointers
  - pointer_encoded_length
  - encode_string_as_pointer
  - cJSONUtils_FindPointerFromObjectTo
  - get_array_item
  - decode_array_index_from_pointer
  - get_item_from_pointer
  - cJSONUtils_GetPointer
  - cJSONUtils_GetPointerCaseSensitive
  - decode_pointer_inplace
  - detach_item_from_array
  - detach_path
  - sort_list
  - sort_object
  - compare_json
  - insert_item_in_array
  - get_object_item
  - decode_patch_operation
  - overwrite_item
  - apply_patch
  - cJSONUtils_ApplyPatches
  - cJSONUtils_ApplyPatchesCaseSensitive
  - compose_patch
  - cJSONUtils_AddPatchToArray
  - create_patches
  - cJSONUtils_GeneratePatches
  - cJSONUtils_GeneratePatchesCaseSensitive
  - cJSONUtils_SortObject
  - cJSONUtils_SortObjectCaseSensitive
  - merge_patch
  - cJSONUtils_MergePatch
  - cJSONUtils_MergePatchCaseSensitive
  - generate_merge_patch
  - cJSONUtils_GenerateMergePatch
  - cJSONUtils_GenerateMergePatchCaseSensitive
  source_file: /src/cJSON/cJSON_Utils.c
  types:
    enum:
    - enumerators:
      - name: INVALID
      - name: REPLACE
      - name: MOVE
      - name: ADD
      - name: REMOVE
      - name: COPY
      - name: TEST
      item_type: enum
      name: patch_operation
      pos:
        line_end: 739
        line_start: 739
        source_file: /src/cJSON/cJSON_Utils.c
    preproc_defs:
    - item_type: preproc_def
      name: 'true'
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/cJSON/cJSON_Utils.c
      type_or_value: ((cJSON_bool)1)
    - item_type: preproc_def
      name: 'false'
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/cJSON/cJSON_Utils.c
      type_or_value: ((cJSON_bool)0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - CJSON_PUBLIC
  - CJSON_PUBLIC
  - CJSON_PUBLIC
  - CJSON_PUBLIC
  - CJSON_PUBLIC
  - cJSON_SetIntValue
  - cJSON_SetNumberValue
  - cJSON_SetBoolValue
  - cJSON_ArrayForEach
  source_file: /src/cJSON/cJSON.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CJSON_CDECL
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/cJSON/cJSON.h
      type_or_value: __cdecl
    - item_type: preproc_def
      name: CJSON_STDCALL
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/cJSON/cJSON.h
      type_or_value: __stdcall
    - item_type: preproc_def
      name: CJSON_VERSION_MAJOR
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/cJSON/cJSON.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CJSON_VERSION_MINOR
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/cJSON/cJSON.h
      type_or_value: '7'
    - item_type: preproc_def
      name: CJSON_VERSION_PATCH
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/cJSON/cJSON.h
      type_or_value: '17'
    - item_type: preproc_def
      name: cJSON_Invalid
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/cJSON/cJSON.h
      type_or_value: (0)
    - item_type: preproc_def
      name: cJSON_False
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/cJSON/cJSON.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: cJSON_True
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/cJSON/cJSON.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: cJSON_NULL
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/cJSON/cJSON.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: cJSON_Number
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/cJSON/cJSON.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: cJSON_String
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/cJSON/cJSON.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: cJSON_Array
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/cJSON/cJSON.h
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: cJSON_Object
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/cJSON/cJSON.h
      type_or_value: (1 << 6)
    - item_type: preproc_def
      name: cJSON_Raw
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/cJSON/cJSON.h
      type_or_value: '(1 << 7) '
    - item_type: preproc_def
      name: cJSON_IsReference
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/cJSON/cJSON.h
      type_or_value: '256'
    - item_type: preproc_def
      name: cJSON_StringIsConst
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/cJSON/cJSON.h
      type_or_value: '512'
    - item_type: preproc_def
      name: CJSON_NESTING_LIMIT
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/cJSON/cJSON.h
      type_or_value: '1000'
    structs:
    - fields:
      - name: '*next'
        type: struct cJSON
      - name: '*prev'
        type: struct cJSON
      - name: '*child'
        type: struct cJSON
      - name: type
        type: int
      - name: '*valuestring'
        type: char
      - name: valueint
        type: int
      - name: valuedouble
        type: double
      - name: '*string'
        type: char
      item_type: struct
      name: cJSON
      pos:
        line_end: 122
        line_start: 102
        source_file: /src/cJSON/cJSON.h
    - fields:
      - name: '*(CJSON_CDECL *malloc_fn)(size_t sz)'
        type: void
      - name: (CJSON_CDECL *free_fn)(void *ptr)
        type: void
      item_type: struct
      name: cJSON_Hooks
      pos:
        line_end: 129
        line_start: 124
        source_file: /src/cJSON/cJSON.h
    typedefs:
    - item_type: typedef
      name: cJSON_bool
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/cJSON/cJSON.h
      type: int
    union: []
- function_names:
  - create_monitor
  - create_monitor_with_helpers
  - supports_full_hd
  - cJSON_ArrayForEach
  - create_monitor_should_create_a_monitor
  - create_monitor_with_helpers_should_create_a_monitor
  - supports_full_hd_should_check_for_full_hd_support
  - CJSON_CDECL::main
  source_file: /src/cJSON/tests/readme_examples.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - assert_is_object
  - assert_is_child
  - assert_not_object
  - assert_parse_object
  - parse_object_should_parse_empty_objects
  - parse_object_should_parse_objects_with_one_element
  - parse_object_should_parse_objects_with_multiple_elements
  - parse_object_should_not_parse_non_objects
  - CJSON_CDECL::main
  source_file: /src/cJSON/tests/parse_object.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CJSON_CDECL::failing_malloc
  - CJSON_CDECL::normal_free
  - cjson_add_null_should_add_null
  - cjson_add_null_should_fail_with_null_pointers
  - cjson_add_null_should_fail_on_allocation_failure
  - cjson_add_true_should_add_true
  - cjson_add_true_should_fail_with_null_pointers
  - cjson_add_true_should_fail_on_allocation_failure
  - cjson_create_int_array_should_fail_on_allocation_failure
  - cjson_create_float_array_should_fail_on_allocation_failure
  - cjson_create_double_array_should_fail_on_allocation_failure
  - cjson_create_string_array_should_fail_on_allocation_failure
  - cjson_add_false_should_add_false
  - cjson_add_false_should_fail_with_null_pointers
  - cjson_add_false_should_fail_on_allocation_failure
  - cjson_add_bool_should_add_bool
  - cjson_add_bool_should_fail_with_null_pointers
  - cjson_add_bool_should_fail_on_allocation_failure
  - cjson_add_number_should_add_number
  - cjson_add_number_should_fail_with_null_pointers
  - cjson_add_number_should_fail_on_allocation_failure
  - cjson_add_string_should_add_string
  - cjson_add_string_should_fail_with_null_pointers
  - cjson_add_string_should_fail_on_allocation_failure
  - cjson_add_raw_should_add_raw
  - cjson_add_raw_should_fail_with_null_pointers
  - cjson_add_raw_should_fail_on_allocation_failure
  - cJSON_add_object_should_add_object
  - cjson_add_object_should_fail_with_null_pointers
  - cjson_add_object_should_fail_on_allocation_failure
  - cJSON_add_array_should_add_array
  - cjson_add_array_should_fail_with_null_pointers
  - cjson_add_array_should_fail_on_allocation_failure
  - CJSON_CDECL::main
  source_file: /src/cJSON/tests/cjson_add.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - assert_print_number
  - print_number_should_print_zero
  - print_number_should_print_negative_integers
  - print_number_should_print_positive_integers
  - print_number_should_print_positive_reals
  - print_number_should_print_negative_reals
  - print_number_should_print_non_number
  - CJSON_CDECL::main
  source_file: /src/cJSON/tests/print_number.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cjson_array_foreach_should_loop_over_arrays
  - cJSON_ArrayForEach
  - cjson_array_foreach_should_not_dereference_null_pointer
  - cjson_get_object_item_should_get_object_items
  - cjson_get_object_item_case_sensitive_should_get_object_items
  - cjson_get_object_item_should_not_crash_with_array
  - cjson_get_object_item_case_sensitive_should_not_crash_with_array
  - typecheck_functions_should_check_type
  - cjson_should_not_parse_to_deeply_nested_jsons
  - cjson_set_number_value_should_set_numbers
  - cjson_detach_item_via_pointer_should_detach_items
  - cjson_replace_item_via_pointer_should_replace_items
  - cjson_replace_item_in_object_should_preserve_name
  - cjson_functions_should_not_crash_with_null_pointers
  - CJSON_CDECL::failing_realloc
  - ensure_should_fail_on_failed_realloc
  - skip_utf8_bom_should_skip_bom
  - skip_utf8_bom_should_not_skip_bom_if_not_at_beginning
  - cjson_get_string_value_should_get_a_string
  - cjson_get_number_value_should_get_a_number
  - cjson_create_string_reference_should_create_a_string_reference
  - cjson_create_object_reference_should_create_an_object_reference
  - cjson_create_array_reference_should_create_an_array_reference
  - cjson_add_item_to_object_or_array_should_not_add_itself
  - cjson_add_item_to_object_should_not_use_after_free_when_string_is_aliased
  - cjson_delete_item_from_array_should_not_broken_list_structure
  - cjson_set_valuestring_to_object_should_not_leak_memory
  - cjson_set_bool_value_must_not_break_objects
  - CJSON_CDECL::main
  source_file: /src/cJSON/tests/misc_tests.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - assert_is_value
  - assert_parse_value
  - parse_value_should_parse_null
  - parse_value_should_parse_true
  - parse_value_should_parse_false
  - parse_value_should_parse_number
  - parse_value_should_parse_string
  - parse_value_should_parse_array
  - parse_value_should_parse_object
  - CJSON_CDECL::main
  source_file: /src/cJSON/tests/parse_value.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - assert_print_value
  - print_value_should_print_null
  - print_value_should_print_true
  - print_value_should_print_false
  - print_value_should_print_number
  - print_value_should_print_string
  - print_value_should_print_array
  - print_value_should_print_object
  - CJSON_CDECL::main
  source_file: /src/cJSON/tests/print_value.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - setUp
  - tearDown
  source_file: /src/cJSON/tests/unity_setup.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - parse_file
  - do_test
  - file_test1_should_be_parsed_and_printed
  - file_test2_should_be_parsed_and_printed
  - file_test3_should_be_parsed_and_printed
  - file_test4_should_be_parsed_and_printed
  - file_test5_should_be_parsed_and_printed
  - file_test6_should_not_be_parsed
  - file_test7_should_be_parsed_and_printed
  - file_test8_should_be_parsed_and_printed
  - file_test9_should_be_parsed_and_printed
  - file_test10_should_be_parsed_and_printed
  - file_test11_should_be_parsed_and_printed
  - test12_should_not_be_parsed
  - test13_should_be_parsed_without_null_termination
  - test14_should_not_be_parsed
  - CJSON_CDECL::main
  source_file: /src/cJSON/tests/parse_examples.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_DIR_PATH
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/cJSON/tests/parse_examples.c
      type_or_value: '"inputs/"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - parse_test_file
  - test_apply_patch
  - test_generate_test
  - cjson_utils_should_pass_json_patch_test_tests
  - cJSON_ArrayForEach
  - cjson_utils_should_pass_json_patch_test_spec_tests
  - cJSON_ArrayForEach
  - cjson_utils_should_pass_json_patch_test_cjson_utils_tests
  - cJSON_ArrayForEach
  - main
  source_file: /src/cJSON/tests/json_patch_tests.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - compare_from_string
  - cjson_compare_should_compare_null_pointer_as_not_equal
  - cjson_compare_should_compare_invalid_as_not_equal
  - cjson_compare_should_compare_numbers
  - cjson_compare_should_compare_booleans
  - cjson_compare_should_compare_null
  - cjson_compare_should_not_accept_invalid_types
  - cjson_compare_should_compare_strings
  - cjson_compare_should_compare_raw
  - cjson_compare_should_compare_arrays
  - cjson_compare_should_compare_objects
  - CJSON_CDECL::main
  source_file: /src/cJSON/tests/compare_tests.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - parse_hex4_should_parse_all_combinations
  - parse_hex4_should_parse_mixed_case
  - CJSON_CDECL::main
  source_file: /src/cJSON/tests/parse_hex4.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - assert_print_object
  - print_object_should_print_empty_objects
  - print_object_should_print_objects_with_one_element
  - print_object_should_print_objects_with_multiple_elements
  - CJSON_CDECL::main
  source_file: /src/cJSON/tests/print_object.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - reset
  - read_file
  - assert_has_type
  - assert_has_no_reference
  - assert_has_no_const_string
  - assert_has_valuestring
  - assert_has_no_valuestring
  - assert_has_string
  - assert_has_no_string
  - assert_not_in_list
  - assert_has_child
  - assert_has_no_child
  - assert_is_invalid
  source_file: /src/cJSON/tests/common.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - assert_is_number
  - assert_parse_number
  - parse_number_should_parse_zero
  - parse_number_should_parse_negative_integers
  - parse_number_should_parse_positive_integers
  - parse_number_should_parse_positive_reals
  - parse_number_should_parse_negative_reals
  - CJSON_CDECL::main
  source_file: /src/cJSON/tests/parse_number.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - assert_is_array
  - assert_not_array
  - assert_parse_array
  - parse_array_should_parse_empty_arrays
  - parse_array_should_parse_arrays_with_one_element
  - parse_array_should_parse_arrays_with_multiple_elements
  - parse_array_should_not_parse_non_arrays
  - CJSON_CDECL::main
  source_file: /src/cJSON/tests/parse_array.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cjson_minify_should_not_overflow_buffer
  - cjson_minify_should_remove_single_line_comments
  - cjson_minify_should_remove_spaces
  - cjson_minify_should_remove_multiline_comments
  - cjson_minify_should_not_modify_strings
  - cjson_minify_should_minify_json
  - cjson_minify_should_not_loop_infinitely
  - CJSON_CDECL::main
  source_file: /src/cJSON/tests/minify_tests.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cjson_utils_functions_shouldnt_crash_with_null_pointers
  - main
  source_file: /src/cJSON/tests/misc_utils_tests.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - assert_print_string
  - print_string_should_print_empty_strings
  - print_string_should_print_ascii
  - print_string_should_print_utf8
  - CJSON_CDECL::main
  source_file: /src/cJSON/tests/print_string.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - assert_print_array
  - print_array_should_print_empty_arrays
  - print_array_should_print_arrays_with_one_element
  - print_array_should_print_arrays_with_multiple_elements
  - CJSON_CDECL::main
  source_file: /src/cJSON/tests/print_array.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - parse_with_opts_should_handle_null
  - parse_with_opts_should_handle_empty_strings
  - parse_with_opts_should_handle_incomplete_json
  - parse_with_opts_should_require_null_if_requested
  - parse_with_opts_should_return_parse_end
  - parse_with_opts_should_parse_utf8_bom
  - CJSON_CDECL::main
  source_file: /src/cJSON/tests/parse_with_opts.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - assert_is_string
  - assert_parse_string
  - assert_not_parse_string
  - parse_string_should_parse_strings
  - parse_string_should_parse_utf16_surrogate_pairs
  - parse_string_should_not_parse_non_strings
  - parse_string_should_not_parse_invalid_backslash
  - parse_string_should_not_overflow_with_closing_backslash
  - parse_string_should_parse_bug_94
  - CJSON_CDECL::main
  source_file: /src/cJSON/tests/parse_string.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - json_pointer_tests
  - misc_tests
  - sort_tests
  - merge_tests
  - generate_merge_tests
  - main
  source_file: /src/cJSON/tests/old_utils_tests.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - putcharSpy
  - setUp
  - tearDown
  - test_TheseShouldAllPass
  - test_TheseAreEveryOther
  - test_NormalPassesStillWork
  source_file: /src/cJSON/tests/unity/test/tests/testparameterized.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXPECT_ABORT_BEGIN
      pos:
        line_end: 17
        line_start: 14
        source_file: /src/cJSON/tests/unity/test/tests/testparameterized.c
      type_or_value: "if (TEST_PROTECT())    \\\n    {"
    - item_type: preproc_def
      name: VERIFY_FAILS_END
      pos:
        line_end: 29
        line_start: 18
        source_file: /src/cJSON/tests/unity/test/tests/testparameterized.c
      type_or_value: "}                                                                          \\\n
        \   Unity.CurrentTestFailed = (Unity.CurrentTestFailed != 0) ? 0 : 1;          \\\n
        \   if (Unity.CurrentTestFailed == 1) {                                        \\\n
        \     SetToOneMeanWeAlreadyCheckedThisGuy = 1;                                 \\\n
        \     UnityPrintNumberUnsigned(Unity.CurrentTestLineNumber);                   \\\n
        \     UNITY_OUTPUT_CHAR(':');                                                  \\\n
        \     UnityPrint(Unity.CurrentTestName);                                       \\\n
        \     UnityPrint(\":FAIL: [[[[ Test Should Have Failed But Did Not ]]]]\");
        \     \\\n      UNITY_OUTPUT_CHAR('\\n');                                                 \\\n
        \   }"
    - item_type: preproc_def
      name: VERIFY_IGNORES_END
      pos:
        line_end: 42
        line_start: 30
        source_file: /src/cJSON/tests/unity/test/tests/testparameterized.c
      type_or_value: "}                                                                          \\\n
        \   Unity.CurrentTestFailed = (Unity.CurrentTestIgnored != 0) ? 0 : 1;         \\\n
        \   Unity.CurrentTestIgnored = 0;                                              \\\n
        \   if (Unity.CurrentTestFailed == 1) {                                        \\\n
        \     SetToOneMeanWeAlreadyCheckedThisGuy = 1;                                 \\\n
        \     UnityPrintNumberUnsigned(Unity.CurrentTestLineNumber);                   \\\n
        \     UNITY_OUTPUT_CHAR(':');                                                  \\\n
        \     UnityPrint(Unity.CurrentTestName);                                       \\\n
        \     UnityPrint(\":FAIL: [[[[ Test Should Have Ignored But Did Not ]]]]\");
        \    \\\n      UNITY_OUTPUT_CHAR('\\n');                                                 \\\n
        \   }"
    structs: []
    typedefs: []
    union: []
- function_names:
  - setUp
  - tearDown
  - testUnitySizeInitializationReminder
  - testPassShouldEndImmediatelyWithPass
  - testTrue
  - testFalse
  - testPreviousPass
  - testNotVanilla
  - testNotTrue
  - testNotFalse
  - testNotUnless
  - testNotNotEqual
  - testFail
  - testIsNull
  - testIsNullShouldFailIfNot
  - testNotNullShouldFailIfNULL
  - testIgnore
  - testIgnoreMessage
  - testNotEqualInts
  - testNotEqualInt8s
  - testNotEqualInt16s
  - testNotEqualInt32s
  - testNotEqualBits
  - testNotEqualUInts
  - testNotEqualUInt8s
  - testNotEqualUInt16s
  - testNotEqualUInt32s
  - testNotEqualHex8s
  - testNotEqualHex8sIfSigned
  - testNotEqualHex16s
  - testNotEqualHex16sIfSigned
  - testNotEqualHex32s
  - testNotEqualHex32sIfSigned
  - testEqualInts
  - testEqualInt8s
  - testEqualInt8sWhenThereAreDifferencesOutside8Bits
  - testEqualInt16s
  - testEqualInt16sNegatives
  - testEqualInt16sWhenThereAreDifferencesOutside16Bits
  - testEqualInt32s
  - testEqualInt32sNegatives
  - testEqualUints
  - testEqualUint8s
  - testEqualUint8sWhenThereAreDifferencesOutside8Bits
  - testEqualUint16s
  - testEqualUint16sWhenThereAreDifferencesOutside16Bits
  - testEqualUint32s
  - testNotEqual
  - testEqualHex8s
  - testEqualHex8sWhenThereAreDifferencesOutside8Bits
  - testEqualHex8sNegatives
  - testEqualHex16s
  - testEqualHex16sWhenThereAreDifferencesOutside16Bits
  - testEqualHex32s
  - testEqualBits
  - testNotEqualBitHigh
  - testNotEqualBitLow
  - testNotEqualBitsHigh
  - testNotEqualBitsLow
  - testEqualShorts
  - testEqualUShorts
  - testEqualChars
  - testEqualUChars
  - testEqualPointers
  - testNotEqualPointers
  - testIntsWithinDelta
  - testIntsWithinDeltaAndCustomMessage
  - testIntsNotWithinDelta
  - testIntsNotWithinDeltaAndCustomMessage
  - testUIntsWithinDelta
  - testUIntsWithinDeltaAndCustomMessage
  - testUIntsNotWithinDelta
  - testUIntsNotWithinDeltaAndCustomMessage
  - testUIntsNotWithinDeltaEvenThoughASignedIntWouldPassSmallFirst
  - testUIntsNotWithinDeltaEvenThoughASignedIntWouldPassSmallFirstAndCustomMessage
  - testUIntsNotWithinDeltaEvenThoughASignedIntWouldPassBigFirst
  - testUIntsNotWithinDeltaEvenThoughASignedIntWouldPassBigFirstAndCustomMessage
  - testHEX32sWithinDelta
  - testHEX32sWithinDeltaAndCustomMessage
  - testHEX32sNotWithinDelta
  - testHEX32sNotWithinDeltaAndCustomMessage
  - testHEX32sNotWithinDeltaEvenThoughASignedIntWouldPass
  - testHEX32sNotWithinDeltaEvenThoughASignedIntWouldPassAndCustomMessage
  - testHEX16sWithinDelta
  - testHEX16sWithinDeltaAndCustomMessage
  - testHEX16sWithinDeltaWhenThereAreDifferenceOutsideOf16Bits
  - testHEX16sWithinDeltaWhenThereAreDifferenceOutsideOf16BitsAndCustomMessage
  - testHEX16sNotWithinDelta
  - testHEX16sNotWithinDeltaAndCustomMessage
  - testHEX8sWithinDelta
  - testHEX8sWithinDeltaAndCustomMessage
  - testHEX8sWithinDeltaWhenThereAreDifferenceOutsideOf8Bits
  - testHEX8sWithinDeltaWhenThereAreDifferenceOutsideOf8BitsAndCustomMessage
  - testHEX8sNotWithinDelta
  - testHEX8sNotWithinDeltaAndCustomMessage
  - testUINT32sWithinDelta
  - testUINT32sWithinDeltaAndCustomMessage
  - testUINT32sNotWithinDelta
  - testUINT32sNotWithinDeltaAndCustomMessage
  - testUINT32sNotWithinDeltaEvenThoughASignedIntWouldPass
  - testUINT32sNotWithinDeltaEvenThoughASignedIntWouldPassAndCustomMessage
  - testUINT16sWithinDelta
  - testUINT16sWithinDeltaAndCustomMessage
  - testUINT16sWithinDeltaWhenThereAreDifferenceOutsideOf16Bits
  - testUINT16sWithinDeltaWhenThereAreDifferenceOutsideOf16BitsAndCustomMessage
  - testUINT16sNotWithinDelta
  - testUINT16sNotWithinDeltaAndCustomMessage
  - testUINT8sWithinDelta
  - testUINT8sWithinDeltaAndCustomMessage
  - testUINT8sWithinDeltaWhenThereAreDifferenceOutsideOf8Bits
  - testUINT8sWithinDeltaWhenThereAreDifferenceOutsideOf8BitsAndCustomMessage
  - testUINT8sNotWithinDelta
  - testUINT8sNotWithinDeltaAndCustomMessage
  - testINT32sWithinDelta
  - testINT32sWithinDeltaAndCustomMessage
  - testINT32sNotWithinDelta
  - testINT32sNotWithinDeltaAndDifferenceOverflows
  - testINT32sNotWithinDeltaAndCustomMessage
  - testINT16sWithinDelta
  - testINT16sWithinDeltaAndCustomMessage
  - testINT16sWithinDeltaWhenThereAreDifferenceOutsideOf16Bits
  - testINT16sWithinDeltaWhenThereAreDifferenceOutsideOf16BitsAndCustomMessage
  - testINT16sNotWithinDelta
  - testINT16sNotWithinDeltaAndCustomMessage
  - testINT8sWithinDelta
  - testINT8sWithinDeltaAndCustomMessage
  - testINT8sWithinDeltaWhenThereAreDifferenceOutsideOf8Bits
  - testINT8sWithinDeltaWhenThereAreDifferenceOutsideOf8BitsAndCustomMessage
  - testINT8sNotWithinDelta
  - testINT8sNotWithinDeltaAndCustomMessage
  - testGreaterThan
  - testGreaterThanINT
  - testGreaterThanINT8
  - testGreaterThanINT16
  - testGreaterThanINT32
  - testGreaterThanUINT
  - testGreaterThanUINT8
  - testGreaterThanUINT16
  - testGreaterThanUINT32
  - testGreaterThanHEX8
  - testGreaterThanHEX16
  - testGreaterThanHEX32
  - testNotGreaterThan
  - testLessThan
  - testLessThanINT
  - testLessThanINT8
  - testLessThanINT16
  - testLessThanINT32
  - testLessThanUINT
  - testLessThanUINT8
  - testLessThanUINT16
  - testLessThanUINT32
  - testLessThanHEX8
  - testLessThanHEX16
  - testLessThanHEX32
  - testNotLessThan
  - testEqualStrings
  - testEqualStringsLen
  - testEqualStringsWithCarriageReturnsAndLineFeeds
  - testNotEqualString1
  - testNotEqualStringLen1
  - testNotEqualString2
  - testNotEqualStringLen2
  - testNotEqualString3
  - testNotEqualStringLen3
  - testNotEqualString4
  - testNotEqualStringLen4
  - testNotEqualString5
  - testNotEqualString_ExpectedStringIsNull
  - testNotEqualStringLen_ExpectedStringIsNull
  - testNotEqualString_ActualStringIsNull
  - testNotEqualStringLen_ActualStringIsNull
  - testEqualStringArrays
  - testNotEqualStringArray1
  - testNotEqualStringArray2
  - testNotEqualStringArray3
  - testNotEqualStringArray4
  - testNotEqualStringArray5
  - testNotEqualStringArray6
  - testEqualStringArrayIfBothNulls
  - testNotEqualStringArrayLengthZero
  - testEqualStringEachEqual
  - testNotEqualStringEachEqual1
  - testNotEqualStringEachEqual2
  - testNotEqualStringEachEqual3
  - testNotEqualStringEachEqual4
  - testNotEqualStringEachEqual5
  - testEqualMemory
  - testNotEqualMemory1
  - testNotEqualMemory2
  - testNotEqualMemory3
  - testNotEqualMemory4
  - testNotEqualMemoryLengthZero
  - testEqualIntArrays
  - testNotEqualIntArraysNullExpected
  - testNotEqualIntArraysNullActual
  - testNotEqualIntArrays1
  - testNotEqualIntArrays2
  - testNotEqualIntArrays3
  - testNotEqualIntArraysLengthZero
  - testEqualIntEachEqual
  - testNotEqualIntEachEqualNullActual
  - testNotEqualIntEachEqual1
  - testNotEqualIntEachEqual2
  - testNotEqualIntEachEqual3
  - testNotEqualEachEqualLengthZero
  - testEqualPtrArrays
  - testNotEqualPtrArraysNullExpected
  - testNotEqualPtrArraysNullActual
  - testNotEqualPtrArrays1
  - testNotEqualPtrArrays2
  - testNotEqualPtrArrays3
  - testEqualPtrEachEqual
  - testNotEqualPtrEachEqualNullExpected
  - testNotEqualPtrEachEqualNullActual
  - testNotEqualPtrEachEqual1
  - testNotEqualPtrEachEqual2
  - testNotEqualPtrEachEqual3
  - testEqualInt8Arrays
  - testNotEqualInt8Arrays
  - testEqualInt8EachEqual
  - testNotEqualInt8EachEqual
  - testEqualUIntArrays
  - testNotEqualUIntArrays1
  - testNotEqualUIntArrays2
  - testNotEqualUIntArrays3
  - testEqualUIntEachEqual
  - testNotEqualUIntEachEqual1
  - testNotEqualUIntEachEqual2
  - testNotEqualUIntEachEqual3
  - testEqualInt16Arrays
  - testNotEqualInt16Arrays
  - testEqualInt16EachEqual
  - testNotEqualInt16EachEqual
  - testEqualInt32Arrays
  - testNotEqualInt32Arrays
  - testEqualInt32EachEqual
  - testNotEqualInt32EachEqual
  - testEqualUINT8Arrays
  - testNotEqualUINT8Arrays1
  - testNotEqualUINT8Arrays2
  - testNotEqualUINT8Arrays3
  - testEqualUINT16Arrays
  - testNotEqualUINT16Arrays1
  - testNotEqualUINT16Arrays2
  - testNotEqualUINT16Arrays3
  - testEqualUINT32Arrays
  - testNotEqualUINT32Arrays1
  - testNotEqualUINT32Arrays2
  - testNotEqualUINT32Arrays3
  - testEqualHEXArrays
  - testNotEqualHEXArrays1
  - testNotEqualHEXArrays2
  - testNotEqualHEXArrays3
  - testEqualHEX32Arrays
  - testNotEqualHEX32Arrays1
  - testNotEqualHEX32Arrays2
  - testNotEqualHEX32Arrays3
  - testEqualHEX16Arrays
  - testNotEqualHEX16Arrays1
  - testNotEqualHEX16Arrays2
  - testNotEqualHEX16Arrays3
  - testEqualHEX8Arrays
  - testNotEqualHEX8Arrays1
  - testNotEqualHEX8Arrays2
  - testNotEqualHEX8Arrays3
  - testEqualUINT8EachEqual
  - testNotEqualUINT8EachEqual1
  - testNotEqualUINT8EachEqual2
  - testNotEqualUINT8EachEqual3
  - testEqualUINT16EachEqual
  - testNotEqualUINT16EachEqual1
  - testNotEqualUINT16EachEqual2
  - testNotEqualUINT16EachEqual3
  - testEqualUINT32EachEqual
  - testNotEqualUINT32EachEqual1
  - testNotEqualUINT32EachEqual2
  - testNotEqualUINT32EachEqual3
  - testEqualHEXEachEqual
  - testNotEqualHEXEachEqual1
  - testNotEqualHEXEachEqual2
  - testNotEqualHEXEachEqual3
  - testEqualHEX32EachEqual
  - testNotEqualHEX32EachEqual1
  - testNotEqualHEX32EachEqual2
  - testNotEqualHEX32EachEqual3
  - testEqualHEX16EachEqual
  - testNotEqualHEX16EachEqual1
  - testNotEqualHEX16EachEqual2
  - testNotEqualHEX16EachEqual3
  - testEqualHEX8EachEqual
  - testNotEqualHEX8EachEqual1
  - testNotEqualHEX8EachEqual2
  - testNotEqualHEX8EachEqual3
  - testEqualMemoryArrays
  - testNotEqualMemoryArraysExpectedNull
  - testNotEqualMemoryArraysActualNull
  - testNotEqualMemoryArrays1
  - testNotEqualMemoryArrays2
  - testNotEqualMemoryArrays3
  - testEqualMemoryEachEqual
  - testNotEqualMemoryEachEqualExpectedNull
  - testNotEqualMemoryEachEqualActualNull
  - testNotEqualMemoryEachEqual1
  - testNotEqualMemoryEachEqual2
  - testNotEqualMemoryEachEqual3
  - testProtection
  - testIgnoredAndThenFailInTearDown
  - USING_SPY_AS
  - ASSIGN_VALUE
  - EXPAND_AND_USE_2ND
  - SECOND_PARAM
  - startPutcharSpy
  - endPutcharSpy
  - getBufferPutcharSpy
  - putcharSpy
  - testFailureCountIncrementsAndIsReturnedAtEnd
  - testCstringsEscapeSequence
  - testHexPrintsUpToMaxNumberOfNibbles
  - TEST_ASSERT_EQUAL_PRINT_NUMBERS
  - TEST_ASSERT_EQUAL_PRINT_UNSIGNED_NUMBERS
  - testPrintNumbers32
  - testPrintNumbersUnsigned32
  - testPrintNumbersInt64
  - testPrintNumbersUInt64
  - testEqualHex64s
  - testEqualUint64s
  - testEqualInt64s
  - testNotEqualHex64s
  - testNotEqualUint64s
  - testNotEqualInt64s
  - testNotEqualHex64sIfSigned
  - testHEX64sWithinDelta
  - testHEX64sNotWithinDelta
  - testHEX64sNotWithinDeltaEvenThoughASignedIntWouldPass
  - testUINT64sWithinDelta
  - testUINT64sNotWithinDelta
  - testUINT64sNotWithinDeltaEvenThoughASignedIntWouldPass
  - testINT64sWithinDelta
  - testINT64sNotWithinDelta
  - testINT64sNotWithinDeltaAndDifferenceOverflows
  - testEqualHEX64Arrays
  - testEqualUint64Arrays
  - testEqualInt64Arrays
  - testNotEqualHEX64Arrays1
  - testNotEqualHEX64Arrays2
  - testNotEqualUint64Arrays
  - testNotEqualInt64Arrays
  - testFloatsWithinDelta
  - testFloatsNotWithinDelta
  - testFloatsEqual
  - testFloatsNotEqual
  - testFloatsNotEqualNegative1
  - testFloatsNotEqualNegative2
  - testFloatsNotEqualActualNaN
  - testFloatsNotEqualExpectedNaN
  - testFloatsEqualBothNaN
  - testFloatsNotEqualInfNaN
  - testFloatsNotEqualNaNInf
  - testFloatsNotEqualActualInf
  - testFloatsNotEqualExpectedInf
  - testFloatsEqualBothInf
  - testFloatsNotEqualPlusMinusInf
  - testFloatIsPosInf1
  - testFloatIsPosInf2
  - testFloatIsNegInf1
  - testFloatIsNegInf2
  - testFloatIsNotPosInf1
  - testFloatIsNotPosInf2
  - testFloatIsNotNegInf
  - testFloatIsNan1
  - testFloatIsNan2
  - testFloatIsNotNan1
  - testFloatIsNotNan2
  - testFloatInfIsNotNan
  - testFloatNanIsNotInf
  - testFloatIsDeterminate1
  - testFloatIsDeterminate2
  - testFloatIsNotDeterminate1
  - testFloatIsNotDeterminate2
  - testFloatTraitFailsOnInvalidTrait
  - testEqualFloatArrays
  - testNotEqualFloatArraysExpectedNull
  - testNotEqualFloatArraysActualNull
  - testNotEqualFloatArrays1
  - testNotEqualFloatArrays2
  - testNotEqualFloatArrays3
  - testNotEqualFloatArraysNegative1
  - testNotEqualFloatArraysNegative2
  - testNotEqualFloatArraysNegative3
  - testEqualFloatArraysNaN
  - testEqualFloatArraysInf
  - testNotEqualFloatArraysLengthZero
  - testEqualFloatEachEqual
  - testNotEqualFloatEachEqualActualNull
  - testNotEqualFloatEachEqual1
  - testNotEqualFloatEachEqual2
  - testNotEqualFloatEachEqual3
  - testNotEqualFloatEachEqualNegative1
  - testNotEqualFloatEachEqualNegative2
  - testNotEqualFloatEachEqualNegative3
  - testEqualFloatEachEqualNaN
  - testEqualFloatEachEqualInf
  - testNotEqualFloatEachEqualLengthZero
  - TEST_ASSERT_EQUAL_PRINT_FLOATING
  - testFloatPrinting
  - testFloatPrintingInfinityAndNaN
  - printFloatValue
  - testFloatPrintingRandomSamples
  - testDoublesWithinDelta
  - testDoublesNotWithinDelta
  - testDoublesEqual
  - testDoublesNotEqual
  - testDoublesNotEqualNegative1
  - testDoublesNotEqualNegative2
  - testDoublesNotEqualActualNaN
  - testDoublesNotEqualExpectedNaN
  - testDoublesEqualBothNaN
  - testDoublesNotEqualInfNaN
  - testDoublesNotEqualNaNInf
  - testDoublesNotEqualActualInf
  - testDoublesNotEqualExpectedInf
  - testDoublesEqualBothInf
  - testDoublesNotEqualPlusMinusInf
  - testDoubleIsPosInf1
  - testDoubleIsPosInf2
  - testDoubleIsNegInf1
  - testDoubleIsNegInf2
  - testDoubleIsNotPosInf1
  - testDoubleIsNotPosInf2
  - testDoubleIsNotNegInf
  - testDoubleIsNan1
  - testDoubleIsNan2
  - testDoubleIsNotNan1
  - testDoubleIsNotNan2
  - testDoubleInfIsNotNan
  - testDoubleNanIsNotInf
  - testDoubleIsDeterminate1
  - testDoubleIsDeterminate2
  - testDoubleIsNotDeterminate1
  - testDoubleIsNotDeterminate2
  - testDoubleTraitFailsOnInvalidTrait
  - testEqualDoubleArrays
  - testNotEqualDoubleArraysExpectedNull
  - testNotEqualDoubleArraysActualNull
  - testNotEqualDoubleArrays1
  - testNotEqualDoubleArrays2
  - testNotEqualDoubleArrays3
  - testNotEqualDoubleArraysNegative1
  - testNotEqualDoubleArraysNegative2
  - testNotEqualDoubleArraysNegative3
  - testEqualDoubleArraysNaN
  - testEqualDoubleArraysInf
  - testNotEqualDoubleArraysLengthZero
  - testEqualDoubleEachEqual
  - testNotEqualDoubleEachEqualActualNull
  - testNotEqualDoubleEachEqual1
  - testNotEqualDoubleEachEqual2
  - testNotEqualDoubleEachEqual3
  - testNotEqualDoubleEachEqualNegative1
  - testNotEqualDoubleEachEqualNegative2
  - testNotEqualDoubleEachEqualNegative3
  - testEqualDoubleEachEqualNaN
  - testEqualDoubleEachEqualInf
  - testNotEqualDoubleEachEqualLengthZero
  - testDoublePrinting
  - testDoublePrintingInfinityAndNaN
  - testThatDetailsCanBeHandleOneDetail
  - testThatDetailsCanHandleTestFail
  - testThatDetailsCanBeHandleTwoDetails
  - testThatDetailsCanBeHandleSingleDetailClearingTwoDetails
  source_file: /src/cJSON/tests/unity/test/tests/testunity.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXPECT_ABORT_BEGIN
      pos:
        line_end: 24
        line_start: 20
        source_file: /src/cJSON/tests/unity/test/tests/testunity.c
      type_or_value: "startPutcharSpy();     \\\n    if (TEST_PROTECT())    \\\n    {"
    - item_type: preproc_def
      name: Unity
      pos:
        line_end: 37
        line_start: 25
        source_file: /src/cJSON/tests/unity/test/tests/testunity.c
      type_or_value: ".CurrentTestFailed = (Unity.CurrentTestFailed == 1) ? 0 : 1;
        \         \\\n    if (Unity.CurrentTestFailed == 1) {                                        \\\n
        \     SetToOneMeanWeAlreadyCheckedThisGuy = 1;                                 \\\n
        \     UnityPrintNumberUnsigned(Unity.CurrentTestLineNumber);                   \\\n
        \     UNITY_OUTPUT_CHAR(':');                                                  \\\n
        \     UnityPrint(Unity.CurrentTestName);                                       \\\n
        \     UnityPrint(\":FAIL: [[[[ Test Should Have Failed But Did Not ]]]]\");
        \     \\\n      UNITY_OUTPUT_CHAR('\\n');                                                 \\\n
        \   }"
    - item_type: preproc_def
      name: Unity
      pos:
        line_end: 51
        line_start: 38
        source_file: /src/cJSON/tests/unity/test/tests/testunity.c
      type_or_value: ".CurrentTestFailed = (Unity.CurrentTestIgnored == 1) ? 0 : 1;
        \        \\\n    Unity.CurrentTestIgnored = 0;                                              \\\n
        \   if (Unity.CurrentTestFailed == 1) {                                        \\\n
        \     SetToOneMeanWeAlreadyCheckedThisGuy = 1;                                 \\\n
        \     UnityPrintNumberUnsigned(Unity.CurrentTestLineNumber);                   \\\n
        \     UNITY_OUTPUT_CHAR(':');                                                  \\\n
        \     UnityPrint(Unity.CurrentTestName);                                       \\\n
        \     UnityPrint(\":FAIL: [[[[ Test Should Have Ignored But Did Not ]]]]\");
        \    \\\n      UNITY_OUTPUT_CHAR('\\n');                                                 \\\n
        \   }"
    - item_type: preproc_def
      name: VAL_putcharSpy
      pos:
        line_end: 3297
        line_start: 3296
        source_file: /src/cJSON/tests/unity/test/tests/testunity.c
      type_or_value: 0, 1
    - item_type: preproc_def
      name: SPY_BUFFER_MAX
      pos:
        line_end: 3306
        line_start: 3305
        source_file: /src/cJSON/tests/unity/test/tests/testunity.c
      type_or_value: '40'
    structs:
    - fields:
      - name: '* TestFile'
        type: char
      - name: '* CurrentTestName'
        type: char
      - name: CurrentTestLineNumber
        type: UNITY_LINE_TYPE
      - name: NumberOfTests
        type: UNITY_COUNTER_TYPE
      - name: TestFailures
        type: UNITY_COUNTER_TYPE
      - name: TestIgnores
        type: UNITY_COUNTER_TYPE
      - name: CurrentTestFailed
        type: UNITY_COUNTER_TYPE
      - name: CurrentTestIgnored
        type: UNITY_COUNTER_TYPE
      item_type: struct
      name: _Expected_Unity
      pos:
        line_end: 104
        line_start: 92
        source_file: /src/cJSON/tests/unity/test/tests/testunity.c
    - fields:
      - name: '* TestFile'
        type: char
      - name: '* CurrentTestName'
        type: char
      - name: '* CurrentDetails1'
        type: char
      - name: '* CurrentDetails2'
        type: char
      - name: CurrentTestLineNumber
        type: UNITY_LINE_TYPE
      - name: NumberOfTests
        type: UNITY_COUNTER_TYPE
      - name: TestFailures
        type: UNITY_COUNTER_TYPE
      - name: TestIgnores
        type: UNITY_COUNTER_TYPE
      - name: CurrentTestFailed
        type: UNITY_COUNTER_TYPE
      - name: CurrentTestIgnored
        type: UNITY_COUNTER_TYPE
      item_type: struct
      name: _Expected_Unity
      pos:
        line_end: 120
        line_start: 106
        source_file: /src/cJSON/tests/unity/test/tests/testunity.c
    typedefs: []
    union:
    - fields:
      - name: f_value
        type: float
      - name: int_value
        type: uint32_t
      item_type: union
      name: u
      pos:
        line_end: 4561
        line_start: 4561
        source_file: /src/cJSON/tests/unity/test/tests/testunity.c
- function_names:
  - RUN_TEST
  - CMock_Init
  - CMock_Verify
  - CMock_Destroy
  - suite_setup
  - resetTest
  - main
  source_file: /src/cJSON/tests/unity/test/expectdata/testsample_mock_yaml.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RUN_TEST
  - CMock_Init
  - CMock_Verify
  - CMock_Destroy
  - resetTest
  - main
  source_file: /src/cJSON/tests/unity/test/expectdata/testsample_mock_def.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RUN_TEST
  - resetTest
  - main
  source_file: /src/cJSON/tests/unity/test/expectdata/testsample_param.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cJSON/tests/unity/test/expectdata/testsample_mock_head1.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RUN_TEST
  - resetTest
  - main
  source_file: /src/cJSON/tests/unity/test/expectdata/testsample_cmd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RUN_TEST
  - CMock_Init
  - CMock_Verify
  - CMock_Destroy
  - suite_setup
  - suite_teardown
  - resetTest
  - main
  source_file: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RUN_TEST
  - suite_setup
  - resetTest
  - main
  source_file: /src/cJSON/tests/unity/test/expectdata/testsample_yaml.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RUN_TEST
  - CMock_Init
  - CMock_Verify
  - CMock_Destroy
  - suite_setup
  - suite_teardown
  - resetTest
  - main
  source_file: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RUN_TEST
  - resetTest
  - main
  source_file: /src/cJSON/tests/unity/test/expectdata/testsample_head1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RUN_TEST
  - resetTest
  - main
  source_file: /src/cJSON/tests/unity/test/expectdata/testsample_new1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RUN_TEST
  - CMock_Init
  - CMock_Verify
  - CMock_Destroy
  - resetTest
  - main
  source_file: /src/cJSON/tests/unity/test/expectdata/testsample_mock_param.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RUN_TEST
  - CMock_Init
  - CMock_Verify
  - CMock_Destroy
  - resetTest
  - main
  source_file: /src/cJSON/tests/unity/test/expectdata/testsample_mock_cmd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RUN_TEST
  - CMock_Init
  - CMock_Verify
  - CMock_Destroy
  - resetTest
  - main
  source_file: /src/cJSON/tests/unity/test/expectdata/testsample_mock_new1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RUN_TEST
  - suite_setup
  - suite_teardown
  - resetTest
  - main
  source_file: /src/cJSON/tests/unity/test/expectdata/testsample_run2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RUN_TEST
  - CMock_Init
  - CMock_Verify
  - CMock_Destroy
  - resetTest
  - main
  source_file: /src/cJSON/tests/unity/test/expectdata/testsample_mock_run1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RUN_TEST
  - CMock_Init
  - CMock_Verify
  - CMock_Destroy
  - resetTest
  - main
  source_file: /src/cJSON/tests/unity/test/expectdata/testsample_mock_head1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RUN_TEST
  - suite_setup
  - suite_teardown
  - resetTest
  - main
  source_file: /src/cJSON/tests/unity/test/expectdata/testsample_new2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RUN_TEST
  - resetTest
  - main
  source_file: /src/cJSON/tests/unity/test/expectdata/testsample_run1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cJSON/tests/unity/test/expectdata/testsample_head1.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RUN_TEST
  - resetTest
  - main
  source_file: /src/cJSON/tests/unity/test/expectdata/testsample_def.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cJSON/tests/unity/test/testdata/Defs.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - putcharSpy
  - setUp
  - tearDown
  - custom_setup
  - custom_teardown
  - test_ThisTestAlwaysPasses
  - test_ThisTestAlwaysFails
  - test_ThisTestAlwaysIgnored
  - qwiktest_ThisTestPassesWhenNoSetupRan
  - qwiktest_ThisTestPassesWhenNoTeardownRan
  - spec_ThisTestPassesWhenNormalSuiteSetupAndTeardownRan
  - spec_ThisTestPassesWhenNormalSetupRan
  - spec_ThisTestPassesWhenNormalTeardownRan
  - custtest_ThisTestPassesWhenCustomSetupRan
  - custtest_ThisTestPassesWhenCustomTeardownRan
  - test_NotBeConfusedByLongComplicatedStrings
  - test_NotDisappearJustBecauseTheTestBeforeAndAfterHaveCrazyStrings
  - test_StillNotBeConfusedByLongComplicatedStrings
  - should_RunTestsStartingWithShouldByDefault
  - paratest_ShouldHandleParameterizedTests
  - paratest_ShouldHandleParameterizedTests2
  - paratest_ShouldHandleNonParameterizedTestsWhenParameterizationValid
  - paratest_ShouldHandleParameterizedTestsThatFail
  - extest_ShouldHandleCExceptionInTest
  - main
  - suitetest_ThisTestPassesWhenCustomSuiteSetupAndTeardownRan
  source_file: /src/cJSON/tests/unity/test/testdata/testRunnerGenerator.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cJSON/tests/unity/test/testdata/mockMock.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - putcharSpy
  - setUp
  - tearDown
  - custom_setup
  - custom_teardown
  - test_ThisTestAlwaysPasses
  - test_ThisTestAlwaysFails
  - test_ThisTestAlwaysIgnored
  - qwiktest_ThisTestPassesWhenNoSetupRan
  - qwiktest_ThisTestPassesWhenNoTeardownRan
  - spec_ThisTestPassesWhenNormalSuiteSetupAndTeardownRan
  - spec_ThisTestPassesWhenNormalSetupRan
  - spec_ThisTestPassesWhenNormalTeardownRan
  - custtest_ThisTestPassesWhenCustomSetupRan
  - custtest_ThisTestPassesWhenCustomTeardownRan
  - test_NotBeConfusedByLongComplicatedStrings
  - test_NotDisappearJustBecauseTheTestBeforeAndAfterHaveCrazyStrings
  - test_StillNotBeConfusedByLongComplicatedStrings
  - should_RunTestsStartingWithShouldByDefault
  - paratest_ShouldHandleParameterizedTests
  - paratest_ShouldHandleParameterizedTests2
  - paratest_ShouldHandleNonParameterizedTestsWhenParameterizationValid
  - paratest_ShouldHandleParameterizedTestsThatFail
  - extest_ShouldHandleCExceptionInTest
  - main
  - suitetest_ThisTestPassesWhenCustomSuiteSetupAndTeardownRan
  - test_ShouldCallMockInitAndVerifyFunctionsForEachTest
  source_file: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorWithMocks.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CMock_Guts_MemFreeFinal
  - mockMock_Init
  - mockMock_Verify
  - mockMock_Destroy
  source_file: /src/cJSON/tests/unity/test/testdata/cmock.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - putcharSpy
  - setUp
  - tearDown
  - custom_setup
  - custom_teardown
  - test_ThisTestAlwaysPasses
  - test_ThisTestAlwaysFails
  - test_ThisTestAlwaysIgnored
  - spec_ThisTestPassesWhenNormalSetupRan
  - spec_ThisTestPassesWhenNormalTeardownRan
  source_file: /src/cJSON/tests/unity/test/testdata/testRunnerGeneratorSmall.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Catch
  source_file: /src/cJSON/tests/unity/test/testdata/CException.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CEXCEPTION_BEING_USED
      pos:
        line_end: 4
        line_start: 3
        source_file: /src/cJSON/tests/unity/test/testdata/CException.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CEXCEPTION_NONE
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/cJSON/tests/unity/test/testdata/CException.h
      type_or_value: '0'
    - item_type: preproc_def
      name: CEXCEPTION_T
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/cJSON/tests/unity/test/testdata/CException.h
      type_or_value: int e = 1; (void)
    - item_type: preproc_def
      name: Try
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/cJSON/tests/unity/test/testdata/CException.h
      type_or_value: if (e)
    structs: []
    typedefs: []
    union: []
- function_names:
  - UnityPrint
  - UnityPrintLen
  - UnityPrintNumberByStyle
  - UnityPrintNumber
  - UnityPrintNumberUnsigned
  - UnityPrintNumberHex
  - UnityPrintMask
  - UnityPrintFloat
  - UnityTestResultsBegin
  - UnityTestResultsFailBegin
  - UnityConcludeTest
  - UnityAddMsgIfSpecified
  - UnityPrintExpectedAndActualStrings
  - UnityPrintExpectedAndActualStringsLen
  - UnityIsOneArrayNull
  - UnityAssertBits
  - UnityAssertEqualNumber
  - UnityAssertGreaterOrLessOrEqualNumber
  - UnityPrintPointlessAndBail
  - UnityAssertEqualIntArray
  - UNITY_FLOAT_OR_DOUBLE_WITHIN
  - UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT
  - UNITY_PRINT_EXPECTED_AND_ACTUAL_FLOAT
  - UnityFloatsWithin
  - UnityAssertEqualFloatArray
  - UnityAssertFloatsWithin
  - UnityAssertFloatSpecial
  - UnityDoublesWithin
  - UnityAssertEqualDoubleArray
  - UnityAssertDoublesWithin
  - UnityAssertDoubleSpecial
  - UnityAssertNumbersWithin
  - UnityAssertEqualString
  - UnityAssertEqualStringLen
  - UnityAssertEqualStringArray
  - UnityAssertEqualMemory
  - UnityNumToPtr
  - UnityFloatToPtr
  - UnityDoubleToPtr
  - UnityFail
  - UnityIgnore
  - UnityDefaultTestRun
  - UnityBegin
  - UnityEnd
  - UnityParseOptions
  - IsStringInBiggerString
  - UnityStringArgumentMatches
  - UnityTestMatches
  source_file: /src/cJSON/tests/unity/src/unity.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UNITY_FAIL_AND_BAIL
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/cJSON/tests/unity/src/unity.c
      type_or_value: '{ Unity.CurrentTestFailed  = 1; TEST_ABORT(); }'
    - item_type: preproc_def
      name: UNITY_IGNORE_AND_BAIL
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/cJSON/tests/unity/src/unity.c
      type_or_value: '{ Unity.CurrentTestIgnored = 1; TEST_ABORT(); }'
    - item_type: preproc_def
      name: RETURN_IF_FAIL_OR_IGNORE
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/cJSON/tests/unity/src/unity.c
      type_or_value: if (Unity.CurrentTestFailed || Unity.CurrentTestIgnored) return
    - item_type: preproc_def
      name: UNITY_NAN_CHECK
      pos:
        line_end: 689
        line_start: 688
        source_file: /src/cJSON/tests/unity/src/unity.c
      type_or_value: isnan(expected) && isnan(actual)
    - item_type: preproc_def
      name: UNITY_NAN_CHECK
      pos:
        line_end: 691
        line_start: 690
        source_file: /src/cJSON/tests/unity/src/unity.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union:
    - fields:
      - name: i8
        type: UNITY_INT8
      - name: i16
        type: UNITY_INT16
      - name: i32
        type: UNITY_INT32
      item_type: union
      name: UnityQuickCompare
      pos:
        line_end: 1234
        line_start: 1220
        source_file: /src/cJSON/tests/unity/src/unity.c
- function_names:
  - setUp
  - tearDown
  - suiteSetUp
  - suiteTearDown
  - setUp
  - tearDown
  - suiteSetUp
  - suiteTearDown
  - TEST_FAIL_MESSAGE
  - TEST_FAIL
  - TEST_IGNORE_MESSAGE
  - TEST_IGNORE
  - TEST_PASS
  - TEST_ASSERT
  - TEST_ASSERT_TRUE
  - TEST_ASSERT_UNLESS
  - TEST_ASSERT_FALSE
  - TEST_ASSERT_NULL
  - TEST_ASSERT_NOT_NULL
  - TEST_ASSERT_EQUAL_INT
  - TEST_ASSERT_EQUAL_INT8
  - TEST_ASSERT_EQUAL_INT16
  - TEST_ASSERT_EQUAL_INT32
  - TEST_ASSERT_EQUAL_INT64
  - TEST_ASSERT_EQUAL
  - TEST_ASSERT_NOT_EQUAL
  - TEST_ASSERT_EQUAL_UINT
  - TEST_ASSERT_EQUAL_UINT8
  - TEST_ASSERT_EQUAL_UINT16
  - TEST_ASSERT_EQUAL_UINT32
  - TEST_ASSERT_EQUAL_UINT64
  - TEST_ASSERT_EQUAL_HEX
  - TEST_ASSERT_EQUAL_HEX8
  - TEST_ASSERT_EQUAL_HEX16
  - TEST_ASSERT_EQUAL_HEX32
  - TEST_ASSERT_EQUAL_HEX64
  - TEST_ASSERT_BITS
  - TEST_ASSERT_BITS_HIGH
  - TEST_ASSERT_BITS_LOW
  - TEST_ASSERT_BIT_HIGH
  - TEST_ASSERT_BIT_LOW
  - TEST_ASSERT_GREATER_THAN
  - TEST_ASSERT_GREATER_THAN_INT
  - TEST_ASSERT_GREATER_THAN_INT8
  - TEST_ASSERT_GREATER_THAN_INT16
  - TEST_ASSERT_GREATER_THAN_INT32
  - TEST_ASSERT_GREATER_THAN_INT64
  - TEST_ASSERT_GREATER_THAN_UINT
  - TEST_ASSERT_GREATER_THAN_UINT8
  - TEST_ASSERT_GREATER_THAN_UINT16
  - TEST_ASSERT_GREATER_THAN_UINT32
  - TEST_ASSERT_GREATER_THAN_UINT64
  - TEST_ASSERT_GREATER_THAN_HEX8
  - TEST_ASSERT_GREATER_THAN_HEX16
  - TEST_ASSERT_GREATER_THAN_HEX32
  - TEST_ASSERT_GREATER_THAN_HEX64
  - TEST_ASSERT_LESS_THAN
  - TEST_ASSERT_LESS_THAN_INT
  - TEST_ASSERT_LESS_THAN_INT8
  - TEST_ASSERT_LESS_THAN_INT16
  - TEST_ASSERT_LESS_THAN_INT32
  - TEST_ASSERT_LESS_THAN_INT64
  - TEST_ASSERT_LESS_THAN_UINT
  - TEST_ASSERT_LESS_THAN_UINT8
  - TEST_ASSERT_LESS_THAN_UINT16
  - TEST_ASSERT_LESS_THAN_UINT32
  - TEST_ASSERT_LESS_THAN_UINT64
  - TEST_ASSERT_LESS_THAN_HEX8
  - TEST_ASSERT_LESS_THAN_HEX16
  - TEST_ASSERT_LESS_THAN_HEX32
  - TEST_ASSERT_LESS_THAN_HEX64
  - TEST_ASSERT_GREATER_OR_EQUAL
  - TEST_ASSERT_GREATER_OR_EQUAL_INT
  - TEST_ASSERT_GREATER_OR_EQUAL_INT8
  - TEST_ASSERT_GREATER_OR_EQUAL_INT16
  - TEST_ASSERT_GREATER_OR_EQUAL_INT32
  - TEST_ASSERT_GREATER_OR_EQUAL_INT64
  - TEST_ASSERT_GREATER_OR_EQUAL_UINT
  - TEST_ASSERT_GREATER_OR_EQUAL_UINT8
  - TEST_ASSERT_GREATER_OR_EQUAL_UINT16
  - TEST_ASSERT_GREATER_OR_EQUAL_UINT32
  - TEST_ASSERT_GREATER_OR_EQUAL_UINT64
  - TEST_ASSERT_GREATER_OR_EQUAL_HEX8
  - TEST_ASSERT_GREATER_OR_EQUAL_HEX16
  - TEST_ASSERT_GREATER_OR_EQUAL_HEX32
  - TEST_ASSERT_GREATER_OR_EQUAL_HEX64
  - TEST_ASSERT_LESS_OR_EQUAL
  - TEST_ASSERT_LESS_OR_EQUAL_INT
  - TEST_ASSERT_LESS_OR_EQUAL_INT8
  - TEST_ASSERT_LESS_OR_EQUAL_INT16
  - TEST_ASSERT_LESS_OR_EQUAL_INT32
  - TEST_ASSERT_LESS_OR_EQUAL_INT64
  - TEST_ASSERT_LESS_OR_EQUAL_UINT
  - TEST_ASSERT_LESS_OR_EQUAL_UINT8
  - TEST_ASSERT_LESS_OR_EQUAL_UINT16
  - TEST_ASSERT_LESS_OR_EQUAL_UINT32
  - TEST_ASSERT_LESS_OR_EQUAL_UINT64
  - TEST_ASSERT_LESS_OR_EQUAL_HEX8
  - TEST_ASSERT_LESS_OR_EQUAL_HEX16
  - TEST_ASSERT_LESS_OR_EQUAL_HEX32
  - TEST_ASSERT_LESS_OR_EQUAL_HEX64
  - TEST_ASSERT_INT_WITHIN
  - TEST_ASSERT_INT8_WITHIN
  - TEST_ASSERT_INT16_WITHIN
  - TEST_ASSERT_INT32_WITHIN
  - TEST_ASSERT_INT64_WITHIN
  - TEST_ASSERT_UINT_WITHIN
  - TEST_ASSERT_UINT8_WITHIN
  - TEST_ASSERT_UINT16_WITHIN
  - TEST_ASSERT_UINT32_WITHIN
  - TEST_ASSERT_UINT64_WITHIN
  - TEST_ASSERT_HEX_WITHIN
  - TEST_ASSERT_HEX8_WITHIN
  - TEST_ASSERT_HEX16_WITHIN
  - TEST_ASSERT_HEX32_WITHIN
  - TEST_ASSERT_HEX64_WITHIN
  - TEST_ASSERT_EQUAL_PTR
  - TEST_ASSERT_EQUAL_STRING
  - TEST_ASSERT_EQUAL_STRING_LEN
  - TEST_ASSERT_EQUAL_MEMORY
  - TEST_ASSERT_EQUAL_INT_ARRAY
  - TEST_ASSERT_EQUAL_INT8_ARRAY
  - TEST_ASSERT_EQUAL_INT16_ARRAY
  - TEST_ASSERT_EQUAL_INT32_ARRAY
  - TEST_ASSERT_EQUAL_INT64_ARRAY
  - TEST_ASSERT_EQUAL_UINT_ARRAY
  - TEST_ASSERT_EQUAL_UINT8_ARRAY
  - TEST_ASSERT_EQUAL_UINT16_ARRAY
  - TEST_ASSERT_EQUAL_UINT32_ARRAY
  - TEST_ASSERT_EQUAL_UINT64_ARRAY
  - TEST_ASSERT_EQUAL_HEX_ARRAY
  - TEST_ASSERT_EQUAL_HEX8_ARRAY
  - TEST_ASSERT_EQUAL_HEX16_ARRAY
  - TEST_ASSERT_EQUAL_HEX32_ARRAY
  - TEST_ASSERT_EQUAL_HEX64_ARRAY
  - TEST_ASSERT_EQUAL_PTR_ARRAY
  - TEST_ASSERT_EQUAL_STRING_ARRAY
  - TEST_ASSERT_EQUAL_MEMORY_ARRAY
  - TEST_ASSERT_EACH_EQUAL_INT
  - TEST_ASSERT_EACH_EQUAL_INT8
  - TEST_ASSERT_EACH_EQUAL_INT16
  - TEST_ASSERT_EACH_EQUAL_INT32
  - TEST_ASSERT_EACH_EQUAL_INT64
  - TEST_ASSERT_EACH_EQUAL_UINT
  - TEST_ASSERT_EACH_EQUAL_UINT8
  - TEST_ASSERT_EACH_EQUAL_UINT16
  - TEST_ASSERT_EACH_EQUAL_UINT32
  - TEST_ASSERT_EACH_EQUAL_UINT64
  - TEST_ASSERT_EACH_EQUAL_HEX
  - TEST_ASSERT_EACH_EQUAL_HEX8
  - TEST_ASSERT_EACH_EQUAL_HEX16
  - TEST_ASSERT_EACH_EQUAL_HEX32
  - TEST_ASSERT_EACH_EQUAL_HEX64
  - TEST_ASSERT_EACH_EQUAL_PTR
  - TEST_ASSERT_EACH_EQUAL_STRING
  - TEST_ASSERT_EACH_EQUAL_MEMORY
  - TEST_ASSERT_FLOAT_WITHIN
  - TEST_ASSERT_EQUAL_FLOAT
  - TEST_ASSERT_EQUAL_FLOAT_ARRAY
  - TEST_ASSERT_EACH_EQUAL_FLOAT
  - TEST_ASSERT_FLOAT_IS_INF
  - TEST_ASSERT_FLOAT_IS_NEG_INF
  - TEST_ASSERT_FLOAT_IS_NAN
  - TEST_ASSERT_FLOAT_IS_DETERMINATE
  - TEST_ASSERT_FLOAT_IS_NOT_INF
  - TEST_ASSERT_FLOAT_IS_NOT_NEG_INF
  - TEST_ASSERT_FLOAT_IS_NOT_NAN
  - TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE
  - TEST_ASSERT_DOUBLE_WITHIN
  - TEST_ASSERT_EQUAL_DOUBLE
  - TEST_ASSERT_EQUAL_DOUBLE_ARRAY
  - TEST_ASSERT_EACH_EQUAL_DOUBLE
  - TEST_ASSERT_DOUBLE_IS_INF
  - TEST_ASSERT_DOUBLE_IS_NEG_INF
  - TEST_ASSERT_DOUBLE_IS_NAN
  - TEST_ASSERT_DOUBLE_IS_DETERMINATE
  - TEST_ASSERT_DOUBLE_IS_NOT_INF
  - TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF
  - TEST_ASSERT_DOUBLE_IS_NOT_NAN
  - TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE
  - TEST_ASSERT_MESSAGE
  - TEST_ASSERT_TRUE_MESSAGE
  - TEST_ASSERT_UNLESS_MESSAGE
  - TEST_ASSERT_FALSE_MESSAGE
  - TEST_ASSERT_NULL_MESSAGE
  - TEST_ASSERT_NOT_NULL_MESSAGE
  - TEST_ASSERT_EQUAL_INT_MESSAGE
  - TEST_ASSERT_EQUAL_INT8_MESSAGE
  - TEST_ASSERT_EQUAL_INT16_MESSAGE
  - TEST_ASSERT_EQUAL_INT32_MESSAGE
  - TEST_ASSERT_EQUAL_INT64_MESSAGE
  - TEST_ASSERT_EQUAL_MESSAGE
  - TEST_ASSERT_NOT_EQUAL_MESSAGE
  - TEST_ASSERT_EQUAL_UINT_MESSAGE
  - TEST_ASSERT_EQUAL_UINT8_MESSAGE
  - TEST_ASSERT_EQUAL_UINT16_MESSAGE
  - TEST_ASSERT_EQUAL_UINT32_MESSAGE
  - TEST_ASSERT_EQUAL_UINT64_MESSAGE
  - TEST_ASSERT_EQUAL_HEX_MESSAGE
  - TEST_ASSERT_EQUAL_HEX8_MESSAGE
  - TEST_ASSERT_EQUAL_HEX16_MESSAGE
  - TEST_ASSERT_EQUAL_HEX32_MESSAGE
  - TEST_ASSERT_EQUAL_HEX64_MESSAGE
  - TEST_ASSERT_BITS_MESSAGE
  - TEST_ASSERT_BITS_HIGH_MESSAGE
  - TEST_ASSERT_BITS_LOW_MESSAGE
  - TEST_ASSERT_BIT_HIGH_MESSAGE
  - TEST_ASSERT_BIT_LOW_MESSAGE
  - TEST_ASSERT_GREATER_THAN_MESSAGE
  - TEST_ASSERT_GREATER_THAN_INT_MESSAGE
  - TEST_ASSERT_GREATER_THAN_INT8_MESSAGE
  - TEST_ASSERT_GREATER_THAN_INT16_MESSAGE
  - TEST_ASSERT_GREATER_THAN_INT32_MESSAGE
  - TEST_ASSERT_GREATER_THAN_INT64_MESSAGE
  - TEST_ASSERT_GREATER_THAN_UINT_MESSAGE
  - TEST_ASSERT_GREATER_THAN_UINT8_MESSAGE
  - TEST_ASSERT_GREATER_THAN_UINT16_MESSAGE
  - TEST_ASSERT_GREATER_THAN_UINT32_MESSAGE
  - TEST_ASSERT_GREATER_THAN_UINT64_MESSAGE
  - TEST_ASSERT_GREATER_THAN_HEX8_MESSAGE
  - TEST_ASSERT_GREATER_THAN_HEX16_MESSAGE
  - TEST_ASSERT_GREATER_THAN_HEX32_MESSAGE
  - TEST_ASSERT_GREATER_THAN_HEX64_MESSAGE
  - TEST_ASSERT_LESS_THAN_MESSAGE
  - TEST_ASSERT_LESS_THAN_INT_MESSAGE
  - TEST_ASSERT_LESS_THAN_INT8_MESSAGE
  - TEST_ASSERT_LESS_THAN_INT16_MESSAGE
  - TEST_ASSERT_LESS_THAN_INT32_MESSAGE
  - TEST_ASSERT_LESS_THAN_INT64_MESSAGE
  - TEST_ASSERT_LESS_THAN_UINT_MESSAGE
  - TEST_ASSERT_LESS_THAN_UINT8_MESSAGE
  - TEST_ASSERT_LESS_THAN_UINT16_MESSAGE
  - TEST_ASSERT_LESS_THAN_UINT32_MESSAGE
  - TEST_ASSERT_LESS_THAN_UINT64_MESSAGE
  - TEST_ASSERT_LESS_THAN_HEX8_MESSAGE
  - TEST_ASSERT_LESS_THAN_HEX16_MESSAGE
  - TEST_ASSERT_LESS_THAN_HEX32_MESSAGE
  - TEST_ASSERT_LESS_THAN_HEX64_MESSAGE
  - TEST_ASSERT_GREATER_OR_EQUAL_MESSAGE
  - TEST_ASSERT_GREATER_OR_EQUAL_INT_MESSAGE
  - TEST_ASSERT_GREATER_OR_EQUAL_INT8_MESSAGE
  - TEST_ASSERT_GREATER_OR_EQUAL_INT16_MESSAGE
  - TEST_ASSERT_GREATER_OR_EQUAL_INT32_MESSAGE
  - TEST_ASSERT_GREATER_OR_EQUAL_INT64_MESSAGE
  - TEST_ASSERT_GREATER_OR_EQUAL_UINT_MESSAGE
  - TEST_ASSERT_GREATER_OR_EQUAL_UINT8_MESSAGE
  - TEST_ASSERT_GREATER_OR_EQUAL_UINT16_MESSAGE
  - TEST_ASSERT_GREATER_OR_EQUAL_UINT32_MESSAGE
  - TEST_ASSERT_GREATER_OR_EQUAL_UINT64_MESSAGE
  - TEST_ASSERT_GREATER_OR_EQUAL_HEX8_MESSAGE
  - TEST_ASSERT_GREATER_OR_EQUAL_HEX16_MESSAGE
  - TEST_ASSERT_GREATER_OR_EQUAL_HEX32_MESSAGE
  - TEST_ASSERT_GREATER_OR_EQUAL_HEX64_MESSAGE
  - TEST_ASSERT_LESS_OR_EQUAL_MESSAGE
  - TEST_ASSERT_LESS_OR_EQUAL_INT_MESSAGE
  - TEST_ASSERT_LESS_OR_EQUAL_INT8_MESSAGE
  - TEST_ASSERT_LESS_OR_EQUAL_INT16_MESSAGE
  - TEST_ASSERT_LESS_OR_EQUAL_INT32_MESSAGE
  - TEST_ASSERT_LESS_OR_EQUAL_INT64_MESSAGE
  - TEST_ASSERT_LESS_OR_EQUAL_UINT_MESSAGE
  - TEST_ASSERT_LESS_OR_EQUAL_UINT8_MESSAGE
  - TEST_ASSERT_LESS_OR_EQUAL_UINT16_MESSAGE
  - TEST_ASSERT_LESS_OR_EQUAL_UINT32_MESSAGE
  - TEST_ASSERT_LESS_OR_EQUAL_UINT64_MESSAGE
  - TEST_ASSERT_LESS_OR_EQUAL_HEX8_MESSAGE
  - TEST_ASSERT_LESS_OR_EQUAL_HEX16_MESSAGE
  - TEST_ASSERT_LESS_OR_EQUAL_HEX32_MESSAGE
  - TEST_ASSERT_LESS_OR_EQUAL_HEX64_MESSAGE
  - TEST_ASSERT_INT_WITHIN_MESSAGE
  - TEST_ASSERT_INT8_WITHIN_MESSAGE
  - TEST_ASSERT_INT16_WITHIN_MESSAGE
  - TEST_ASSERT_INT32_WITHIN_MESSAGE
  - TEST_ASSERT_INT64_WITHIN_MESSAGE
  - TEST_ASSERT_UINT_WITHIN_MESSAGE
  - TEST_ASSERT_UINT8_WITHIN_MESSAGE
  - TEST_ASSERT_UINT16_WITHIN_MESSAGE
  - TEST_ASSERT_UINT32_WITHIN_MESSAGE
  - TEST_ASSERT_UINT64_WITHIN_MESSAGE
  - TEST_ASSERT_HEX_WITHIN_MESSAGE
  - TEST_ASSERT_HEX8_WITHIN_MESSAGE
  - TEST_ASSERT_HEX16_WITHIN_MESSAGE
  - TEST_ASSERT_HEX32_WITHIN_MESSAGE
  - TEST_ASSERT_HEX64_WITHIN_MESSAGE
  - TEST_ASSERT_EQUAL_PTR_MESSAGE
  - TEST_ASSERT_EQUAL_STRING_MESSAGE
  - TEST_ASSERT_EQUAL_STRING_LEN_MESSAGE
  - TEST_ASSERT_EQUAL_MEMORY_MESSAGE
  - TEST_ASSERT_EQUAL_INT_ARRAY_MESSAGE
  - TEST_ASSERT_EQUAL_INT8_ARRAY_MESSAGE
  - TEST_ASSERT_EQUAL_INT16_ARRAY_MESSAGE
  - TEST_ASSERT_EQUAL_INT32_ARRAY_MESSAGE
  - TEST_ASSERT_EQUAL_INT64_ARRAY_MESSAGE
  - TEST_ASSERT_EQUAL_UINT_ARRAY_MESSAGE
  - TEST_ASSERT_EQUAL_UINT8_ARRAY_MESSAGE
  - TEST_ASSERT_EQUAL_UINT16_ARRAY_MESSAGE
  - TEST_ASSERT_EQUAL_UINT32_ARRAY_MESSAGE
  - TEST_ASSERT_EQUAL_UINT64_ARRAY_MESSAGE
  - TEST_ASSERT_EQUAL_HEX_ARRAY_MESSAGE
  - TEST_ASSERT_EQUAL_HEX8_ARRAY_MESSAGE
  - TEST_ASSERT_EQUAL_HEX16_ARRAY_MESSAGE
  - TEST_ASSERT_EQUAL_HEX32_ARRAY_MESSAGE
  - TEST_ASSERT_EQUAL_HEX64_ARRAY_MESSAGE
  - TEST_ASSERT_EQUAL_PTR_ARRAY_MESSAGE
  - TEST_ASSERT_EQUAL_STRING_ARRAY_MESSAGE
  - TEST_ASSERT_EQUAL_MEMORY_ARRAY_MESSAGE
  - TEST_ASSERT_EACH_EQUAL_INT_MESSAGE
  - TEST_ASSERT_EACH_EQUAL_INT8_MESSAGE
  - TEST_ASSERT_EACH_EQUAL_INT16_MESSAGE
  - TEST_ASSERT_EACH_EQUAL_INT32_MESSAGE
  - TEST_ASSERT_EACH_EQUAL_INT64_MESSAGE
  - TEST_ASSERT_EACH_EQUAL_UINT_MESSAGE
  - TEST_ASSERT_EACH_EQUAL_UINT8_MESSAGE
  - TEST_ASSERT_EACH_EQUAL_UINT16_MESSAGE
  - TEST_ASSERT_EACH_EQUAL_UINT32_MESSAGE
  - TEST_ASSERT_EACH_EQUAL_UINT64_MESSAGE
  - TEST_ASSERT_EACH_EQUAL_HEX_MESSAGE
  - TEST_ASSERT_EACH_EQUAL_HEX8_MESSAGE
  - TEST_ASSERT_EACH_EQUAL_HEX16_MESSAGE
  - TEST_ASSERT_EACH_EQUAL_HEX32_MESSAGE
  - TEST_ASSERT_EACH_EQUAL_HEX64_MESSAGE
  - TEST_ASSERT_EACH_EQUAL_PTR_MESSAGE
  - TEST_ASSERT_EACH_EQUAL_STRING_MESSAGE
  - TEST_ASSERT_EACH_EQUAL_MEMORY_MESSAGE
  - TEST_ASSERT_FLOAT_WITHIN_MESSAGE
  - TEST_ASSERT_EQUAL_FLOAT_MESSAGE
  - TEST_ASSERT_EQUAL_FLOAT_ARRAY_MESSAGE
  - TEST_ASSERT_EACH_EQUAL_FLOAT_MESSAGE
  - TEST_ASSERT_FLOAT_IS_INF_MESSAGE
  - TEST_ASSERT_FLOAT_IS_NEG_INF_MESSAGE
  - TEST_ASSERT_FLOAT_IS_NAN_MESSAGE
  - TEST_ASSERT_FLOAT_IS_DETERMINATE_MESSAGE
  - TEST_ASSERT_FLOAT_IS_NOT_INF_MESSAGE
  - TEST_ASSERT_FLOAT_IS_NOT_NEG_INF_MESSAGE
  - TEST_ASSERT_FLOAT_IS_NOT_NAN_MESSAGE
  - TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE_MESSAGE
  - TEST_ASSERT_DOUBLE_WITHIN_MESSAGE
  - TEST_ASSERT_EQUAL_DOUBLE_MESSAGE
  - TEST_ASSERT_EQUAL_DOUBLE_ARRAY_MESSAGE
  - TEST_ASSERT_EACH_EQUAL_DOUBLE_MESSAGE
  - TEST_ASSERT_DOUBLE_IS_INF_MESSAGE
  - TEST_ASSERT_DOUBLE_IS_NEG_INF_MESSAGE
  - TEST_ASSERT_DOUBLE_IS_NAN_MESSAGE
  - TEST_ASSERT_DOUBLE_IS_DETERMINATE_MESSAGE
  - TEST_ASSERT_DOUBLE_IS_NOT_INF_MESSAGE
  - TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF_MESSAGE
  - TEST_ASSERT_DOUBLE_IS_NOT_NAN_MESSAGE
  - TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE_MESSAGE
  source_file: /src/cJSON/tests/unity/src/unity.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isinf
  - isnan
  - UNITY_OUTPUT_CHAR
  - UNITY_OUTPUT_FLUSH
  - UNITY_FLUSH_CALL
  - UNITY_PRINT_EOL
  - UNITY_CLR_DETAILS
  - UNITY_SET_DETAIL
  - UNITY_SET_DETAILS
  - TEST_PROTECT
  - TEST_ABORT
  - TEST_PROTECT
  - TEST_ABORT
  - RUN_TEST
  - RUN_TEST_FIRST
  - RUN_TEST_FIRST_HELPER
  - RUN_TEST_SECOND
  - RUN_TEST_SECOND_HELPER
  - RUN_TEST
  - RUN_TEST
  - UNITY_NEW_TEST
  - UNITY_BEGIN
  - UNITY_END
  - UNITY_TEST_FAIL
  - UNITY_TEST_IGNORE
  - UNITY_TEST_ASSERT
  - UNITY_TEST_ASSERT_NULL
  - UNITY_TEST_ASSERT_NOT_NULL
  - UNITY_TEST_ASSERT_EQUAL_INT
  - UNITY_TEST_ASSERT_EQUAL_INT8
  - UNITY_TEST_ASSERT_EQUAL_INT16
  - UNITY_TEST_ASSERT_EQUAL_INT32
  - UNITY_TEST_ASSERT_EQUAL_UINT
  - UNITY_TEST_ASSERT_EQUAL_UINT8
  - UNITY_TEST_ASSERT_EQUAL_UINT16
  - UNITY_TEST_ASSERT_EQUAL_UINT32
  - UNITY_TEST_ASSERT_EQUAL_HEX8
  - UNITY_TEST_ASSERT_EQUAL_HEX16
  - UNITY_TEST_ASSERT_EQUAL_HEX32
  - UNITY_TEST_ASSERT_BITS
  - UNITY_TEST_ASSERT_GREATER_THAN_INT
  - UNITY_TEST_ASSERT_GREATER_THAN_INT8
  - UNITY_TEST_ASSERT_GREATER_THAN_INT16
  - UNITY_TEST_ASSERT_GREATER_THAN_INT32
  - UNITY_TEST_ASSERT_GREATER_THAN_UINT
  - UNITY_TEST_ASSERT_GREATER_THAN_UINT8
  - UNITY_TEST_ASSERT_GREATER_THAN_UINT16
  - UNITY_TEST_ASSERT_GREATER_THAN_UINT32
  - UNITY_TEST_ASSERT_GREATER_THAN_HEX8
  - UNITY_TEST_ASSERT_GREATER_THAN_HEX16
  - UNITY_TEST_ASSERT_GREATER_THAN_HEX32
  - UNITY_TEST_ASSERT_SMALLER_THAN_INT
  - UNITY_TEST_ASSERT_SMALLER_THAN_INT8
  - UNITY_TEST_ASSERT_SMALLER_THAN_INT16
  - UNITY_TEST_ASSERT_SMALLER_THAN_INT32
  - UNITY_TEST_ASSERT_SMALLER_THAN_UINT
  - UNITY_TEST_ASSERT_SMALLER_THAN_UINT8
  - UNITY_TEST_ASSERT_SMALLER_THAN_UINT16
  - UNITY_TEST_ASSERT_SMALLER_THAN_UINT32
  - UNITY_TEST_ASSERT_SMALLER_THAN_HEX8
  - UNITY_TEST_ASSERT_SMALLER_THAN_HEX16
  - UNITY_TEST_ASSERT_SMALLER_THAN_HEX32
  - UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT
  - UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT8
  - UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT16
  - UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT32
  - UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT
  - UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT8
  - UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT16
  - UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT32
  - UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX8
  - UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX16
  - UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX32
  - UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT
  - UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT8
  - UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT16
  - UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT32
  - UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT
  - UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT8
  - UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT16
  - UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT32
  - UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX8
  - UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX16
  - UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX32
  - UNITY_TEST_ASSERT_INT_WITHIN
  - UNITY_TEST_ASSERT_INT8_WITHIN
  - UNITY_TEST_ASSERT_INT16_WITHIN
  - UNITY_TEST_ASSERT_INT32_WITHIN
  - UNITY_TEST_ASSERT_UINT_WITHIN
  - UNITY_TEST_ASSERT_UINT8_WITHIN
  - UNITY_TEST_ASSERT_UINT16_WITHIN
  - UNITY_TEST_ASSERT_UINT32_WITHIN
  - UNITY_TEST_ASSERT_HEX8_WITHIN
  - UNITY_TEST_ASSERT_HEX16_WITHIN
  - UNITY_TEST_ASSERT_HEX32_WITHIN
  - UNITY_TEST_ASSERT_EQUAL_PTR
  - UNITY_TEST_ASSERT_EQUAL_STRING
  - UNITY_TEST_ASSERT_EQUAL_STRING_LEN
  - UNITY_TEST_ASSERT_EQUAL_MEMORY
  - UNITY_TEST_ASSERT_EQUAL_INT_ARRAY
  - UNITY_TEST_ASSERT_EQUAL_INT8_ARRAY
  - UNITY_TEST_ASSERT_EQUAL_INT16_ARRAY
  - UNITY_TEST_ASSERT_EQUAL_INT32_ARRAY
  - UNITY_TEST_ASSERT_EQUAL_UINT_ARRAY
  - UNITY_TEST_ASSERT_EQUAL_UINT8_ARRAY
  - UNITY_TEST_ASSERT_EQUAL_UINT16_ARRAY
  - UNITY_TEST_ASSERT_EQUAL_UINT32_ARRAY
  - UNITY_TEST_ASSERT_EQUAL_HEX8_ARRAY
  - UNITY_TEST_ASSERT_EQUAL_HEX16_ARRAY
  - UNITY_TEST_ASSERT_EQUAL_HEX32_ARRAY
  - UNITY_TEST_ASSERT_EQUAL_PTR_ARRAY
  - UNITY_TEST_ASSERT_EQUAL_STRING_ARRAY
  - UNITY_TEST_ASSERT_EQUAL_MEMORY_ARRAY
  - UNITY_TEST_ASSERT_EACH_EQUAL_INT
  - UNITY_TEST_ASSERT_EACH_EQUAL_INT8
  - UNITY_TEST_ASSERT_EACH_EQUAL_INT16
  - UNITY_TEST_ASSERT_EACH_EQUAL_INT32
  - UNITY_TEST_ASSERT_EACH_EQUAL_UINT
  - UNITY_TEST_ASSERT_EACH_EQUAL_UINT8
  - UNITY_TEST_ASSERT_EACH_EQUAL_UINT16
  - UNITY_TEST_ASSERT_EACH_EQUAL_UINT32
  - UNITY_TEST_ASSERT_EACH_EQUAL_HEX8
  - UNITY_TEST_ASSERT_EACH_EQUAL_HEX16
  - UNITY_TEST_ASSERT_EACH_EQUAL_HEX32
  - UNITY_TEST_ASSERT_EACH_EQUAL_PTR
  - UNITY_TEST_ASSERT_EACH_EQUAL_STRING
  - UNITY_TEST_ASSERT_EACH_EQUAL_MEMORY
  - UNITY_TEST_ASSERT_EQUAL_INT64
  - UNITY_TEST_ASSERT_EQUAL_UINT64
  - UNITY_TEST_ASSERT_EQUAL_HEX64
  - UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY
  - UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY
  - UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY
  - UNITY_TEST_ASSERT_EACH_EQUAL_INT64
  - UNITY_TEST_ASSERT_EACH_EQUAL_UINT64
  - UNITY_TEST_ASSERT_EACH_EQUAL_HEX64
  - UNITY_TEST_ASSERT_INT64_WITHIN
  - UNITY_TEST_ASSERT_UINT64_WITHIN
  - UNITY_TEST_ASSERT_HEX64_WITHIN
  - UNITY_TEST_ASSERT_GREATER_THAN_INT64
  - UNITY_TEST_ASSERT_GREATER_THAN_UINT64
  - UNITY_TEST_ASSERT_GREATER_THAN_HEX64
  - UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64
  - UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64
  - UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64
  - UNITY_TEST_ASSERT_SMALLER_THAN_INT64
  - UNITY_TEST_ASSERT_SMALLER_THAN_UINT64
  - UNITY_TEST_ASSERT_SMALLER_THAN_HEX64
  - UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64
  - UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64
  - UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64
  - UNITY_TEST_ASSERT_EQUAL_INT64
  - UNITY_TEST_ASSERT_EQUAL_UINT64
  - UNITY_TEST_ASSERT_EQUAL_HEX64
  - UNITY_TEST_ASSERT_EQUAL_INT64_ARRAY
  - UNITY_TEST_ASSERT_EQUAL_UINT64_ARRAY
  - UNITY_TEST_ASSERT_EQUAL_HEX64_ARRAY
  - UNITY_TEST_ASSERT_INT64_WITHIN
  - UNITY_TEST_ASSERT_UINT64_WITHIN
  - UNITY_TEST_ASSERT_HEX64_WITHIN
  - UNITY_TEST_ASSERT_GREATER_THAN_INT64
  - UNITY_TEST_ASSERT_GREATER_THAN_UINT64
  - UNITY_TEST_ASSERT_GREATER_THAN_HEX64
  - UNITY_TEST_ASSERT_GREATER_OR_EQUAL_INT64
  - UNITY_TEST_ASSERT_GREATER_OR_EQUAL_UINT64
  - UNITY_TEST_ASSERT_GREATER_OR_EQUAL_HEX64
  - UNITY_TEST_ASSERT_SMALLER_THAN_INT64
  - UNITY_TEST_ASSERT_SMALLER_THAN_UINT64
  - UNITY_TEST_ASSERT_SMALLER_THAN_HEX64
  - UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_INT64
  - UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_UINT64
  - UNITY_TEST_ASSERT_SMALLER_OR_EQUAL_HEX64
  - UNITY_TEST_ASSERT_FLOAT_WITHIN
  - UNITY_TEST_ASSERT_EQUAL_FLOAT
  - UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY
  - UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT
  - UNITY_TEST_ASSERT_FLOAT_IS_INF
  - UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF
  - UNITY_TEST_ASSERT_FLOAT_IS_NAN
  - UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE
  - UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF
  - UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF
  - UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN
  - UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE
  - UNITY_TEST_ASSERT_FLOAT_WITHIN
  - UNITY_TEST_ASSERT_EQUAL_FLOAT
  - UNITY_TEST_ASSERT_EQUAL_FLOAT_ARRAY
  - UNITY_TEST_ASSERT_EACH_EQUAL_FLOAT
  - UNITY_TEST_ASSERT_FLOAT_IS_INF
  - UNITY_TEST_ASSERT_FLOAT_IS_NEG_INF
  - UNITY_TEST_ASSERT_FLOAT_IS_NAN
  - UNITY_TEST_ASSERT_FLOAT_IS_DETERMINATE
  - UNITY_TEST_ASSERT_FLOAT_IS_NOT_INF
  - UNITY_TEST_ASSERT_FLOAT_IS_NOT_NEG_INF
  - UNITY_TEST_ASSERT_FLOAT_IS_NOT_NAN
  - UNITY_TEST_ASSERT_FLOAT_IS_NOT_DETERMINATE
  - UNITY_TEST_ASSERT_DOUBLE_WITHIN
  - UNITY_TEST_ASSERT_EQUAL_DOUBLE
  - UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY
  - UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE
  - UNITY_TEST_ASSERT_DOUBLE_IS_INF
  - UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF
  - UNITY_TEST_ASSERT_DOUBLE_IS_NAN
  - UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE
  - UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF
  - UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF
  - UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN
  - UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE
  - UNITY_TEST_ASSERT_DOUBLE_WITHIN
  - UNITY_TEST_ASSERT_EQUAL_DOUBLE
  - UNITY_TEST_ASSERT_EQUAL_DOUBLE_ARRAY
  - UNITY_TEST_ASSERT_EACH_EQUAL_DOUBLE
  - UNITY_TEST_ASSERT_DOUBLE_IS_INF
  - UNITY_TEST_ASSERT_DOUBLE_IS_NEG_INF
  - UNITY_TEST_ASSERT_DOUBLE_IS_NAN
  - UNITY_TEST_ASSERT_DOUBLE_IS_DETERMINATE
  - UNITY_TEST_ASSERT_DOUBLE_IS_NOT_INF
  - UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NEG_INF
  - UNITY_TEST_ASSERT_DOUBLE_IS_NOT_NAN
  - UNITY_TEST_ASSERT_DOUBLE_IS_NOT_DETERMINATE
  source_file: /src/cJSON/tests/unity/src/unity_internals.h
  types:
    enum:
    - enumerators:
      - name: UNITY_FLOAT_IS_NOT_INF
        value: '0'
      - name: UNITY_FLOAT_IS_NEG_INF
      - name: UNITY_FLOAT_IS_NOT_NAN
      - name: UNITY_FLOAT_IS_INF
      - name: UNITY_FLOAT_IS_NOT_NEG_INF
      - name: UNITY_FLOAT_IS_NAN
      - name: UNITY_FLOAT_IS_NOT_DET
      - name: UNITY_FLOAT_IS_DET
      - name: UNITY_FLOAT_INVALID_TRAIT
      item_type: enum
      name: UNITY_FLOAT_TRAIT
      pos:
        line_end: 373
        line_start: 362
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
    preproc_defs:
    - item_type: preproc_def
      name: UNITY_INT_WIDTH
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: (16)
    - item_type: preproc_def
      name: UNITY_INT_WIDTH
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: (32)
    - item_type: preproc_def
      name: UNITY_INT_WIDTH
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: (64)
    - item_type: preproc_def
      name: UNITY_INT_WIDTH
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: (32)
    - item_type: preproc_def
      name: UNITY_LONG_WIDTH
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: (16)
    - item_type: preproc_def
      name: UNITY_LONG_WIDTH
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: (32)
    - item_type: preproc_def
      name: UNITY_LONG_WIDTH
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: (64)
    - item_type: preproc_def
      name: UNITY_LONG_WIDTH
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: (32)
    - item_type: preproc_def
      name: UNITY_POINTER_WIDTH
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: (16)
    - item_type: preproc_def
      name: UNITY_POINTER_WIDTH
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: (32)
    - item_type: preproc_def
      name: UNITY_POINTER_WIDTH
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: (64)
    - item_type: preproc_def
      name: UNITY_POINTER_WIDTH
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: UNITY_LONG_WIDTH
    - item_type: preproc_def
      name: UNITY_PTR_TO_INT
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: UNITY_INT32
    - item_type: preproc_def
      name: UNITY_DISPLAY_STYLE_POINTER
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: UNITY_DISPLAY_STYLE_HEX32
    - item_type: preproc_def
      name: UNITY_PTR_TO_INT
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: UNITY_INT64
    - item_type: preproc_def
      name: UNITY_DISPLAY_STYLE_POINTER
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: UNITY_DISPLAY_STYLE_HEX64
    - item_type: preproc_def
      name: UNITY_PTR_TO_INT
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: UNITY_INT16
    - item_type: preproc_def
      name: UNITY_DISPLAY_STYLE_POINTER
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: UNITY_DISPLAY_STYLE_HEX16
    - item_type: preproc_def
      name: UNITY_INTERNAL_PTR
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: UNITY_PTR_ATTRIBUTE const void*
    - item_type: preproc_def
      name: UNITY_FLOAT_PRECISION
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: (0.00001f)
    - item_type: preproc_def
      name: UNITY_FLOAT_TYPE
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: float
    - item_type: preproc_def
      name: UNITY_DOUBLE_TYPE
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: double
    - item_type: preproc_def
      name: UNITY_DOUBLE_PRECISION
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: (1e-12)
    - item_type: preproc_def
      name: UNITY_DOUBLE_TYPE
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: double
    - item_type: preproc_def
      name: UNITY_LINE_TYPE
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: UNITY_UINT
    - item_type: preproc_def
      name: UNITY_COUNTER_TYPE
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: UNITY_UINT
    - item_type: preproc_def
      name: UNITY_WEAK_ATTRIBUTE
      pos:
        line_end: 304
        line_start: 303
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: __attribute__((weak))
    - item_type: preproc_def
      name: UNITY_DISPLAY_RANGE_INT
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: (0x10)
    - item_type: preproc_def
      name: UNITY_DISPLAY_RANGE_UINT
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: (0x20)
    - item_type: preproc_def
      name: UNITY_DISPLAY_RANGE_HEX
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: (0x40)
    - item_type: preproc_def
      name: UNITY_DETAIL1_NAME
      pos:
        line_end: 427
        line_start: 426
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: '"Function"'
    - item_type: preproc_def
      name: UNITY_DETAIL2_NAME
      pos:
        line_end: 431
        line_start: 430
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: '"Argument"'
    - item_type: preproc_def
      name: TEST_LINE_NUM
      pos:
        line_end: 617
        line_start: 616
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: (Unity.CurrentTestLineNumber)
    - item_type: preproc_def
      name: TEST_IS_IGNORED
      pos:
        line_end: 618
        line_start: 617
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type_or_value: (Unity.CurrentTestIgnored)
    structs:
    - fields:
      - name: '* TestFile'
        type: char
      - name: '* CurrentTestName'
        type: char
      - name: CurrentTestLineNumber
        type: UNITY_LINE_TYPE
      - name: NumberOfTests
        type: UNITY_COUNTER_TYPE
      - name: TestFailures
        type: UNITY_COUNTER_TYPE
      - name: TestIgnores
        type: UNITY_COUNTER_TYPE
      - name: CurrentTestFailed
        type: UNITY_COUNTER_TYPE
      - name: CurrentTestIgnored
        type: UNITY_COUNTER_TYPE
      item_type: struct
      name: UNITY_STORAGE_T
      pos:
        line_end: 399
        line_start: 382
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
    typedefs:
    - item_type: typedef
      name: UNITY_UINT8
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type: unsigned char
    - item_type: typedef
      name: UNITY_UINT16
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type: unsigned short
    - item_type: typedef
      name: UNITY_UINT32
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type: unsigned int
    - item_type: typedef
      name: UNITY_INT8
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type: signed char
    - item_type: typedef
      name: UNITY_INT16
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type: signed short
    - item_type: typedef
      name: UNITY_INT32
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type: signed int
    - item_type: typedef
      name: UNITY_UINT8
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type: unsigned char
    - item_type: typedef
      name: UNITY_UINT16
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type: unsigned int
    - item_type: typedef
      name: UNITY_UINT32
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type: unsigned long
    - item_type: typedef
      name: UNITY_INT8
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type: signed char
    - item_type: typedef
      name: UNITY_INT16
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type: signed int
    - item_type: typedef
      name: UNITY_INT32
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type: signed long
    - item_type: typedef
      name: UNITY_UINT
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type: UNITY_UINT32
    - item_type: typedef
      name: UNITY_INT
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type: UNITY_INT32
    - item_type: typedef
      name: UNITY_UINT64
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type: unsigned long long
    - item_type: typedef
      name: UNITY_INT64
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type: signed long long
    - item_type: typedef
      name: UNITY_UINT64
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type: unsigned long
    - item_type: typedef
      name: UNITY_INT64
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type: signed long
    - item_type: typedef
      name: UNITY_UINT
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type: UNITY_UINT64
    - item_type: typedef
      name: UNITY_INT
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type: UNITY_INT64
    - item_type: typedef
      name: UNITY_FLOAT
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type: UNITY_FLOAT_TYPE
    - item_type: typedef
      name: UNITY_DOUBLE
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type: UNITY_FLOAT
    - item_type: typedef
      name: UNITY_DOUBLE
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type: UNITY_DOUBLE_TYPE
    - item_type: typedef
      name: (*UnityTestFunction)(void)
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/cJSON/tests/unity/src/unity_internals.h
      type: void
    union: []
- function_names:
  - UnityOutputCharSpy_Create
  - UnityOutputCharSpy_Destroy
  - UnityOutputCharSpy_OutputChar
  - UnityOutputCharSpy_Get
  - UnityOutputCharSpy_Enable
  source_file: /src/cJSON/tests/unity/extras/fixture/test/unity_output_Spy.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST_SETUP
  - TEST_TEAR_DOWN
  - TEST
  - TEST
  - TEST
  source_file: /src/cJSON/tests/unity/extras/fixture/test/template_fixture_tests.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST_SETUP
  - TEST_TEAR_DOWN
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST_SETUP
  - TEST_TEAR_DOWN
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - IGNORE_TEST
  - TEST_SETUP
  - TEST_TEAR_DOWN
  - USING_SPY_AS
  - ASSIGN_VALUE
  - EXPAND_AND_USE_2ND
  - SECOND_PARAM
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST_ASSERT_MEMORY_ALL_FREE_LIFO_ORDER
  - TEST_SETUP
  - TEST_TEAR_DOWN
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXPECT_ABORT_BEGIN
      pos:
        line_end: 338
        line_start: 332
        source_file: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
      type_or_value: "{ \\\n    jmp_buf TestAbortFrame;   \\\n    memcpy(TestAbortFrame,
        Unity.AbortFrame, sizeof(jmp_buf)); \\\n    if (TEST_PROTECT()) \\\n    {"
    - item_type: preproc_def
      name: EXPECT_ABORT_END
      pos:
        line_end: 343
        line_start: 339
        source_file: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
      type_or_value: "} \\\n    memcpy(Unity.AbortFrame, TestAbortFrame, sizeof(jmp_buf));
        \\\n  }"
    - item_type: preproc_def
      name: VAL_UnityOutputCharSpy_OutputChar
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
      type_or_value: 0, 1
    - item_type: preproc_def
      name: UnityOutputCharSpy_OutputChar
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_Test.c
      type_or_value: '42'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cJSON/tests/unity/extras/fixture/test/unity_output_Spy.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST_GROUP_RUNNER
  - TEST_GROUP_RUNNER
  - TEST_GROUP_RUNNER
  - TEST_GROUP_RUNNER
  source_file: /src/cJSON/tests/unity/extras/fixture/test/unity_fixture_TestRunner.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - runAllTests
  - main
  source_file: /src/cJSON/tests/unity/extras/fixture/test/main/AllTests.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture_internals.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UNITY_MAX_POINTERS
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture_internals.h
      type_or_value: '5'
    structs:
    - fields:
      - name: Verbose
        type: int
      - name: RepeatCount
        type: unsigned int
      - name: '* NameFilter'
        type: char
      - name: '* GroupFilter'
        type: char
      item_type: struct
      name: UNITY_FIXTURE_T
      pos:
        line_end: 21
        line_start: 15
        source_file: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture_internals.h
    typedefs:
    - item_type: typedef
      name: unityfunction(void)
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture_internals.h
      type: void
    union: []
- function_names:
  - setUp
  - tearDown
  - announceTestRun
  - UnityMain
  - selected
  - testSelected
  - groupSelected
  - UnityTestRunner
  - UnityIgnoreTest
  - UnityMalloc_StartTest
  - UnityMalloc_EndTest
  - UnityMalloc_MakeMallocFailAfterCount
  - unity_malloc
  - isOverrun
  - release_memory
  - unity_free
  - unity_calloc
  - unity_realloc
  - UnityPointer_Init
  - UnityPointer_Set
  - UnityPointer_UndoAllSets
  - UnityGetCommandLineOptions
  - UnityConcludeFixtureTest
  source_file: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MALLOC_DONT_FAIL
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c
      type_or_value: '-1'
    structs:
    - fields:
      - name: size
        type: size_t
      - name: guard_space
        type: size_t
      item_type: struct
      name: GuardBytes
      pos:
        line_end: 175
        line_start: 171
        source_file: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c
    - fields:
      - name: '** pointer'
        type: void
      - name: '* old_value'
        type: void
      item_type: struct
      name: PointerPair
      pos:
        line_end: 311
        line_start: 307
        source_file: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.c
    typedefs: []
    union: []
- function_names:
  - UNITY_FIXTURE_MALLOC
  - UNITY_FIXTURE_FREE
  source_file: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture_malloc_overrides.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UNITY_INTERNAL_HEAP_SIZE_BYTES
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture_malloc_overrides.h
      type_or_value: '256'
    - item_type: preproc_def
      name: malloc
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture_malloc_overrides.h
      type_or_value: unity_malloc
    - item_type: preproc_def
      name: calloc
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture_malloc_overrides.h
      type_or_value: unity_calloc
    - item_type: preproc_def
      name: realloc
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture_malloc_overrides.h
      type_or_value: unity_realloc
    - item_type: preproc_def
      name: free
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture_malloc_overrides.h
      type_or_value: unity_free
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST_GROUP
  - TEST_SETUP
  - TEST_TEAR_DOWN
  - TEST
  - IGNORE_TEST
  - RUN_TEST_CASE
  - TEST_GROUP_RUNNER
  - RUN_TEST_GROUP
  - UT_PTR_SET
  - TEST_ASSERT_POINTERS_EQUAL
  - TEST_ASSERT_BYTES_EQUAL
  - FAIL
  - CHECK
  - LONGS_EQUAL
  - STRCMP_EQUAL
  - DOUBLES_EQUAL
  source_file: /src/cJSON/tests/unity/extras/fixture/src/unity_fixture.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cJSON/tests/unity/examples/unity_config.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST_SETUP
  - TEST_TEAR_DOWN
  - TEST
  - TEST
  - TEST
  source_file: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST_SETUP
  - TEST_TEAR_DOWN
  - TEST
  - TEST
  - TEST
  - TEST
  - TEST
  source_file: /src/cJSON/tests/unity/examples/example_2/test/TestProductionCode.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST_GROUP_RUNNER
  source_file: /src/cJSON/tests/unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RunAllTests
  - main
  source_file: /src/cJSON/tests/unity/examples/example_2/test/test_runners/all_tests.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST_GROUP_RUNNER
  source_file: /src/cJSON/tests/unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cJSON/tests/unity/examples/example_2/src/ProductionCode.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cJSON/tests/unity/examples/example_2/src/ProductionCode2.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - FindFunction_WhichIsBroken
  - FunctionWhichReturnsLocalVariable
  source_file: /src/cJSON/tests/unity/examples/example_2/src/ProductionCode.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ThisFunctionHasNotBeenTested
  source_file: /src/cJSON/tests/unity/examples/example_2/src/ProductionCode2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - setUp
  - tearDown
  - test_IgnoredTest
  - test_AnotherIgnoredTest
  - test_ThisFunctionHasNotBeenTested_NeedsToBeImplemented
  source_file: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - setUp
  - tearDown
  - test_FindFunction_WhichIsBroken_ShouldReturnZeroIfItemIsNotInList_WhichWorksEvenInOurBrokenCode
  - test_FindFunction_WhichIsBroken_ShouldReturnTheIndexForItemsInList_WhichWillFailBecauseOurFunctionUnderTestIsBroken
  - test_FunctionWhichReturnsLocalVariable_ShouldReturnTheCurrentCounterValue
  - test_FunctionWhichReturnsLocalVariable_ShouldReturnTheCurrentCounterValueAgain
  - test_FunctionWhichReturnsLocalVariable_ShouldReturnCurrentCounter_ButFailsBecauseThisTestIsActuallyFlawed
  source_file: /src/cJSON/tests/unity/examples/example_1/test/TestProductionCode.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RUN_TEST
  - resetTest
  - main
  source_file: /src/cJSON/tests/unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RUN_TEST
  - resetTest
  - main
  source_file: /src/cJSON/tests/unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cJSON/tests/unity/examples/example_1/src/ProductionCode.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cJSON/tests/unity/examples/example_1/src/ProductionCode2.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - FindFunction_WhichIsBroken
  - FunctionWhichReturnsLocalVariable
  source_file: /src/cJSON/tests/unity/examples/example_1/src/ProductionCode.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ThisFunctionHasNotBeenTested
  source_file: /src/cJSON/tests/unity/examples/example_1/src/ProductionCode2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - setUp
  - tearDown
  - test_IgnoredTest
  - test_AnotherIgnoredTest
  - test_ThisFunctionHasNotBeenTested_NeedsToBeImplemented
  source_file: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - setUp
  - tearDown
  - test_FindFunction_WhichIsBroken_ShouldReturnZeroIfItemIsNotInList_WhichWorksEvenInOurBrokenCode
  - test_FindFunction_WhichIsBroken_ShouldReturnTheIndexForItemsInList_WhichWillFailBecauseOurFunctionUnderTestIsBroken
  - test_FunctionWhichReturnsLocalVariable_ShouldReturnTheCurrentCounterValue
  - test_FunctionWhichReturnsLocalVariable_ShouldReturnTheCurrentCounterValueAgain
  - test_FunctionWhichReturnsLocalVariable_ShouldReturnCurrentCounter_ButFailsBecauseThisTestIsActuallyFlawed
  source_file: /src/cJSON/tests/unity/examples/example_3/test/TestProductionCode.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cJSON/tests/unity/examples/example_3/src/ProductionCode.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/cJSON/tests/unity/examples/example_3/src/ProductionCode2.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - FindFunction_WhichIsBroken
  - FunctionWhichReturnsLocalVariable
  source_file: /src/cJSON/tests/unity/examples/example_3/src/ProductionCode.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ThisFunctionHasNotBeenTested
  source_file: /src/cJSON/tests/unity/examples/example_3/src/ProductionCode2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - AssertEqualExampleStruct
  source_file: /src/cJSON/tests/unity/examples/example_3/helper/UnityHelper.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - UNITY_TEST_ASSERT_EQUAL_EXAMPLE_STRUCT_T
  - TEST_ASSERT_EQUAL_EXAMPLE_STRUCT_T
  source_file: /src/cJSON/tests/unity/examples/example_3/helper/UnityHelper.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/cJSON/fuzzing/cjson_read_fuzzer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - read_file
  - main
  source_file: /src/cJSON/fuzzing/afl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/cJSON/fuzzing/fuzz_main.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - strerror_r
  - uthash_malloc
  - uthash_free
  - UNUSED
  source_file: /src/mosquitto/config.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _XOPEN_SOURCE
      pos:
        line_end: 12
        line_start: 11
        source_file: /src/mosquitto/config.h
      type_or_value: '600'
    - item_type: preproc_def
      name: __BSD_VISIBLE
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/mosquitto/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/mosquitto/config.h
      type_or_value: sprintf_s
    - item_type: preproc_def
      name: EPROTO
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/mosquitto/config.h
      type_or_value: ECONNABORTED
    - item_type: preproc_def
      name: ECONNABORTED
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/mosquitto/config.h
      type_or_value: WSAECONNABORTED
    - item_type: preproc_def
      name: ENOTCONN
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/mosquitto/config.h
      type_or_value: WSAENOTCONN
    - item_type: preproc_def
      name: ECONNREFUSED
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/mosquitto/config.h
      type_or_value: WSAECONNREFUSED
    - item_type: preproc_def
      name: strcasecmp
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/mosquitto/config.h
      type_or_value: _stricmp
    - item_type: preproc_def
      name: strncasecmp
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/mosquitto/config.h
      type_or_value: _strnicmp
    - item_type: preproc_def
      name: strtok_r
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/mosquitto/config.h
      type_or_value: strtok_s
    - item_type: preproc_def
      name: _Float32
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/mosquitto/config.h
      type_or_value: uint32_t
    - item_type: preproc_def
      name: _Float32x
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/mosquitto/config.h
      type_or_value: uint32_t
    - item_type: preproc_def
      name: _Float64
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/mosquitto/config.h
      type_or_value: uint64_t
    - item_type: preproc_def
      name: _Float64x
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/mosquitto/config.h
      type_or_value: uint64_t
    - item_type: preproc_def
      name: _Float128
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/mosquitto/config.h
      type_or_value: uint64_t
    - item_type: preproc_def
      name: WS_IS_LWS
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/mosquitto/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WS_IS_BUILTIN
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/mosquitto/config.h
      type_or_value: '2'
    - item_type: preproc_def
      name: BROKER_EXPORT
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/mosquitto/config.h
      type_or_value: __attribute__((__used__))
    - item_type: preproc_def
      name: TOPIC_HIERARCHY_LIMIT
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/mosquitto/config.h
      type_or_value: '200'
    structs: []
    typedefs:
    - item_type: typedef
      name: ssize_t
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/mosquitto/config.h
      type: SSIZE_T
    union: []
- function_names:
  - cat_sourcedir_with_relpath
  source_file: /src/mosquitto/test/path_helper.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/test/mock/pthread_mock.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PThreadMock::PThreadMock
  - PThreadMock::~PThreadMock()
  - pthread_cond_timedwait
  source_file: /src/mosquitto/test/mock/pthread_mock.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - '*& get_obj()'
  - CFunctionMock::CFunctionMock
  - CFunctionMock::CFunctionMock
  - CFunctionMock::CFunctionMock
  - '& operator=(const CFunctionMock&)'
  - '& operator=(CFunctionMock&&)'
  - ~CFunctionMock()
  - CFunctionMock::mock_exists
  - '& get_mock()'
  - CFunctionMock::optional_mocked_fn
  - CFunctionMock::original_fn
  - CFunctionMock::OriginalFnWrapper::OriginalFnWrapper
  - operator()(Args... args)
  - CFunctionMock::OptionalMockFnWrapper::OptionalMockFnWrapper
  - operator()(Args... args)
  - CFunctionMock::OriginalFnWrapper<ReturnType, true, Args...>::OriginalFnWrapper
  - operator()(Args... args)
  - CFunctionMock::OptionalMockFnWrapper<ReturnType, true, Args...>::OptionalMockFnWrapper
  - operator()(Args... args)
  source_file: /src/mosquitto/test/mock/c_function_mock.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/test/mock/editline_mock.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - EditLineMock::EditLineMock
  - EditLineMock::~EditLineMock()
  - EditLineMock::reset
  - add_history
  - clear_history
  - rl_resize_terminal
  - readline
  - rl_completion_matches
  - rl_complete
  - rl_bind_key
  source_file: /src/mosquitto/test/mock/editline_mock.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/test/mock/apps/mosquitto_ctrl/ctrl_shell_mock.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CtrlShellMock::CtrlShellMock
  - CtrlShellMock::~CtrlShellMock()
  - ctrl_shell__output
  - ctrl_shell_fgets
  source_file: /src/mosquitto/test/mock/apps/mosquitto_ctrl/ctrl_shell_mock.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_will_set
  - mosquitto_will_set_v5
  - mosquitto_will_clear
  - mosquitto_username_pw_set
  - mosquitto_reconnect_delay_set
  - mosquitto_tls_set
  - mosquitto_tls_opts_set
  - mosquitto_tls_insecure_set
  - mosquitto_string_option
  - mosquitto_tls_psk_set
  - mosquitto_opts_set
  - mosquitto_int_option
  - mosquitto_void_option
  - mosquitto_user_data_set
  - mosquitto_userdata
  source_file: /src/mosquitto/test/mock/lib/options_mock.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_publish
  - mosquitto_publish_v5
  source_file: /src/mosquitto/test/mock/lib/actions_publish_mock.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LibMosquittoMock::LibMosquittoMock
  - LibMosquittoMock::~LibMosquittoMock()
  - mosquitto_lib_version
  - mosquitto_lib_init
  - mosquitto_lib_cleanup
  - mosquitto_new
  - mosquitto_reinitialise
  - mosquitto_destroy
  - mosquitto_socket
  - mosquitto_want_write
  source_file: /src/mosquitto/test/mock/lib/libmosquitto_mock.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_ssl_get
  source_file: /src/mosquitto/test/mock/lib/net_mosq_mock.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/test/mock/lib/libmosquitto_mock.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_unsubscribe
  - mosquitto_unsubscribe_v5
  - mosquitto_unsubscribe_multiple
  source_file: /src/mosquitto/test/mock/lib/actions_unsubscribe_mock.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_loop
  - mosquitto_loop_forever
  - mosquitto_loop_misc
  - mosquitto_loop_read
  - mosquitto_loop_write
  source_file: /src/mosquitto/test/mock/lib/loop_mock.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_message_copy
  - mosquitto_message_free
  - mosquitto_message_free_contents
  source_file: /src/mosquitto/test/mock/lib/messages_mosq_mock.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_loop_start
  - mosquitto_loop_stop
  - mosquitto_threaded_set
  source_file: /src/mosquitto/test/mock/lib/thread_mosq_mock.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_ext_auth_continue
  source_file: /src/mosquitto/test/mock/lib/extended_auth_mock.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_socks5_set
  source_file: /src/mosquitto/test/mock/lib/socks_mosq_mock.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_subscribe
  - mosquitto_subscribe_v5
  - mosquitto_subscribe_multiple
  source_file: /src/mosquitto/test/mock/lib/actions_subscribe_mock.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_connect
  - mosquitto_connect_bind
  - mosquitto_connect_bind_v5
  - mosquitto_connect_async
  - mosquitto_connect_bind_async
  - mosquitto_reconnect_async
  - mosquitto_reconnect
  - mosquitto_disconnect
  - mosquitto_disconnect_v5
  source_file: /src/mosquitto/test/mock/lib/connect_mock.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_connect_srv
  source_file: /src/mosquitto/test/mock/lib/srv_mosq_mock.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_subscribe_simple
  - mosquitto_subscribe_callback
  source_file: /src/mosquitto/test/mock/lib/helpers_mock.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_connect_callback_set
  - mosquitto_connect_with_flags_callback_set
  - mosquitto_connect_v5_callback_set
  - mosquitto_pre_connect_callback_set
  - mosquitto_disconnect_callback_set
  - mosquitto_disconnect_v5_callback_set
  - mosquitto_publish_callback_set
  - mosquitto_publish_v5_callback_set
  - mosquitto_message_callback_set
  - mosquitto_message_v5_callback_set
  - mosquitto_subscribe_callback_set
  - mosquitto_subscribe_v5_callback_set
  - mosquitto_unsubscribe_callback_set
  - mosquitto_unsubscribe_v5_callback_set
  - mosquitto_unsubscribe2_v5_callback_set
  - mosquitto_log_callback_set
  - mosquitto_ext_auth_callback_set
  source_file: /src/mosquitto/test/mock/lib/callbacks_mock.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_property_free
  - mosquitto_property_free_all
  - mosquitto_property_get_length
  - mosquitto_property_get_length_all
  - mosquitto_property_check_command
  - mosquitto_property_identifier_to_string
  - mosquitto_string_to_property_info
  - mosquitto_property_add_byte
  - mosquitto_property_add_int16
  - mosquitto_property_add_int32
  - mosquitto_property_add_varint
  - mosquitto_property_add_binary
  - mosquitto_property_add_string
  - mosquitto_property_add_string_pair
  - mosquitto_property_check_all
  - mosquitto_property_identifier
  - mosquitto_property_type
  - mosquitto_property_next
  - mosquitto_property_read_byte
  - mosquitto_property_read_int16
  - mosquitto_property_read_int32
  - mosquitto_property_read_varint
  - mosquitto_property_read_binary
  - mosquitto_property_read_string
  - mosquitto_property_read_string_pair
  - mosquitto_property_remove
  - mosquitto_property_copy_all
  - mosquitto_property_byte_value
  - mosquitto_property_int16_value
  - mosquitto_property_int32_value
  - mosquitto_property_varint_value
  - mosquitto_property_binary_value
  - mosquitto_property_binary_value_length
  - mosquitto_property_string_value
  - mosquitto_property_string_value_length
  - mosquitto_property_string_name
  - mosquitto_property_string_name_length
  - mosquitto_property_get_remaining_length
  source_file: /src/mosquitto/test/mock/libcommon/property_common_mock.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_fopen
  - mosquitto_trimblanks
  - mosquitto_fgets
  - mosquitto_write_file
  - mosquitto_read_file
  source_file: /src/mosquitto/test/mock/libcommon/file_common_mock.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/test/mock/libcommon/libmosquitto_common_mock.hpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_pw_new
  - mosquitto_pw_hash_encoded
  - mosquitto_pw_verify
  - mosquitto_pw_set_valid
  - mosquitto_pw_is_valid
  - mosquitto_pw_decode
  - mosquitto_pw_get_encoded
  - mosquitto_pw_set_param
  - mosquitto_pw_cleanup
  source_file: /src/mosquitto/test/mock/libcommon/password_common_mock.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_base64_encode
  - mosquitto_base64_decode
  source_file: /src/mosquitto/test/mock/libcommon/base64_common_mock.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_strerror
  - mosquitto_connack_string
  - mosquitto_reason_string
  - mosquitto_string_to_command
  source_file: /src/mosquitto/test/mock/libcommon/strings_common_mock.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_properties_to_json
  source_file: /src/mosquitto/test/mock/libcommon/cjson_common.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_validate_utf8
  source_file: /src/mosquitto/test/mock/libcommon/utf8_common_mock.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_pub_topic_check
  - mosquitto_pub_topic_check2
  - mosquitto_sub_topic_check
  - mosquitto_sub_topic_check2
  - mosquitto_sub_matches_acl
  - mosquitto_sub_matches_acl_with_pattern
  - mosquitto_topic_matches_sub
  - mosquitto_topic_matches_sub_with_pattern
  - mosquitto_topic_matches_sub2
  - mosquitto_sub_topic_tokenise
  - mosquitto_sub_topic_tokens_free
  source_file: /src/mosquitto/test/mock/libcommon/topic_common_mock.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_varint_bytes
  source_file: /src/mosquitto/test/mock/libcommon/mqtt_common_mock.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LibMosquittoCommonMock::LibMosquittoCommonMock
  - LibMosquittoCommonMock::~LibMosquittoCommonMock()
  source_file: /src/mosquitto/test/mock/libcommon/libmosquitto_common_mock.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_memory_set_limit
  - mosquitto_memory_used
  - mosquitto_max_memory_used
  - mosquitto_malloc
  - mosquitto_realloc
  - mosquitto_free
  - mosquitto_calloc
  - mosquitto_strdup
  - mosquitto_strndup
  source_file: /src/mosquitto/test/mock/libcommon/memory_common_mock.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_getrandom
  source_file: /src/mosquitto/test/mock/libcommon/random_common_mock.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_time_init
  - mosquitto_time
  - mosquitto_time_ns
  - mosquitto_time_cmp
  source_file: /src/mosquitto/test/mock/libcommon/time_common_mock.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CtrlShellHelpTest::expect_setup
  - CtrlShellHelpTest::expect_connect
  - CtrlShellHelpTest::expect_disconnect
  - CtrlShellHelpTest::expect_outputs
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  source_file: /src/mosquitto/test/apps/ctrl/ctrl_shell_help_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CtrlShellPreConnectTest::expect_setup
  - CtrlShellPreConnectTest::expect_connect
  - CtrlShellPreConnectTest::expect_disconnect
  - CtrlShellPreConnectTest::expect_outputs
  - CtrlShellPreConnectTest::expect_empty_connect_and_messages
  - TEST_F
  - TEST_F
  - TEST_F
  source_file: /src/mosquitto/test/apps/ctrl/ctrl_shell_pre_connect_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CtrlShellOptionsTest::expect_setup
  - CtrlShellOptionsTest::expect_connect
  - CtrlShellOptionsTest::expect_disconnect
  - CtrlShellOptionsTest::expect_outputs
  - CtrlShellOptionsTest::expect_request_response
  - CtrlShellOptionsTest::expect_request_response_success
  - CtrlShellOptionsTest::expect_request_response_empty
  - CtrlShellOptionsTest::append_response
  - CtrlShellOptionsTest::append_empty_response
  - CtrlShellOptionsTest::expect_broker
  - CtrlShellOptionsTest::expect_connect_and_messages
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  source_file: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct pending_payload
      - name: payload[1024]
        type: char
      item_type: struct
      name: pending_payload
      pos:
        line_end: 26
        line_start: 23
        source_file: /src/mosquitto/test/apps/ctrl/ctrl_shell_options_test.cpp
    typedefs: []
    union: []
- function_names:
  - CtrlShellTest::expect_setup
  - CtrlShellTest::expect_connect
  - CtrlShellTest::expect_disconnect
  - CtrlShellTest::expect_outputs
  - CtrlShellTest::expect_request_response
  - CtrlShellTest::expect_request_response_success
  - CtrlShellTest::expect_request_response_empty
  - CtrlShellTest::append_response
  - CtrlShellTest::append_empty_response
  - TEST_F
  - TEST_F
  source_file: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct pending_payload
      - name: payload[1024]
        type: char
      item_type: struct
      name: pending_payload
      pos:
        line_end: 26
        line_start: 23
        source_file: /src/mosquitto/test/apps/ctrl/ctrl_shell_test.cpp
    typedefs: []
    union: []
- function_names:
  - CtrlShellCompletionTest::expect_setup
  - CtrlShellCompletionTest::expect_outputs
  - TEST_F
  - TEST_F
  source_file: /src/mosquitto/test/apps/ctrl/ctrl_shell_completion_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CtrlShellBrokerTest::expect_setup
  - CtrlShellBrokerTest::expect_connect
  - CtrlShellBrokerTest::expect_disconnect
  - CtrlShellBrokerTest::expect_outputs
  - CtrlShellBrokerTest::expect_request_response
  - CtrlShellBrokerTest::expect_request_response_success
  - CtrlShellBrokerTest::expect_request_response_empty
  - CtrlShellBrokerTest::append_response
  - CtrlShellBrokerTest::append_empty_response
  - CtrlShellBrokerTest::expect_broker
  - CtrlShellBrokerTest::expect_connect_and_messages
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  source_file: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct pending_payload
      - name: payload[1024]
        type: char
      item_type: struct
      name: pending_payload
      pos:
        line_end: 26
        line_start: 23
        source_file: /src/mosquitto/test/apps/ctrl/ctrl_shell_broker_test.cpp
    typedefs: []
    union: []
- function_names:
  - CtrlShellDynsecTest::expect_setup
  - CtrlShellDynsecTest::expect_connect
  - CtrlShellDynsecTest::expect_disconnect
  - CtrlShellDynsecTest::expect_outputs
  - CtrlShellDynsecTest::expect_request_response
  - CtrlShellDynsecTest::expect_request_response_success
  - CtrlShellDynsecTest::expect_request_response_empty
  - CtrlShellDynsecTest::append_response
  - CtrlShellDynsecTest::append_empty_response
  - CtrlShellDynsecTest::expect_single_lists
  - CtrlShellDynsecTest::expect_dynsec
  - CtrlShellDynsecTest::expect_connect_and_messages
  - CtrlShellDynsecTest::expect_generic_arg1
  - CtrlShellDynsecTest::expect_generic_arg1_with_list_update
  - CtrlShellDynsecTest::expect_generic_arg1_with_error
  - CtrlShellDynsecTest::expect_generic_arg2
  - CtrlShellDynsecTest::expect_send_set_acl_default_access
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  source_file: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct pending_payload
      - name: payload[1024]
        type: char
      item_type: struct
      name: pending_payload
      pos:
        line_end: 26
        line_start: 23
        source_file: /src/mosquitto/test/apps/ctrl/ctrl_shell_dynsec_test.cpp
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  - mosquitto_auth_plugin_init
  - mosquitto_auth_plugin_cleanup
  - mosquitto_auth_security_init
  - mosquitto_auth_security_cleanup
  - mosquitto_auth_acl_check
  - mosquitto_auth_unpwd_check
  - mosquitto_auth_psk_key_get
  source_file: /src/mosquitto/test/random/auth_plugin.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect_v5
  - on_disconnect_v5
  - on_subscribe_v5
  - on_message_v5
  - main
  source_file: /src/mosquitto/test/lib/c/03-publish-loop-forever.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_publish
  - on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-0.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - main
  source_file: /src/mosquitto/test/lib/c/01-keepalive-pingreq.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/mosquitto/test/lib/c/08-ssl-bad-cacert.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/c/01-will-set.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_publish
  - main
  source_file: /src/mosquitto/test/lib/c/11-prop-send-payload-format.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_publish
  - on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/c/03-publish-c2b-qos2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_disconnect
  - on_subscribe
  - loglevel_as_str
  - on_log
  - main
  source_file: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QOS
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/mosquitto/test/lib/c/02-subscribe-qos1-async2.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_ext_auth
  - on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/c/01-extended-auth-failure.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_loop
  - on_connect_v5
  - on_disconnect_v5
  - on_subscribe_v5
  - on_message_v5
  - main
  source_file: /src/mosquitto/test/lib/c/03-publish-loop-manual.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_publish
  - on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-disconnect.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_message_v5
  - main
  source_file: /src/mosquitto/test/lib/c/11-prop-recv.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/c/08-ssl-connect-san.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle_sigint
  - on_connect
  - on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_publish
  - on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-disconnect.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_publish
  - main
  source_file: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-receive-maximum.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect_v5
  - on_disconnect_v5
  - on_subscribe_v5
  - on_message_v5
  - main
  source_file: /src/mosquitto/test/lib/c/03-publish-loop.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - UNUSED
  - on_connect
  - on_publish
  - main
  source_file: /src/mosquitto/test/lib/c/04-retain-qos0.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - main
  source_file: /src/mosquitto/test/lib/c/03-publish-b2c-qos1-unexpected-puback.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_subscribe
  - on_message
  - main
  source_file: /src/mosquitto/test/lib/c/03-request-response-correlation-1.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QOS
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/mosquitto/test/lib/c/03-request-response-correlation-1.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_message
  - main
  source_file: /src/mosquitto/test/lib/c/03-publish-b2c-qos1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/c/01-con-discon-success-v5.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/mosquitto/test/lib/c/02-subscribe-helper-simple-qos2.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QOS
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/mosquitto/test/lib/c/02-subscribe-helper-simple-qos2.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_subscribe
  - on_disconnect
  - on_unsubscribe
  - main
  source_file: /src/mosquitto/test/lib/c/02-unsubscribe-multiple-v5.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QOS
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/mosquitto/test/lib/c/02-unsubscribe-multiple-v5.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/c/01-unpwd-set.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_publish
  - main
  source_file: /src/mosquitto/test/lib/c/03-publish-qos0.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/c/08-ssl-connect-no-auth.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_publish
  - main
  source_file: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-pubrec-error.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/c/01-will-unpwd-set.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/c/01-no-clean-session.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/c/01-con-discon-will.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - UNUSED
  - UNUSED
  - signal_handler
  - prop_test
  - msg_test
  - on_pre_connect
  - on_connect
  - on_connect_with_flags
  - on_connect_v5
  - on_disconnect
  - on_disconnect_v5
  - on_publish
  - on_publish_v5
  - on_message
  - on_message_v5
  - on_subscribe
  - on_subscribe_v5
  - on_unsubscribe
  - on_unsubscribe_v5
  - on_unsubscribe2_v5
  - on_log
  - setup_signal_handler
  - main
  source_file: /src/mosquitto/test/lib/c/fuzzish.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_disconnect
  - on_subscribe
  - main
  source_file: /src/mosquitto/test/lib/c/02-subscribe-qos2.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QOS
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/mosquitto/test/lib/c/02-subscribe-qos2.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_disconnect
  - on_subscribe
  - main
  source_file: /src/mosquitto/test/lib/c/02-subscribe-qos1-async1.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QOS
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/mosquitto/test/lib/c/02-subscribe-qos1-async1.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_disconnect
  - on_unsubscribe
  - main
  source_file: /src/mosquitto/test/lib/c/02-unsubscribe-v5.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_disconnect
  - password_callback
  - main
  source_file: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-enc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_publish
  - main
  source_file: /src/mosquitto/test/lib/c/11-prop-send-content-type.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_disconnect
  - on_unsubscribe
  - main
  source_file: /src/mosquitto/test/lib/c/02-unsubscribe.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/c/01-con-discon-will-clear.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/c/01-con-discon-will-v5.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle_sigint
  - on_connect
  - on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/c/08-ssl-connect-cert-auth-custom-ssl-ctx-default.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_message
  - main
  source_file: /src/mosquitto/test/lib/c/03-publish-b2c-qos2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_disconnect
  - on_subscribe
  - main
  source_file: /src/mosquitto/test/lib/c/02-subscribe-qos0.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QOS
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/mosquitto/test/lib/c/02-subscribe-qos0.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_pre_connect
  - on_connect
  - on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/c/01-pre-connect-callback.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - main
  source_file: /src/mosquitto/test/lib/c/01-server-keepalive-pingreq.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - main
  source_file: /src/mosquitto/test/lib/c/08-ssl-fake-cacert.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_error
  - main
  source_file: /src/mosquitto/test/lib/c/09-util-topic-tokenise.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_publish
  - on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-len.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_publish
  - main
  source_file: /src/mosquitto/test/lib/c/03-publish-qos0-no-payload.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/c/01-con-discon-success.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_message
  - on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-len.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_message
  - main
  source_file: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubrel.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_subscribe
  - on_message
  - main
  source_file: /src/mosquitto/test/lib/c/03-request-response-1.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QOS
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/mosquitto/test/lib/c/03-request-response-1.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_message_v5
  - on_publish
  - main
  source_file: /src/mosquitto/test/lib/c/03-request-response-2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cb
  - main
  source_file: /src/mosquitto/test/lib/c/02-subscribe-helper-callback-qos2.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QOS
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/mosquitto/test/lib/c/02-subscribe-helper-callback-qos2.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_disconnect
  - on_subscribe
  - main
  source_file: /src/mosquitto/test/lib/c/02-subscribe-qos1.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QOS
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/mosquitto/test/lib/c/02-subscribe-qos1.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect_v5
  - on_disconnect_v5
  - on_subscribe_v5
  - on_message_v5
  - main
  source_file: /src/mosquitto/test/lib/c/03-publish-loop-start.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_ext_auth
  - on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/c/01-extended-auth-continue.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - main
  source_file: /src/mosquitto/test/lib/c/03-publish-b2c-qos2-unexpected-pubcomp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_publish
  - on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/c/03-publish-c2b-qos2-maximum-qos-1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_publish
  - main
  source_file: /src/mosquitto/test/lib/c/11-prop-oversize-packet.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_publish
  - main
  source_file: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-receive-maximum.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_publish
  - on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/c/03-publish-c2b-qos1-len.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_disconnect
  - on_unsubscribe
  - main
  source_file: /src/mosquitto/test/lib/c/02-unsubscribe2-v5.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - mosquittopp_test::on_message
  - main
  source_file: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-len.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle_sigint
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cb
  - main
  source_file: /src/mosquitto/test/lib/cpp/02-subscribe-helper-callback-qos2.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QOS
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/mosquitto/test/lib/cpp/02-subscribe-helper-callback-qos2.cpp
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_publish
  - mosquittopp_test::on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/cpp/03-publish-qos0-no-payload.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_message
  - main
  source_file: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubrel.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/cpp/01-con-discon-will-clear.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_publish
  - main
  source_file: /src/mosquitto/test/lib/cpp/11-prop-send-payload-format.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - mosquittopp_test::on_subscribe
  - main
  source_file: /src/mosquitto/test/lib/cpp/02-subscribe-qos1.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - mosquittopp_test::on_unsubscribe
  - main
  source_file: /src/mosquitto/test/lib/cpp/02-unsubscribe.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect_v5
  - mosquittopp_test::on_disconnect_v5
  - main
  source_file: /src/mosquitto/test/lib/cpp/01-con-discon-success-v5.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_publish_v5
  - main
  source_file: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-receive-maximum.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - main
  source_file: /src/mosquitto/test/lib/cpp/01-keepalive-pingreq.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - mosquittopp_test::on_publish
  - main
  source_file: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - mosquittopp_test::on_publish
  - main
  source_file: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-len.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect_v5
  - mosquittopp_test::on_disconnect_v5
  - mosquittopp_test::on_subscribe_v5
  - mosquittopp_test::on_message_v5
  - main
  source_file: /src/mosquitto/test/lib/cpp/03-publish-loop.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/cpp/01-con-discon-will.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/cpp/01-no-clean-session.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect_v5
  - mosquittopp_test::on_disconnect_v5
  - mosquittopp_test::on_subscribe_v5
  - mosquittopp_test::on_message_v5
  - do_loop
  - main
  source_file: /src/mosquitto/test/lib/cpp/03-publish-loop-manual.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_publish
  - main
  source_file: /src/mosquitto/test/lib/cpp/04-retain-qos0.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/cpp/01-will-set.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_error
  - main
  source_file: /src/mosquitto/test/lib/cpp/09-util-topic-tokenise.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_publish
  - main
  source_file: /src/mosquitto/test/lib/cpp/11-prop-oversize-packet.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_publish
  - main
  source_file: /src/mosquitto/test/lib/cpp/03-publish-qos0.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - main
  source_file: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1-unexpected-puback.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_publish
  - main
  source_file: /src/mosquitto/test/lib/cpp/11-prop-send-content-type.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect_v5
  - mosquittopp_test::on_disconnect_v5
  - mosquittopp_test::on_ext_auth
  - main
  source_file: /src/mosquitto/test/lib/cpp/01-extended-auth-failure.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_subscribe
  - mosquittopp_test::on_message
  - main
  source_file: /src/mosquitto/test/lib/cpp/03-request-response-correlation-1.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QOS
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/mosquitto/test/lib/cpp/03-request-response-correlation-1.cpp
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect_v5
  - mosquittopp_test::on_disconnect_v5
  - mosquittopp_test::on_ext_auth
  - main
  source_file: /src/mosquitto/test/lib/cpp/01-extended-auth-continue.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - main
  source_file: /src/mosquitto/test/lib/cpp/01-server-keepalive-pingreq.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - mosquittopp_test::on_subscribe
  - main
  source_file: /src/mosquitto/test/lib/cpp/02-subscribe-qos0.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - main
  source_file: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2-unexpected-pubcomp.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_pre_connect
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/cpp/01-pre-connect-callback.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - mosquittopp_test::on_subscribe
  - main
  source_file: /src/mosquitto/test/lib/cpp/02-subscribe-qos2.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - main
  source_file: /src/mosquitto/test/lib/cpp/08-ssl-fake-cacert.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/cpp/01-con-discon-will-v5.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - mosquittopp_test::on_subscribe
  - main
  source_file: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async2.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QOS
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async2.cpp
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/cpp/01-unpwd-set.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect_v5
  - mosquittopp_test::on_disconnect_v5
  - mosquittopp_test::on_subscribe_v5
  - mosquittopp_test::on_message_v5
  - main
  source_file: /src/mosquitto/test/lib/cpp/03-publish-loop-forever.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/cpp/08-ssl-connect-no-auth.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle_sigint
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-custom-ssl-ctx-default.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/mosquitto/test/lib/cpp/02-subscribe-helper-simple-qos2.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QOS
      pos:
        line_end: 4
        line_start: 3
        source_file: /src/mosquitto/test/lib/cpp/02-subscribe-helper-simple-qos2.cpp
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_subscribe
  - mosquittopp_test::on_message
  - main
  source_file: /src/mosquitto/test/lib/cpp/03-request-response-1.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QOS
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/mosquitto/test/lib/cpp/03-request-response-1.cpp
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/cpp/01-con-discon-success.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - mosquittopp_test::on_publish
  - main
  source_file: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-0.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_message_v5
  - main
  source_file: /src/mosquitto/test/lib/cpp/11-prop-recv.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/cpp/08-ssl-connect-san.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - mosquittopp_test::on_subscribe
  - main
  source_file: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async1.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QOS
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/mosquitto/test/lib/cpp/02-subscribe-qos1-async1.cpp
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_message
  - main
  source_file: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos2.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - password_callback
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/cpp/08-ssl-connect-cert-auth-enc.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - mosquittopp_test::on_publish
  - main
  source_file: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-disconnect.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - mosquittopp_test::on_publish
  - main
  source_file: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-receive-maximum.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - mosquittopp_test::on_publish
  - main
  source_file: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-pubrec-error.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - mosquittopp_test::on_unsubscribe_v5
  - main
  source_file: /src/mosquitto/test/lib/cpp/02-unsubscribe-v5.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - main
  source_file: /src/mosquitto/test/lib/cpp/08-ssl-bad-cacert.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - mosquittopp_test::on_publish
  - main
  source_file: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-maximum-qos-1.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_message
  - main
  source_file: /src/mosquitto/test/lib/cpp/03-publish-b2c-qos1.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect_v5
  - mosquittopp_test::on_disconnect_v5
  - mosquittopp_test::on_subscribe_v5
  - mosquittopp_test::on_message_v5
  - main
  source_file: /src/mosquitto/test/lib/cpp/03-publish-loop-start.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_publish
  - mosquittopp_test::on_message_v5
  - main
  source_file: /src/mosquitto/test/lib/cpp/03-request-response-2.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QOS
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/mosquitto/test/lib/cpp/03-request-response-2.cpp
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - mosquittopp_test::on_publish
  - main
  source_file: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos2-disconnect.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - mosquittopp_test::on_publish
  - main
  source_file: /src/mosquitto/test/lib/cpp/03-publish-c2b-qos1-len.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquittopp_test::mosquittopp_test
  - mosquittopp_test::on_connect
  - mosquittopp_test::on_disconnect
  - main
  source_file: /src/mosquitto/test/lib/cpp/01-will-unpwd-set.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hostname_cmp_helper
  - TEST_tls_hostname_compare_null
  - TEST_tls_hostname_compare_simple
  - TEST_tls_hostname_compare_bad_wildcard_format
  - TEST_tls_hostname_compare_invalid_wildcard
  - TEST_tls_hostname_compare_good_wildcard
  - main
  source_file: /src/mosquitto/test/unit/tls_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - log__printf
  - mosquitto_time
  - net__socket_close
  - send__pingreq
  source_file: /src/mosquitto/test/unit/tls_stubs.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: mosquitto_db
      pos:
        line_end: 9
        line_start: 7
        source_file: /src/mosquitto/test/unit/tls_stubs.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/mosquitto/test/unit/lib/test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - byte_prop_write_helper
  - int32_prop_write_helper
  - int16_prop_write_helper
  - string_prop_write_helper
  - binary_prop_write_helper
  - string_pair_prop_write_helper
  - varint_prop_write_helper
  - TEST_bad_identifier
  - TEST_single_payload_format_indicator
  - TEST_single_request_problem_information
  - TEST_single_request_response_information
  - TEST_single_maximum_qos
  - TEST_single_retain_available
  - TEST_single_wildcard_subscription_available
  - TEST_single_subscription_identifier_available
  - TEST_single_shared_subscription_available
  - TEST_single_message_expiry_interval
  - TEST_single_session_expiry_interval
  - TEST_single_will_delay_interval
  - TEST_single_maximum_packet_size
  - TEST_single_server_keep_alive
  - TEST_single_receive_maximum
  - TEST_single_topic_alias_maximum
  - TEST_single_topic_alias
  - TEST_single_content_type
  - TEST_single_response_topic
  - TEST_single_assigned_client_identifier
  - TEST_single_authentication_method
  - TEST_single_response_information
  - TEST_single_server_reference
  - TEST_single_reason_string
  - TEST_single_correlation_data
  - TEST_single_authentication_data
  - TEST_single_user_property
  - TEST_single_subscription_identifier
  - init_property_write_tests
  source_file: /src/mosquitto/test/unit/lib/property_write.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - log__printf
  - net__is_connected
  - net__socket_close
  - net__socket_shutdown
  - send__pingreq
  - callback__on_disconnect
  - callback__on_publish
  - do_client_disconnect
  - handle__packet
  - net__read
  - net__write
  - plugin_persist__handle_retain_set
  - plugin_persist__handle_retain_remove
  - plugin_persist__process_retain_events
  - plugin_persist__queue_retain_event
  - ws__prepare_packet
  - net__read_ws
  source_file: /src/mosquitto/test/unit/lib/stubs.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: mosquitto_db
      pos:
        line_end: 11
        line_start: 9
        source_file: /src/mosquitto/test/unit/lib/stubs.c
    - fields: []
      item_type: struct
      name: mosquitto__base_msg
      pos:
        line_end: 15
        line_start: 13
        source_file: /src/mosquitto/test/unit/lib/stubs.c
    typedefs: []
    union: []
- function_names:
  - generate_full_proplist
  - generate_partial_proplist
  - read_byte_helper
  - read_int16_helper
  - read_int32_helper
  - read_varint_helper
  - read_binary_helper
  - read_string_helper
  - read_string_pair_helper
  - TEST_read_null_binary
  - TEST_read_null_string
  - TEST_read_null_string_pair
  - TEST_read_single_byte
  - TEST_read_single_int16
  - TEST_read_single_int32
  - TEST_read_single_varint
  - TEST_read_single_binary
  - TEST_read_single_string
  - TEST_read_single_string_pair
  - missing_read_helper
  - TEST_read_missing
  - string_to_property_info_helper
  - TEST_string_to_property_info
  - init_property_user_read_tests
  source_file: /src/mosquitto/test/unit/lib/property_user_read.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST_maximum_packet_size
  - init_publish_tests
  source_file: /src/mosquitto/test/unit/lib/publish_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - byte_prop_read_helper
  - duplicate_byte_helper
  - bad_byte_helper
  - int32_prop_read_helper
  - duplicate_int32_helper
  - int16_prop_read_helper
  - duplicate_int16_helper
  - string_prop_read_helper
  - duplicate_string_helper
  - bad_string_helper
  - binary_prop_read_helper
  - duplicate_binary_helper
  - string_pair_prop_read_helper
  - varint_prop_read_helper
  - packet_helper_reason_string_user_property
  - TEST_no_properties
  - TEST_truncated
  - TEST_invalid_property_id
  - TEST_single_payload_format_indicator
  - TEST_single_request_problem_information
  - TEST_single_request_response_information
  - TEST_single_maximum_qos
  - TEST_single_retain_available
  - TEST_single_wildcard_subscription_available
  - TEST_single_subscription_identifier_available
  - TEST_single_shared_subscription_available
  - TEST_single_message_expiry_interval
  - TEST_single_session_expiry_interval
  - TEST_single_will_delay_interval
  - TEST_single_maximum_packet_size
  - TEST_single_server_keep_alive
  - TEST_single_receive_maximum
  - TEST_single_topic_alias_maximum
  - TEST_single_topic_alias
  - TEST_single_content_type
  - TEST_single_response_topic
  - TEST_single_assigned_client_identifier
  - TEST_single_authentication_method
  - TEST_single_response_information
  - TEST_single_server_reference
  - TEST_single_reason_string
  - TEST_single_correlation_data
  - TEST_single_authentication_data
  - TEST_single_user_property
  - TEST_single_subscription_identifier
  - TEST_duplicate_payload_format_indicator
  - TEST_duplicate_request_problem_information
  - TEST_duplicate_request_response_information
  - TEST_duplicate_maximum_qos
  - TEST_duplicate_retain_available
  - TEST_duplicate_wildcard_subscription_available
  - TEST_duplicate_subscription_identifier_available
  - TEST_duplicate_shared_subscription_available
  - TEST_duplicate_message_expiry_interval
  - TEST_duplicate_session_expiry_interval
  - TEST_duplicate_will_delay_interval
  - TEST_duplicate_maximum_packet_size
  - TEST_duplicate_server_keep_alive
  - TEST_duplicate_receive_maximum
  - TEST_duplicate_topic_alias_maximum
  - TEST_duplicate_topic_alias
  - TEST_duplicate_content_type
  - TEST_duplicate_response_topic
  - TEST_duplicate_assigned_client_identifier
  - TEST_duplicate_authentication_method
  - TEST_duplicate_response_information
  - TEST_duplicate_server_reference
  - TEST_duplicate_reason_string
  - TEST_duplicate_correlation_data
  - TEST_duplicate_authentication_data
  - TEST_duplicate_user_property
  - TEST_duplicate_subscription_identifier
  - TEST_bad_request_problem_information
  - TEST_bad_request_response_information
  - TEST_bad_maximum_qos
  - TEST_bad_retain_available
  - TEST_bad_wildcard_sub_available
  - TEST_bad_subscription_id_available
  - TEST_bad_shared_sub_available
  - TEST_bad_maximum_packet_size
  - TEST_bad_receive_maximum
  - TEST_bad_topic_alias
  - TEST_bad_content_type
  - TEST_bad_subscription_identifier
  - TEST_packet_connect
  - TEST_packet_connack
  - TEST_packet_publish
  - TEST_packet_puback
  - TEST_packet_pubrec
  - TEST_packet_pubrel
  - TEST_packet_pubcomp
  - TEST_packet_subscribe
  - TEST_packet_suback
  - TEST_packet_unsubscribe
  - TEST_packet_unsuback
  - TEST_packet_disconnect
  - TEST_packet_auth
  - init_property_read_tests
  source_file: /src/mosquitto/test/unit/lib/property_read.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - byte_read_helper
  - uint16_read_helper
  - uint32_read_helper
  - varint_read_helper
  - binary_read_helper
  - string_read_helper
  - bytes_read_helper
  - TEST_byte_read_empty
  - TEST_byte_read_success
  - TEST_uint16_read_empty
  - TEST_uint16_read_truncated
  - TEST_uint16_read_success
  - TEST_uint32_read_empty
  - TEST_uint32_read_truncated
  - TEST_uint32_read_success
  - TEST_varint_read_empty
  - TEST_varint_read_truncated
  - TEST_varint_read_boundaries
  - TEST_varint_read_5_bytes
  - TEST_varint_read_overlong_encoding
  - TEST_string_read_empty
  - TEST_string_read_truncated
  - TEST_string_read_empty_string
  - TEST_string_read_valid_string
  - TEST_string_read_malformed_string
  - TEST_string_read_mqtt_1_5_4_3
  - TEST_binary_data_read_empty
  - TEST_binary_data_read_truncated
  - TEST_bytes_read_empty
  - TEST_bytes_read_truncated
  - TEST_bytes_read_success
  - init_datatype_read_tests
  source_file: /src/mosquitto/test/unit/lib/datatype_read.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST_byte_write
  - TEST_uint16_write
  - TEST_uint32_write
  - TEST_string_write
  - init_datatype_write_tests
  source_file: /src/mosquitto/test/unit/lib/datatype_write.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/mosquitto/test/unit/libcommon/test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - check_count
  - bad_add_byte_helper
  - bad_add_int16_helper
  - bad_add_int32_helper
  - bad_add_varint_helper
  - bad_add_binary_helper
  - bad_add_string_helper
  - bad_add_string_pair_helper
  - TEST_add_bad_byte
  - TEST_add_bad_int16
  - TEST_add_bad_int32
  - TEST_add_bad_varint
  - TEST_add_bad_binary
  - TEST_add_bad_string
  - TEST_add_bad_string_pair
  - single_add_byte_helper
  - single_add_int16_helper
  - single_add_int32_helper
  - single_add_varint_helper
  - single_add_binary_helper
  - single_add_string_helper
  - single_add_string_pair_helper
  - TEST_add_single_byte
  - TEST_add_single_int16
  - TEST_add_single_int32
  - TEST_add_single_varint
  - TEST_add_single_binary
  - TEST_add_single_string
  - TEST_add_single_string_pair
  - TEST_add_all_connect
  - TEST_add_all_connack
  - TEST_check_length
  - TEST_remove_single
  - TEST_remove_all
  - TEST_remove_non_existent
  - TEST_remove_invalid
  - init_property_add_tests
  source_file: /src/mosquitto/test/unit/libcommon/property_add.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST_string_to_property_info
  - TEST_mosquitto_strerror
  - TEST_mosquitto_connack_string
  - TEST_mosquitto_reason_string
  - TEST_mosquitto_string_to_command
  - init_strings_tests
  source_file: /src/mosquitto/test/unit/libcommon/strings_test.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: proptype
        type: int
      item_type: struct
      name: prop_id
      pos:
        line_end: 10
        line_start: 7
        source_file: /src/mosquitto/test/unit/libcommon/strings_test.c
    typedefs: []
    union: []
- function_names:
  - TEST_value_byte_success
  - TEST_value_byte_fail
  - TEST_value_int16_success
  - TEST_value_int16_fail
  - TEST_value_int32_success
  - TEST_value_int32_fail
  - TEST_value_varint_success
  - TEST_value_varint_fail
  - TEST_value_binary_success
  - TEST_value_binary_fail
  - TEST_value_string_success
  - TEST_value_string_fail
  - TEST_value_string_pair_success
  - TEST_value_string_pair_fail
  - init_property_value_tests
  source_file: /src/mosquitto/test/unit/libcommon/property_value.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - utf8_helper_len
  - utf8_helper
  - TEST_utf8_empty
  - TEST_utf8_valid
  - TEST_utf8_truncated
  - TEST_utf8_boundary_conditions
  - TEST_utf8_malformed_sequences
  - TEST_utf8_overlong_encoding
  - TEST_utf8_illegal_code_positions
  - TEST_utf8_control_characters
  - TEST_utf8_mqtt_1_5_4_2
  - TEST_utf8_mqtt_1_5_4_3
  - init_utf8_tests
  source_file: /src/mosquitto/test/unit/libcommon/utf8.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rtrim_helper
  - ltrim_helper
  - TEST_null_input
  - TEST_empty_input
  - TEST_no_blanks
  - TEST_rtrim
  - TEST_ltrim
  - TEST_btrim
  - init_trim_tests
  source_file: /src/mosquitto/test/unit/libcommon/trim_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - match_helper
  - no_match_helper
  - TEST_empty_input
  - TEST_topic_pattern_empty_input
  - TEST_acl_pattern_empty_input
  - TEST_sub_match_empty_input
  - TEST_valid_matching
  - TEST_invalid_but_matching
  - TEST_valid_no_matching
  - TEST_invalid
  - TEST_topic_pattern_clientid
  - TEST_topic_pattern_username
  - TEST_topic_pattern_both
  - TEST_topic_pattern_wildcard
  - TEST_topic_pattern_substring_beginning
  - TEST_topic_pattern_substring_middle
  - TEST_topic_pattern_substring_end
  - TEST_topic_pattern_substring_only
  - TEST_acl_pattern_clientid
  - TEST_acl_pattern_username
  - TEST_acl_pattern_both
  - TEST_acl_pattern_wildcard
  - TEST_acl_pattern_wildcard_wildcard
  - TEST_acl_pattern_substring_beginning
  - TEST_acl_pattern_substring_middle
  - TEST_acl_pattern_substring_end
  - TEST_acl_pattern_substring_only
  - pub_topic_helper
  - TEST_pub_topic_valid
  - TEST_pub_topic_invalid
  - sub_topic_helper
  - TEST_sub_topic_valid
  - TEST_sub_topic_invalid
  - sub_match_test
  - TEST_sub_match_acl
  - init_topic_tests
  source_file: /src/mosquitto/test/unit/libcommon/topic_test.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*topic_filter'
        type: char
      - name: '*topic'
        type: char
      - name: '*clientid'
        type: char
      - name: '*username'
        type: char
      - name: rc
        type: int
      - name: match
        type: bool
      item_type: struct
      name: topic_test
      pos:
        line_end: 12
        line_start: 5
        source_file: /src/mosquitto/test/unit/libcommon/topic_test.c
    typedefs: []
    union: []
- function_names:
  - map_valid_helper
  - map_invalid_helper
  - TEST_remap_valid
  - TEST_remap_invalid
  - init_bridge_tests
  - main
  source_file: /src/mosquitto/test/unit/broker/bridge_topic_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hier_quick_check
  - TEST_sub_add_single
  - main
  source_file: /src/mosquitto/test/unit/broker/subs_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - log__printf
  - net__is_connected
  - send__publish
  - send__pubcomp
  - send__pubrec
  - send__pubrel
  - mosquitto_acl_check
  - mosquitto__mid_generate
  - persist__backup
  - persist__restore
  - retain__init
  - retain__expiry_check
  - retain__clean
  - retain__queue
  - retain__store
  - util__decrement_receive_quota
  - util__decrement_send_quota
  - util__increment_receive_quota
  - util__increment_send_quota
  - plugin_persist__handle_client_msg_add
  - plugin_persist__handle_client_msg_delete
  - plugin_persist__handle_client_msg_update
  - plugin_persist__handle_client_msg_clear
  - plugin_persist__handle_base_msg_add
  - plugin_persist__handle_base_msg_delete
  - plugin_persist__handle_retain_msg_add
  - plugin_persist__handle_retain_msg_delete
  - plugin_persist__handle_subscription_delete
  - session_expiry__add_from_persistence
  - metrics__int_inc
  - metrics__int_dec
  source_file: /src/mosquitto/test/unit/broker/subs_stubs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - log__printf
  - mosquitto_acl_check
  - net__is_connected
  - net__socket_close
  - send__pingreq
  - callback__on_disconnect
  - callback__on_publish
  - do_client_disconnect
  - handle__packet
  - net__read
  - net__write
  - plugin_persist__handle_retain_set
  - plugin_persist__handle_retain_remove
  - plugin_persist__process_retain_events
  - plugin_persist__queue_retain_event
  - ws__prepare_packet
  - net__read_ws
  source_file: /src/mosquitto/test/unit/broker/stubs.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: mosquitto_db
      pos:
        line_end: 11
        line_start: 9
        source_file: /src/mosquitto/test/unit/broker/stubs.c
    - fields: []
      item_type: struct
      name: mosquitto__base_msg
      pos:
        line_end: 15
        line_start: 13
        source_file: /src/mosquitto/test/unit/broker/stubs.c
    typedefs: []
    union: []
- function_names:
  - log__printf
  - net__is_connected
  - loop__update_next_event
  source_file: /src/mosquitto/test/unit/broker/keepalive_stubs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - context__init
  - log__printf
  - net__is_connected
  - net__socket_close
  - net__socket_shutdown
  - send__pingreq
  - mosquitto_acl_check
  - acl__find_acls
  - send__publish
  - send__pubcomp
  - send__pubrec
  - send__pubrel
  - callback__on_disconnect
  - callback__on_publish
  - do_client_disconnect
  - handle__packet
  - net__read
  - net__write
  - context__add_to_by_id
  - context__send_will
  - plugin_persist__handle_client_msg_add
  - plugin_persist__handle_client_msg_delete
  - plugin_persist__handle_client_msg_update
  - plugin_persist__handle_client_msg_clear
  - plugin_persist__handle_base_msg_add
  - plugin_persist__handle_base_msg_delete
  - plugin_persist__handle_retain_msg_set
  - plugin_persist__handle_retain_msg_delete
  - plugin_persist__handle_subscription_delete
  - plugin_persist__process_retain_events
  - plugin_persist__queue_retain_event
  - session_expiry__add_from_persistence
  - mosquitto_log_printf
  - keepalive__update
  - mux__add_out
  - mux__remove_out
  - net__read_ws
  - ws__prepare_packet
  - send__disconnect
  - metrics__int_inc
  - metrics__int_dec
  source_file: /src/mosquitto/test/unit/broker/persist_write_stubs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_cleanup
  - file_read
  - file_diff
  - TEST_persistence_disabled
  - TEST_empty_file
  - TEST_v6_config_ok
  - TEST_v6_message_store_no_ref
  - TEST_v6_message_store_props
  - TEST_v6_client
  - TEST_v6_client_message
  - TEST_v6_client_message_props
  - TEST_v6_sub
  - TEST_v5_full
  - main
  source_file: /src/mosquitto/test/unit/broker/persist_write_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - context__init
  - log__printf
  - net__is_connected
  - net__socket_close
  - net__socket_shutdown
  - send__pingreq
  - mosquitto_acl_check
  - acl__find_acls
  - sub__add
  - callback__on_disconnect
  - context__add_to_by_id
  - context__send_will
  - plugin_persist__handle_retain_msg_set
  - plugin_persist__handle_retain_msg_delete
  - plugin_persist__handle_base_msg_add
  - plugin_persist__process_retain_events
  - plugin_persist__queue_retain_event
  - session_expiry__add_from_persistence
  - mosquitto_log_printf
  - sub__add_hier_entry
  - plugin_persist__handle_client_msg_add
  - plugin_persist__handle_client_msg_delete
  - plugin_persist__handle_client_msg_update
  - plugin_persist__handle_client_msg_clear
  - plugin_persist__handle_base_msg_delete
  - plugin_persist__handle_subscription_delete
  - sub__messages_queue
  - metrics__int_inc
  - metrics__int_dec
  - send__publish
  - send__pubcomp
  - send__pubrec
  - send__pubrel
  - sub__init
  source_file: /src/mosquitto/test/unit/broker/persist_read_stubs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_cleanup
  - TEST_persistence_disabled
  - TEST_empty_file
  - TEST_corrupt_header
  - TEST_unsupported_version
  - TEST_v3_config_ok
  - TEST_v4_config_ok
  - TEST_v3_config_truncated
  - TEST_v3_config_bad_dbid
  - TEST_v3_bad_chunk
  - TEST_v3_message_store
  - TEST_v3_client
  - TEST_v3_client_message
  - TEST_v3_retain
  - TEST_v3_sub
  - TEST_v4_message_store
  - TEST_v6_config_ok
  - TEST_v5_config_truncated
  - TEST_v5_bad_chunk
  - TEST_v6_message_store
  - TEST_v6_message_store_props
  - TEST_v5_client
  - TEST_v6_client
  - TEST_v6_client_message
  - TEST_v6_client_message_props
  - TEST_v6_retain
  - TEST_v6_sub
  - init_persist_read_tests
  - main
  source_file: /src/mosquitto/test/unit/broker/persist_read_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_disconnect
  - TEST_single_client
  - TEST_single_client_update
  - TEST_over_max_keepalive
  - TEST_100k_random_clients
  - init_keepalive_tests
  - main
  source_file: /src/mosquitto/test/unit/broker/keepalive_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/test/broker/c/bad_v6.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  - tick_callback
  - unpwd_check_callback
  source_file: /src/mosquitto/test/broker/c/auth_plugin_delayed.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/test/broker/c/bad_v1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  - mosquitto_auth_acl_check_v5
  - mosquitto_auth_unpwd_check_v5
  source_file: /src/mosquitto/test/broker/c/auth_plugin_v5.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  - mosquitto_auth_plugin_init
  - mosquitto_auth_plugin_cleanup
  - mosquitto_auth_security_init
  - mosquitto_auth_security_cleanup
  - mosquitto_auth_acl_check
  - mosquitto_auth_unpwd_check
  - mosquitto_auth_psk_key_get
  source_file: /src/mosquitto/test/broker/c/auth_plugin_pwd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  - mosquitto_auth_plugin_init
  - mosquitto_auth_plugin_cleanup
  - mosquitto_auth_security_init
  - mosquitto_auth_security_cleanup
  - mosquitto_auth_acl_check
  - mosquitto_auth_unpwd_check
  - mosquitto_auth_psk_key_get
  source_file: /src/mosquitto/test/broker/c/auth_plugin_msg_params.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  - mosquitto_auth_plugin_init
  - mosquitto_auth_plugin_cleanup
  - mosquitto_auth_security_init
  - mosquitto_auth_security_cleanup
  - mosquitto_auth_acl_check
  - mosquitto_auth_unpwd_check
  - mosquitto_auth_psk_key_get
  source_file: /src/mosquitto/test/broker/c/auth_plugin_publish.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  - mosquitto_auth_plugin_init
  - mosquitto_auth_plugin_cleanup
  source_file: /src/mosquitto/test/broker/c/bad_v3_5.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  - mosquitto_auth_plugin_init
  - mosquitto_auth_plugin_cleanup
  - mosquitto_auth_security_init
  - mosquitto_auth_security_cleanup
  - mosquitto_auth_acl_check
  source_file: /src/mosquitto/test/broker/c/bad_v3_2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  - mosquitto_auth_plugin_init
  - mosquitto_auth_plugin_cleanup
  source_file: /src/mosquitto/test/broker/c/bad_v4_2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  - mosquitto_auth_plugin_init
  - mosquitto_auth_plugin_cleanup
  - mosquitto_auth_security_init
  - mosquitto_auth_security_cleanup
  - mosquitto_auth_acl_check
  - mosquitto_auth_start
  - mosquitto_auth_continue
  source_file: /src/mosquitto/test/broker/c/auth_plugin_extended_single2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  - mosquitto_auth_plugin_init
  source_file: /src/mosquitto/test/broker/c/bad_v3_6.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  - mosquitto_auth_acl_check_v5
  - mosquitto_auth_unpwd_check_v5
  source_file: /src/mosquitto/test/broker/c/auth_plugin_acl_change.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  - mosquitto_auth_plugin_init
  - mosquitto_auth_plugin_cleanup
  - mosquitto_auth_security_init
  - mosquitto_auth_security_cleanup
  source_file: /src/mosquitto/test/broker/c/bad_v3_3.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  - mosquitto_auth_plugin_init
  - mosquitto_auth_plugin_cleanup
  - mosquitto_auth_security_init
  source_file: /src/mosquitto/test/broker/c/bad_v3_4.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_publish
  - on_disconnect
  - main
  source_file: /src/mosquitto/test/broker/c/08-tls-psk-pub.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - UNUSED
  - mosquitto_auth_plugin_version
  - mosquitto_auth_plugin_init
  - mosquitto_auth_plugin_cleanup
  - mosquitto_auth_security_init
  - mosquitto_auth_security_cleanup
  - mosquitto_auth_acl_check
  - mosquitto_auth_start
  - mosquitto_auth_continue
  source_file: /src/mosquitto/test/broker/c/auth_plugin_extended_reauth.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  - mosquitto_auth_acl_check_v5
  - mosquitto_auth_unpwd_check_v5
  source_file: /src/mosquitto/test/broker/c/auth_plugin_id_change.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - callback_unsubscribe
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  source_file: /src/mosquitto/test/broker/c/plugin_evt_unsubscribe.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  - mosquitto_auth_plugin_init
  source_file: /src/mosquitto/test/broker/c/bad_v4_3.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  - mosquitto_auth_plugin_init
  - mosquitto_auth_plugin_cleanup
  - mosquitto_auth_security_init
  - mosquitto_auth_security_cleanup
  source_file: /src/mosquitto/test/broker/c/bad_v2_3.c
  types:
    enum:
    - enumerators:
      - name: MOSQ_ERR_SUCCESS
        value: '0'
      - name: MOSQ_ERR_AUTH
        value: '11'
      - name: MOSQ_ERR_ACL_DENIED
        value: '12'
      item_type: enum
      name: mosq_err_t
      pos:
        line_end: 13
        line_start: 9
        source_file: /src/mosquitto/test/broker/c/bad_v2_3.c
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  - mosquitto_auth_plugin_init
  - mosquitto_auth_plugin_cleanup
  - mosquitto_auth_security_init
  - mosquitto_auth_security_cleanup
  - mosquitto_auth_acl_check
  - mosquitto_auth_unpwd_check
  - mosquitto_auth_psk_key_get
  source_file: /src/mosquitto/test/broker/c/auth_plugin_v4.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - callback_message_out
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  source_file: /src/mosquitto/test/broker/c/plugin_evt_message_out.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/test/broker/c/mosquitto_plugin_v2.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MOSQ_AUTH_PLUGIN_VERSION
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/mosquitto/test/broker/c/mosquitto_plugin_v2.h
      type_or_value: '2'
    - item_type: preproc_def
      name: MOSQ_ACL_NONE
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/mosquitto/test/broker/c/mosquitto_plugin_v2.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: MOSQ_ACL_READ
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/mosquitto/test/broker/c/mosquitto_plugin_v2.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: MOSQ_ACL_WRITE
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/mosquitto/test/broker/c/mosquitto_plugin_v2.h
      type_or_value: '0x02'
    structs:
    - fields:
      - name: '*key'
        type: char
      - name: '*value'
        type: char
      item_type: struct
      name: mosquitto_auth_opt
      pos:
        line_end: 28
        line_start: 25
        source_file: /src/mosquitto/test/broker/c/mosquitto_plugin_v2.h
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  - mosquitto_auth_plugin_init
  - mosquitto_auth_plugin_cleanup
  - mosquitto_auth_security_init
  - mosquitto_auth_security_cleanup
  - mosquitto_auth_acl_check
  - mosquitto_auth_unpwd_check
  - mosquitto_auth_psk_key_get
  source_file: /src/mosquitto/test/broker/c/auth_plugin_acl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  - mosquitto_auth_plugin_init
  - mosquitto_auth_plugin_cleanup
  - mosquitto_auth_security_init
  source_file: /src/mosquitto/test/broker/c/bad_v2_4.c
  types:
    enum:
    - enumerators:
      - name: MOSQ_ERR_SUCCESS
        value: '0'
      - name: MOSQ_ERR_ACL_DENIED
        value: '12'
      - name: MOSQ_ERR_AUTH
        value: '11'
      item_type: enum
      name: mosq_err_t
      pos:
        line_end: 13
        line_start: 9
        source_file: /src/mosquitto/test/broker/c/bad_v2_4.c
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - UNUSED
  - mosquitto_plugin_version
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  - handle_tick
  source_file: /src/mosquitto/test/broker/c/plugin_evt_tick.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  - mosquitto_auth_plugin_init
  - mosquitto_auth_plugin_cleanup
  - mosquitto_auth_security_init
  - mosquitto_auth_security_cleanup
  - mosquitto_auth_acl_check
  - mosquitto_auth_start
  - mosquitto_auth_continue
  source_file: /src/mosquitto/test/broker/c/auth_plugin_extended_multiple.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  - mosquitto_auth_plugin_init
  - mosquitto_auth_plugin_cleanup
  - mosquitto_auth_security_init
  - mosquitto_auth_security_cleanup
  - mosquitto_auth_acl_check
  - mosquitto_auth_unpwd_check
  - mosquitto_auth_psk_key_get
  source_file: /src/mosquitto/test/broker/c/auth_plugin_acl_sub_denied.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  - mosquitto_auth_plugin_init
  - mosquitto_auth_plugin_cleanup
  source_file: /src/mosquitto/test/broker/c/bad_v2_5.c
  types:
    enum:
    - enumerators:
      - name: MOSQ_ERR_SUCCESS
        value: '0'
      - name: MOSQ_ERR_AUTH
        value: '11'
      - name: MOSQ_ERR_ACL_DENIED
        value: '12'
      item_type: enum
      name: mosq_err_t
      pos:
        line_end: 13
        line_start: 9
        source_file: /src/mosquitto/test/broker/c/bad_v2_5.c
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  source_file: /src/mosquitto/test/broker/c/bad_v4_4.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_log
  - on_connect
  - on_publish
  - on_disconnect
  - main
  source_file: /src/mosquitto/test/broker/c/08-tls-psk-bridge.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  - mosquitto_auth_plugin_init
  - mosquitto_auth_plugin_cleanup
  - mosquitto_auth_security_init
  source_file: /src/mosquitto/test/broker/c/bad_v4_1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - callback_subscribe
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  source_file: /src/mosquitto/test/broker/c/plugin_evt_subscribe.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/test/broker/c/bad_v5_1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  - mosquitto_auth_plugin_init
  - mosquitto_auth_plugin_cleanup
  - mosquitto_auth_security_init
  - mosquitto_auth_security_cleanup
  - mosquitto_auth_acl_check
  - mosquitto_auth_start
  - mosquitto_auth_continue
  source_file: /src/mosquitto/test/broker/c/auth_plugin_extended_single.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  source_file: /src/mosquitto/test/broker/c/bad_v2_7.c
  types:
    enum:
    - enumerators:
      - name: MOSQ_ERR_SUCCESS
        value: '0'
      - name: MOSQ_ERR_ACL_DENIED
        value: '12'
      - name: MOSQ_ERR_AUTH
        value: '11'
      item_type: enum
      name: mosq_err_t
      pos:
        line_end: 13
        line_start: 9
        source_file: /src/mosquitto/test/broker/c/bad_v2_7.c
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  - mosquitto_auth_plugin_init
  source_file: /src/mosquitto/test/broker/c/bad_v2_6.c
  types:
    enum:
    - enumerators:
      - name: MOSQ_ERR_SUCCESS
        value: '0'
      - name: MOSQ_ERR_ACL_DENIED
        value: '12'
      - name: MOSQ_ERR_AUTH
        value: '11'
      item_type: enum
      name: mosq_err_t
      pos:
        line_end: 13
        line_start: 9
        source_file: /src/mosquitto/test/broker/c/bad_v2_6.c
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  - mosquitto_auth_plugin_init
  - mosquitto_auth_plugin_cleanup
  - mosquitto_auth_security_init
  - mosquitto_auth_security_cleanup
  - mosquitto_auth_acl_check
  - mosquitto_auth_unpwd_check
  source_file: /src/mosquitto/test/broker/c/bad_v3_1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - UNUSED
  - mosquitto_plugin_version
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  - handle_reload
  source_file: /src/mosquitto/test/broker/c/plugin_evt_reload.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  - mosquitto_auth_plugin_init
  - mosquitto_auth_plugin_cleanup
  - mosquitto_auth_security_init
  - mosquitto_auth_security_cleanup
  - mosquitto_auth_acl_check
  - mosquitto_auth_unpwd_check
  - mosquitto_auth_psk_key_get
  source_file: /src/mosquitto/test/broker/c/auth_plugin_context_params.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - callback_message_in
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  source_file: /src/mosquitto/test/broker/c/plugin_evt_message_in.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - control_callback
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  source_file: /src/mosquitto/test/broker/c/plugin_control.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  - mosquitto_auth_acl_check_v5
  - mosquitto_auth_unpwd_check_v5
  source_file: /src/mosquitto/test/broker/c/auth_plugin_v5_control.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - callback_persist_client_update
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  source_file: /src/mosquitto/test/broker/c/plugin_evt_persist_client_update.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - callback_client_offline
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  source_file: /src/mosquitto/test/broker/c/plugin_evt_client_offline.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - UNUSED
  - mosquitto_plugin_version
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  - handle_tick
  - handle_connect
  - handle_disconnect
  source_file: /src/mosquitto/test/broker/c/kick_last_client.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  source_file: /src/mosquitto/test/broker/c/bad_v3_7.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  - mosquitto_auth_plugin_init
  - mosquitto_auth_plugin_cleanup
  - mosquitto_auth_security_init
  - mosquitto_auth_security_cleanup
  - mosquitto_auth_acl_check
  - mosquitto_auth_unpwd_check
  - mosquitto_auth_psk_key_get
  source_file: /src/mosquitto/test/broker/c/auth_plugin_v3.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  - mosquitto_auth_plugin_init
  - mosquitto_auth_plugin_cleanup
  - mosquitto_auth_security_init
  - mosquitto_auth_security_cleanup
  - mosquitto_auth_acl_check
  - mosquitto_auth_unpwd_check
  source_file: /src/mosquitto/test/broker/c/bad_v2_1.c
  types:
    enum:
    - enumerators:
      - name: MOSQ_ERR_SUCCESS
        value: '0'
      - name: MOSQ_ERR_AUTH
        value: '11'
      - name: MOSQ_ERR_ACL_DENIED
        value: '12'
      item_type: enum
      name: mosq_err_t
      pos:
        line_end: 13
        line_start: 9
        source_file: /src/mosquitto/test/broker/c/bad_v2_1.c
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - UNUSED
  - psk_callback
  - mosquitto_plugin_init
  source_file: /src/mosquitto/test/broker/c/plugin_evt_psk_key.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  - mosquitto_auth_plugin_init
  - mosquitto_auth_plugin_cleanup
  - mosquitto_auth_security_init
  - mosquitto_auth_security_cleanup
  - mosquitto_auth_acl_check
  - mosquitto_auth_unpwd_check
  - mosquitto_auth_psk_key_get
  source_file: /src/mosquitto/test/broker/c/auth_plugin_v2.c
  types:
    enum:
    - enumerators:
      - name: MOSQ_ERR_SUCCESS
        value: '0'
      - name: MOSQ_ERR_AUTH
        value: '11'
      - name: MOSQ_ERR_ACL_DENIED
        value: '12'
      item_type: enum
      name: mosq_err_t
      pos:
        line_end: 13
        line_start: 9
        source_file: /src/mosquitto/test/broker/c/auth_plugin_v2.c
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dummy
  source_file: /src/mosquitto/test/broker/c/bad_vnone_1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_auth_plugin_version
  - mosquitto_auth_plugin_init
  - mosquitto_auth_plugin_cleanup
  - mosquitto_auth_security_init
  - mosquitto_auth_security_cleanup
  - mosquitto_auth_acl_check
  source_file: /src/mosquitto/test/broker/c/bad_v2_2.c
  types:
    enum:
    - enumerators:
      - name: MOSQ_ERR_SUCCESS
        value: '0'
      - name: MOSQ_ERR_ACL_DENIED
        value: '12'
      - name: MOSQ_ERR_AUTH
        value: '11'
      item_type: enum
      name: mosq_err_t
      pos:
        line_end: 13
        line_start: 9
        source_file: /src/mosquitto/test/broker/c/bad_v2_2.c
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_publish_callback
  - main
  source_file: /src/mosquitto/test/old/msgsps_pub.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/test/old/msgsps_common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HOST
      pos:
        line_end: 4
        line_start: 3
        source_file: /src/mosquitto/test/old/msgsps_common.h
      type_or_value: '"127.0.0.1"'
    - item_type: preproc_def
      name: PORT
      pos:
        line_end: 5
        line_start: 4
        source_file: /src/mosquitto/test/old/msgsps_common.h
      type_or_value: '1883'
    - item_type: preproc_def
      name: PUB_QOS
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/mosquitto/test/old/msgsps_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SUB_QOS
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/mosquitto/test/old/msgsps_common.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MESSAGE_SIZE
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/mosquitto/test/old/msgsps_common.h
      type_or_value: 1024L
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_message_callback
  - main
  source_file: /src/mosquitto/test/old/msgsps_sub.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - plugin__handle_connect_single
  - plugin__handle_connect
  source_file: /src/mosquitto/src/plugin_connect.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - persist__chunk_cfg_write_v6
  - persist__chunk_client_write_v6
  - persist__chunk_client_msg_write_v6
  - persist__chunk_message_store_write_v6
  - persist__chunk_retain_write_v6
  - persist__chunk_sub_write_v6
  source_file: /src/mosquitto/src/persist_write_v5.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - retain__add_hier_entry
  - retain__init
  - mosquitto_persist_retain_msg_set
  - mosquitto_persist_retain_msg_delete
  - retain__clean_empty_hierarchy
  - retain__store
  - retain__delete_expired_msg
  - retain__process
  - retain__search
  - retain__queue
  - retain__expire
  - retain__clean
  - retain__expiry_check
  source_file: /src/mosquitto/src/retain.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - plugin_v3_basic_auth
  - plugin_v3_acl_check
  - plugin_v3_psk_key_get
  - plugin_v3_reload
  - plugin__load_v3
  source_file: /src/mosquitto/src/plugin_v3.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*FUNC_auth_plugin_version)(void)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/mosquitto/src/plugin_v3.c
      type: int
    - item_type: typedef
      name: (*FUNC_plugin_version)(int, const int *)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/mosquitto/src/plugin_v3.c
      type: int
    union: []
- function_names:
  - easy_address
  - callback_mqtt
  - http__canonical_filename
  - callback_http
  - log_wrap
  - mosq_websockets_init
  source_file: /src/mosquitto/src/websockets.c
  types:
    enum:
    - enumerators:
      - name: PROTOCOL_HTTP
        value: '0'
      - name: PROTOCOL_MQTT
      - name: DEMO_PROTOCOL_COUNT
      item_type: enum
      name: mosq_ws_protocols
      pos:
        line_end: 65
        line_start: 61
        source_file: /src/mosquitto/src/websockets.c
    preproc_defs:
    - item_type: preproc_def
      name: WS_SERV_BUF_SIZE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/mosquitto/src/websockets.c
      type_or_value: '4096'
    - item_type: preproc_def
      name: WS_TX_BUF_SIZE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mosquitto/src/websockets.c
      type_or_value: (WS_SERV_BUF_SIZE*2)
    structs:
    - fields:
      - name: '*fptr'
        type: FILE
      item_type: struct
      name: libws_http_data
      pos:
        line_end: 69
        line_start: 67
        source_file: /src/mosquitto/src/websockets.c
    typedefs: []
    union: []
- function_names:
  - set_umask
  - check_uid
  - print_pwname
  - drop_privileges
  - mosquitto__daemonise
  - pid__write
  - report_features
  - post_shutdown_cleanup
  - cjson_init
  - main
  - WinMain
  source_file: /src/mosquitto/src/mosquitto.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_plugin_set_info
  - mosquitto_client_address
  - mosquitto_client
  - mosquitto_client_port
  - mosquitto_client_clean_session
  - mosquitto_client_id
  - mosquitto_client_id_hashv
  - mosquitto_client_keepalive
  - mosquitto_client_certificate
  - mosquitto_client_protocol
  - mosquitto_client_protocol_version
  - mosquitto_client_sub_count
  - mosquitto_client_username
  - mosquitto_broker_publish
  - mosquitto_broker_publish_copy
  - mosquitto_set_username
  - mosquitto_set_clientid
  - check_subscription_acls
  - disconnect_client
  - mosquitto_kick_client_by_clientid
  - mosquitto_kick_client_by_username
  - mosquitto_apply_on_all_clients
  - mosquitto_persist_client_add
  - mosquitto_persist_client_update
  - mosquitto_persist_client_delete
  - find_store_msg
  - mosquitto_persist_client_msg_add
  - mosquitto_persist_client_msg_delete
  - mosquitto_persist_client_msg_update
  - mosquitto_persist_client_msg_clear
  - mosquitto_subscription_add
  - mosquitto_subscription_delete
  - mosquitto_persist_base_msg_add
  - mosquitto_persist_base_msg_delete
  - mosquitto_complete_basic_auth
  - mosquitto_broker_node_id_set
  - mosquitto_persistence_location
  - mosquitto_client_will_set
  source_file: /src/mosquitto/src/plugin_public.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle__auth
  source_file: /src/mosquitto/src/handle_auth.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - will_delay__cmp
  - will_delay__add
  - will_delay__send_all
  - DL_FOREACH_SAFE
  - will_delay__check
  - DL_FOREACH_SAFE
  - will_delay__remove
  source_file: /src/mosquitto/src/will_delay.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - proxy_cleanup
  - update_transport
  - get_address_for_unknown
  - proxy_v1__decode
  - proxy_v1__read
  source_file: /src/mosquitto/src/proxy_v1.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PROXY_V1_PACKET_LIMIT
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/mosquitto/src/proxy_v1.c
      type_or_value: '108'
    structs: []
    typedefs: []
    union: []
- function_names:
  - plugin__psk_key_get
  - mosquitto_psk_key_get
  source_file: /src/mosquitto/src/plugin_psk_key.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - plugin__handle_message_single
  - DL_FOREACH_SAFE
  - plugin__handle_message_out
  - plugin__handle_message_in
  source_file: /src/mosquitto/src/plugin_message.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: topic
        type: bool
      - name: payload
        type: bool
      - name: properties
        type: bool
      item_type: struct
      name: should_free
      pos:
        line_end: 27
        line_start: 23
        source_file: /src/mosquitto/src/plugin_message.c
    typedefs: []
    union: []
- function_names:
  - handle_signal
  - signal__setup
  - signal__flag_check
  - SigThreadProc
  source_file: /src/mosquitto/src/signals.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MOSQ_MAX_EVTS
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/mosquitto/src/signals.c
      type_or_value: '6'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/src/acl_file.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct acl__entry
      - name: '*topic'
        type: char
      - name: access
        type: int
      - name: ucount
        type: int
      - name: ccount
        type: int
      item_type: struct
      name: acl__entry
      pos:
        line_end: 28
        line_start: 22
        source_file: /src/mosquitto/src/acl_file.h
    - fields:
      - name: hh
        type: UT_hash_handle
      - name: '*username'
        type: char
      - name: '*acl'
        type: struct acl__entry
      item_type: struct
      name: acl__user
      pos:
        line_end: 35
        line_start: 31
        source_file: /src/mosquitto/src/acl_file.h
    - fields:
      - name: '*acl_file'
        type: char
      - name: '*acl_users'
        type: struct acl__user
      - name: acl_anon
        type: struct acl__user
      - name: '*acl_patterns'
        type: struct acl__entry
      item_type: struct
      name: acl_file_data
      pos:
        line_end: 43
        line_start: 38
        source_file: /src/mosquitto/src/acl_file.h
    typedefs: []
    union: []
- function_names:
  - process_bad_message
  - handle__accepted_publish
  - handle__publish
  source_file: /src/mosquitto/src/handle_publish.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle__packet
  source_file: /src/mosquitto/src/read_handle.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LIB_ERROR
  - plugin__load_single
  - plugin__load_all
  - plugin__security_init_single
  - mosquitto_security_init
  source_file: /src/mosquitto/src/plugin_init.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*FUNC_auth_plugin_version)(void)
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/mosquitto/src/plugin_init.c
      type: int
    - item_type: typedef
      name: (*FUNC_plugin_version)(int, const int *)
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/mosquitto/src/plugin_init.c
      type: int
    union: []
- function_names:
  - plugin__handle_unsubscribe_single
  - plugin__handle_unsubscribe
  source_file: /src/mosquitto/src/plugin_unsubscribe.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - plugin__handle_disconnect_single
  - plugin__handle_disconnect
  source_file: /src/mosquitto/src/plugin_disconnect.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - plugin__handle_tick_single
  - plugin__handle_tick
  source_file: /src/mosquitto/src/plugin_tick.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - psk__free_item
  - psk_file__init
  - psk_file__cleanup
  - pwfile__parse
  - psk__file_parse
  - psk__cleanup
  - mosquitto_psk_key_get_default
  source_file: /src/mosquitto/src/psk_file.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - scmp_p
  - config__get_dir_files
  - config__get_dir_files
  source_file: /src/mosquitto/src/conf_includedir.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - plugin_persist__handle_restore
  - plugin_persist__handle_client_add
  - plugin_persist__handle_client_update
  - plugin_persist__handle_client_delete
  - plugin_persist__handle_subscription_add
  - plugin_persist__handle_subscription_delete
  - plugin_persist__handle_client_msg_add
  - plugin_persist__handle_client_msg_delete
  - plugin_persist__handle_client_msg_update
  - plugin_persist__handle_base_msg_add
  - plugin_persist__handle_base_msg_delete
  - plugin_persist__handle_retain_msg_set
  - plugin_persist__handle_retain_msg_delete
  - plugin_persist__handle_will_add
  - plugin_persist__handle_will_delete
  source_file: /src/mosquitto/src/plugin_persist.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - plugin__ext_auth_start
  - mosquitto_security_auth_start
  - plugin__ext_auth_continue
  - mosquitto_security_auth_continue
  source_file: /src/mosquitto/src/plugin_extended_auth.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mux_epoll__init
  - mux_epoll__add_listeners
  - mux_epoll__delete_listeners
  - mux_epoll__add_out
  - mux_epoll__remove_out
  - mux_epoll__new
  - mux_epoll__delete
  - mux_epoll__handle
  - mux_epoll__cleanup
  - loop_handle_reads_writes
  source_file: /src/mosquitto/src/mux_epoll.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_EVENTS
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/mosquitto/src/mux_epoll.c
      type_or_value: '1000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - broker_password_file__init
  - broker_password_file__cleanup
  source_file: /src/mosquitto/src/password_file.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - plugin_v4_basic_auth
  - plugin_v4_acl_check
  - plugin_v4_auth_start
  - plugin_v4_auth_continue
  - plugin_v4_psk_key_get
  - plugin_v4_reload
  - plugin__load_v4
  source_file: /src/mosquitto/src/plugin_v4.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*FUNC_auth_plugin_version)(void)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/mosquitto/src/plugin_v4.c
      type: int
    - item_type: typedef
      name: (*FUNC_plugin_version)(int, const int *)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/mosquitto/src/plugin_v4.c
      type: int
    union: []
- function_names:
  - get_event_name
  - check_callback_exists
  - DL_FOREACH_SAFE
  - plugin__get_callback_base
  - remove_callback
  - mosquitto_callback_register
  - plugin__callback_unregister_all
  - mosquitto_callback_unregister
  source_file: /src/mosquitto/src/plugin_callbacks.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - plugin__load_v5
  source_file: /src/mosquitto/src/plugin_v5.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - plugin__unload_single
  - plugin__unload_all
  - plugin__security_cleanup_single
  - mosquitto_security_cleanup
  source_file: /src/mosquitto/src/plugin_cleanup.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - calc_index
  - keepalive__init
  - keepalive__cleanup
  - DL_FOREACH_SAFE2
  - keepalive__add
  - keepalive__check
  - DL_FOREACH_SAFE2
  - keepalive__check
  - keepalive__remove
  - keepalive__update
  source_file: /src/mosquitto/src/keepalive.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - bridge__new
  - bridge__destroy
  - bridge__start_all
  - bridge__set_tcp_user_timeout
  - bridge__connect_step1
  - bridge__connect_step2
  - bridge__connect_step3
  - bridge__connect
  - bridge__on_connect
  - bridge__register_local_connections
  - bridge__reload
  - bridge__db_cleanup
  - bridge__cleanup
  - bridge__packet_cleanup
  - rand_between
  - bridge__backoff_step
  - bridge__backoff_reset
  - bridge__update_backoff
  - bridge_check_pending
  - reload_if_needed
  - bridge_check
  source_file: /src/mosquitto/src/bridge.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - plugin__handle_reload_single
  - plugin__handle_reload
  source_file: /src/mosquitto/src/plugin_reload.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - persist__find_or_add_context
  - persist__read_string_len
  - persist__read_string
  - persist__client_msg_restore
  - persist__client_chunk_restore
  - persist__client_msg_chunk_restore
  - persist__base_msg_chunk_restore
  - persist__retain_chunk_restore
  - persist__sub_chunk_restore
  - persist__chunk_header_read
  - persist__restore
  - persist__restore_sub
  source_file: /src/mosquitto/src/persist_read.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - context__init_sock
  - context__init
  - context__cleanup_out_packets
  - context__cleanup
  - context__send_will
  - context__disconnect
  - context__add_to_disused
  - context__free_disused
  - context__add_to_by_id
  - context__remove_from_by_id
  source_file: /src/mosquitto/src/context.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - client_cost
  - report_subscriptions
  - xtreport
  source_file: /src/mosquitto/src/xtreport.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - property__process_connect
  - property__process_will
  - property__process_publish
  - property__process_disconnect
  source_file: /src/mosquitto/src/property_broker.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - plugin_v2_basic_auth
  - plugin_v2_acl_check
  - plugin_v2_psk_key_get
  - plugin_v2_reload
  - plugin__load_v2
  source_file: /src/mosquitto/src/plugin_v2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*FUNC_auth_plugin_version)(void)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/mosquitto/src/plugin_v2.c
      type: int
    - item_type: typedef
      name: (*FUNC_plugin_version)(int, const int *)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/mosquitto/src/plugin_v2.c
      type: int
    union: []
- function_names:
  - send__auth
  source_file: /src/mosquitto/src/send_auth.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - REQUIRE_LISTENER
  - REQUIRE_LISTENER_OR_DEFAULT_LISTENER
  - REQUIRE_LISTENER_IF_PER_LISTENER
  - REQUIRE_NON_DEFAULT_LISTENER
  - REQUIRE_BRIDGE
  - REQUIRE_PLUGIN
  - OPTION_DEPRECATED
  - OPTION_UNAVAILABLE
  - REQUIRE_NON_EMPTY_OPTION
  - PER_LISTENER_ALTERNATIVE
  - REQUIRE_BRIDGE_NO_TLS_PSK
  - REQUIRE_BRIDGE_NO_X509
  - config__add_listener
  - config__create_default_listener
  - conf__set_cur_security_options
  - conf__attempt_resolve
  - config__init_reload
  - config__cleanup_plugin_config
  - config__cleanup_plugins
  - config__init
  - config__cleanup
  - config__bridge_cleanup
  - print_version
  - print_usage
  - config__parse_args
  - config__copy
  - config__read
  - config__plugin_find
  - config__plugin_load
  - config__plugin_add_secopt
  - config__read_file
  - config__check_proxy
  - config__check
  - config__check_bridges
  - conf__parse_bool
  - conf__parse_int
  - conf__parse_ssize_t
  - conf__parse_string
  source_file: /src/mosquitto/src/conf.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: log_dest
        type: unsigned int
      - name: log_dest_set
        type: int
      - name: log_type
        type: unsigned int
      - name: log_type_set
        type: int
      item_type: struct
      name: config_recurse
      pos:
        line_end: 56
        line_start: 51
        source_file: /src/mosquitto/src/conf.c
    typedefs: []
    union: []
- function_names:
  - persist__chunk_header_read_v56
  - persist__chunk_cfg_read_v56
  - persist__chunk_client_read_v56
  - persist__chunk_client_msg_read_v56
  - persist__chunk_base_msg_read_v56
  - persist__chunk_retain_read_v56
  - persist__chunk_sub_read_v56
  source_file: /src/mosquitto/src/persist_read_v5.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fix_name
  - print_error
  - service_handler
  - service_main
  - service_install
  - service_uninstall
  - service_run
  source_file: /src/mosquitto/src/service.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle__disconnect
  source_file: /src/mosquitto/src/handle_disconnect.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - strtok_hier
  - sub__topic_tokenise
  source_file: /src/mosquitto/src/topic_tok.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle__unsubscribe
  source_file: /src/mosquitto/src/handle_unsubscribe.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_control_command_reply
  - mosquitto_control_send_response
  - control__generic_handle_commands
  - cJSON_ArrayForEach
  - mosquitto_control_generic_callback
  source_file: /src/mosquitto/src/control_common.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CJSON_VERSION_FULL
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/mosquitto/src/control_common.c
      type_or_value: (CJSON_VERSION_MAJOR*1000000+CJSON_VERSION_MINOR*1000+CJSON_VERSION_PATCH)
    structs: []
    typedefs: []
    union: []
- function_names:
  - S_ISREG
  - http__canonical_filename
  - http_api__send_error_response
  - http_api__send_response_with_headers
  - http_api__process_version
  - http_api__process_listeners
  - http_api__process_systree
  - http_file_read_cb
  - http_file_free_cb
  - http_api__process_file
  - http_api__process_api
  - check_access
  - http_api_handler
  - http_api__start_local
  - http_api__start
  - http_api__stop
  source_file: /src/mosquitto/src/http_api.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HTTP_API_DIR
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/mosquitto/src/http_api.c
      type_or_value: '""'
    - item_type: preproc_def
      name: HTTP_RESPONSE_BUFLEN
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/mosquitto/src/http_api.c
      type_or_value: '10000'
    - item_type: preproc_def
      name: DIR_SEP
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/mosquitto/src/http_api.c
      type_or_value: '''\\'''
    - item_type: preproc_def
      name: PATH_MAX
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/mosquitto/src/http_api.c
      type_or_value: MAX_PATH
    - item_type: preproc_def
      name: DIR_SEP
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/mosquitto/src/http_api.c
      type_or_value: '''/'''
    structs:
    - fields:
      - name: current
        type: int64_t
      - name: next
        type: int64_t
      - name: '*topic'
        type: char
      - name: is_max
        type: bool
      item_type: struct
      name: metric
      pos:
        line_end: 45
        line_start: 40
        source_file: /src/mosquitto/src/http_api.c
    typedefs: []
    union: []
- function_names:
  - control__negative_reply
  - control__process
  - control__register_callback
  - control__unregister_callback
  - control__unregister_all_callbacks
  source_file: /src/mosquitto/src/control.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dlt_fifo_check
  - get_time
  - log__init
  - log__close
  - get_dlt_level
  - get_android_level
  - log__vprintf
  - log__printf
  - log__internal
  - mosquitto_log_vprintf
  - mosquitto_log_printf
  - libcommon__vprintf
  source_file: /src/mosquitto/src/logging.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - watchdog__init
  - watchdog__check
  source_file: /src/mosquitto/src/watchdog.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - send__unsuback
  source_file: /src/mosquitto/src/send_unsuback.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - lws__sul_callback
  - single_publish
  - read_message_expiry_interval
  - queue_plugin_msgs
  - loop__update_next_event
  - mosquitto_main_loop
  - do_disconnect
  source_file: /src/mosquitto/src/loop.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - nibble_to_hex
  - clientid_gen
  - connect__on_authorised
  - will__read
  - check_protocol_version
  - send__connack_error_and_return
  - send__connack_bad_username_or_password_error
  - read_protocol_name
  - read_and_verify_protocol_version
  - read_and_verify_connect_flags
  - set_session_expiry_interval
  - read_and_reset_keepalive
  - read_and_verify_v5_connect_properties
  - verify_will_options
  - handle_zero_length_clientid
  - check_clientid_prefixes
  - read_and_verify_clientid_from_packet
  - set_username_from_packet
  - set_password_from_packet
  - read_and_verify_client_credentials_from_packet
  - check_additional_trailing_data
  - get_client_cert_and_subject_name
  - free_x509_and_send_connack_error
  - free_x509_and_BIO_and_send_connack_error
  - set_username_from_cert_identity
  - set_username_from_cert_subject_name
  - handle_username_from_cert_options
  - handle_username_as_clientid_option
  - handle__connect
  source_file: /src/mosquitto/src/handle_connect.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - broker_acl_file__init
  - broker_acl_file__cleanup
  source_file: /src/mosquitto/src/acl_file.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - bridge__create_remap_topic
  - bridge__create_prefix
  - bridge__find_topic
  - bridge__cleanup_topics
  - bridge__add_topic
  - bridge__remap_topic_in
  source_file: /src/mosquitto/src/bridge_topic.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/src/sys_tree.h
  types:
    enum:
    - enumerators:
      - name: mosq_gauge_message_store_count
        value: '5'
      - name: mosq_gauge_retained_messages
        value: '9'
      - name: mosq_counter_messages_sent
        value: '13'
      - name: mosq_counter_pub_bytes_sent
        value: '17'
      - name: mosq_counter_mqtt_connect_received
        value: '21'
      - name: mosq_counter_mqtt_publish_dropped
        value: '25'
      - name: mosq_counter_mqtt_publish_sent
        value: '27'
      - name: mosq_counter_mqtt_pubrec_sent
        value: '31'
      - name: mosq_counter_mqtt_pubcomp_sent
        value: '35'
      - name: mosq_counter_mqtt_suback_sent
        value: '39'
      - name: mosq_counter_mqtt_pingreq_received
        value: '44'
      - name: mosq_counter_mqtt_disconnect_sent
        value: '49'
      - name: mosq_counter_mqtt_unsuback_sent
        value: '43'
      - name: mosq_counter_mqtt_disconnect_received
        value: '48'
      - name: mosq_counter_mqtt_subscribe_sent
        value: '37'
      - name: mosq_gauge_clients_total
        value: '0'
      - name: mosq_counter_clients_expired
        value: '4'
      - name: mosq_gauge_shared_subscriptions
        value: '8'
      - name: mosq_counter_pub_bytes_received
        value: '16'
      - name: mosq_counter_messages_received
        value: '12'
      - name: mosq_counter_socket_connections
        value: '20'
      - name: mosq_counter_mqtt_connack_sent
        value: '24'
      - name: mosq_counter_mqtt_pubrec_received
        value: '30'
      - name: mosq_counter_mqtt_pubcomp_received
        value: '34'
      - name: mosq_counter_mqtt_suback_received
        value: '38'
      - name: mosq_counter_mqtt_unsuback_received
        value: '42'
      - name: mosq_counter_mqtt_pingresp_sent
        value: '47'
      - name: mosq_counter_mqtt_unsubscribe_sent
        value: '41'
      - name: mosq_gauge_clients_connected
        value: '3'
      - name: mosq_counter_clients_maximum
        value: '1'
      - name: mosq_gauge_clients_disconnected
        value: '2'
      - name: mosq_gauge_subscriptions
        value: '7'
      - name: mosq_counter_heap_maximum
        value: '11'
      - name: mosq_counter_bytes_sent
        value: '15'
      - name: mosq_gauge_out_packet_bytes
        value: '19'
      - name: mosq_counter_mqtt_connack_received
        value: '23'
      - name: mosq_counter_mqtt_puback_sent
        value: '29'
      - name: mosq_counter_mqtt_pubrel_sent
        value: '33'
      - name: mosq_counter_mqtt_pingresp_received
        value: '46'
      - name: mosq_metric_max
      - name: mosq_counter_mqtt_auth_sent
        value: '51'
      - name: mosq_gauge_message_store_bytes
        value: '6'
      - name: mosq_gauge_heap_current
        value: '10'
      - name: mosq_gauge_out_packets
        value: '18'
      - name: mosq_counter_bytes_received
        value: '14'
      - name: mosq_counter_mqtt_connect_sent
        value: '22'
      - name: mosq_counter_mqtt_publish_received
        value: '26'
      - name: mosq_counter_mqtt_puback_received
        value: '28'
      - name: mosq_counter_mqtt_pubrel_received
        value: '32'
      - name: mosq_counter_mqtt_subscribe_received
        value: '36'
      - name: mosq_counter_mqtt_unsubscribe_received
        value: '40'
      - name: mosq_counter_mqtt_pingreq_sent
        value: '45'
      - name: mosq_counter_mqtt_auth_received
        value: '50'
      item_type: enum
      name: mosq_metric_type
      pos:
        line_end: 79
        line_start: 24
        source_file: /src/mosquitto/src/sys_tree.h
    - enumerators:
      - name: mosq_load_messages_sent_5min
        value: '4'
      - name: mosq_load_pub_messages_dropped_15min
        value: '8'
      - name: mosq_load_bytes_received_5min
        value: '16'
      - name: mosq_load_pub_messages_sent_1min
        value: '12'
      - name: mosq_load_bytes_sent_15min
        value: '20'
      - name: mosq_load_connections_1min
        value: '24'
      - name: mosq_load_messages_received_1min
        value: '0'
      - name: mosq_load_messages_sent_1min
        value: '3'
      - name: mosq_load_pub_messages_dropped_5min
        value: '7'
      - name: mosq_load_pub_messages_received_15min
        value: '11'
      - name: mosq_load_bytes_received_1min
        value: '15'
      - name: mosq_load_bytes_sent_5min
        value: '19'
      - name: mosq_load_sockets_15min
        value: '23'
      - name: mosq_metric_load_max
      - name: mosq_load_messages_received_15min
        value: '2'
      - name: mosq_load_pub_messages_dropped_1min
        value: '6'
      - name: mosq_load_pub_messages_sent_15min
        value: '14'
      - name: mosq_load_pub_messages_received_5min
        value: '10'
      - name: mosq_load_bytes_sent_1min
        value: '18'
      - name: mosq_load_sockets_5min
        value: '22'
      - name: mosq_load_connections_15min
        value: '26'
      - name: mosq_load_messages_received_5min
        value: '1'
      - name: mosq_load_messages_sent_15min
        value: '5'
      - name: mosq_load_pub_messages_received_1min
        value: '9'
      - name: mosq_load_pub_messages_sent_5min
        value: '13'
      - name: mosq_load_bytes_received_15min
        value: '17'
      - name: mosq_load_sockets_1min
        value: '21'
      - name: mosq_load_connections_5min
        value: '25'
      item_type: enum
      name: mosq_metric_load_type
      pos:
        line_end: 112
        line_start: 82
        source_file: /src/mosquitto/src/sys_tree.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - db__ready_for_flight
  - db__ready_for_queue
  - db__msg_add_to_inflight_stats
  - db__msg_remove_from_inflight_stats
  - db__msg_add_to_queued_stats
  - db__msg_remove_from_queued_stats
  - db__open
  - subhier_clean
  - db__close
  - db__msg_store_add
  - db__msg_store_free
  - db__msg_store_remove
  - db__msg_store_clean
  - db__msg_store_ref_inc
  - db__msg_store_ref_dec
  - db__msg_store_compact
  - db__message_remove_inflight
  - db__message_remove_queued
  - db__fill_inflight_out_from_queue
  - db__message_dequeue_first
  - db__message_delete_outgoing
  - db__message_insert_incoming
  - db__message_insert_outgoing
  - db__message_update_outgoing_state
  - DL_FOREACH
  - db__message_update_outgoing
  - db__messages_delete_list
  - db__messages_delete_incoming
  - db__messages_delete_outgoing
  - db__messages_delete
  - db__messages_easy_queue
  - db__new_msg_id
  - db__message_store
  - db__message_store_find
  - db__message_reconnect_reset_outgoing
  - db__message_reconnect_reset_incoming
  - db__message_reconnect_reset
  - db__message_remove_incoming
  - db__message_release_incoming
  - db__expire_all_messages
  - db__client_messages_check_acl
  - db__check_acl_of_all_messages
  - db__message_write_inflight_out_single
  - db__message_write_inflight_out_all
  - db__message_write_inflight_out_latest
  - db__message_write_queued_in
  - db__message_write_queued_out
  source_file: /src/mosquitto/src/database.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MOSQ_UUID_EPOCH
      pos:
        line_end: 915
        line_start: 914
        source_file: /src/mosquitto/src/database.c
      type_or_value: '1637168273'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/src/password_file.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: hh
        type: UT_hash_handle
      - name: '*username'
        type: char
      - name: '*clientid'
        type: char
      - name: '*pw'
        type: struct mosquitto_pw
      item_type: struct
      name: mosquitto__unpwd
      pos:
        line_end: 27
        line_start: 22
        source_file: /src/mosquitto/src/password_file.h
    - fields:
      - name: '*unpwd'
        type: struct mosquitto__unpwd
      - name: '*password_file'
        type: char
      item_type: struct
      name: password_file_data
      pos:
        line_end: 32
        line_start: 29
        source_file: /src/mosquitto/src/password_file.h
    typedefs: []
    union: []
- function_names:
  - persist__client_messages_save
  - persist__message_store_save
  - persist__client_save
  - persist__subs_save
  - persist__subs_save_all
  - persist__retain_save
  - persist__retain_save_all
  - persist__log_write_error
  - persist__backup
  - persist__write_data
  source_file: /src/mosquitto/src/persist_write.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - listener__set_defaults
  - listeners__reload_all_certificates
  - listeners__start_single_mqtt
  - listeners__add_websockets
  - listeners__add_local
  - listeners__start_local_only
  - listeners__start
  - listeners__stop
  source_file: /src/mosquitto/src/listeners.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - proxy_cleanup
  - read_tlv_ssl
  - read_tlv
  - proxy_v2__read
  source_file: /src/mosquitto/src/proxy_v2.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PROXY_CMD_LOCAL
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/mosquitto/src/proxy_v2.c
      type_or_value: '0x00'
    - item_type: preproc_def
      name: PROXY_CMD_PROXY
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/mosquitto/src/proxy_v2.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: PROXY_TCP_IPV4
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/mosquitto/src/proxy_v2.c
      type_or_value: '0x11'
    - item_type: preproc_def
      name: PROXY_TCP_IPV6
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/mosquitto/src/proxy_v2.c
      type_or_value: '0x21'
    - item_type: preproc_def
      name: PROXY_TCP_UNIX
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/mosquitto/src/proxy_v2.c
      type_or_value: '0x31'
    - item_type: preproc_def
      name: PP2_TYPE_ALPN
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/mosquitto/src/proxy_v2.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: PP2_TYPE_AUTHORITY
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/mosquitto/src/proxy_v2.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: PP2_TYPE_CRC32C
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/mosquitto/src/proxy_v2.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: PP2_TYPE_NOOP
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/mosquitto/src/proxy_v2.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: PP2_TYPE_UNIQUE_ID
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/mosquitto/src/proxy_v2.c
      type_or_value: '0x05'
    - item_type: preproc_def
      name: PP2_TYPE_SSL
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/mosquitto/src/proxy_v2.c
      type_or_value: '0x20'
    - item_type: preproc_def
      name: PP2_SUBTYPE_SSL_VERSION
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/mosquitto/src/proxy_v2.c
      type_or_value: '0x21'
    - item_type: preproc_def
      name: PP2_SUBTYPE_SSL_CN
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/mosquitto/src/proxy_v2.c
      type_or_value: '0x22'
    - item_type: preproc_def
      name: PP2_SUBTYPE_SSL_CIPHER
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/mosquitto/src/proxy_v2.c
      type_or_value: '0x23'
    - item_type: preproc_def
      name: PP2_SUBTYPE_SSL_SIG_ALG
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/mosquitto/src/proxy_v2.c
      type_or_value: '0x24'
    - item_type: preproc_def
      name: PP2_SUBTYPE_SSL_KEY_ALG
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/mosquitto/src/proxy_v2.c
      type_or_value: '0x25'
    - item_type: preproc_def
      name: PP2_TYPE_NETNS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/mosquitto/src/proxy_v2.c
      type_or_value: '0x30'
    - item_type: preproc_def
      name: PP2_CLIENT_SSL
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/mosquitto/src/proxy_v2.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: PP2_CLIENT_CERT_CONN
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/mosquitto/src/proxy_v2.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: PP2_CLIENT_CERT_SESS
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/mosquitto/src/proxy_v2.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: PROXY_PACKET_LIMIT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/mosquitto/src/proxy_v2.c
      type_or_value: '500'
    structs:
    - fields:
      - name: sig[12]
        type: uint8_t
      - name: ver_cmd
        type: uint8_t
      - name: fam
        type: uint8_t
      - name: len
        type: uint16_t
      item_type: struct
      name: proxy_hdr_v2
      pos:
        line_end: 44
        line_start: 39
        source_file: /src/mosquitto/src/proxy_v2.c
    - fields:
      - name: type
        type: uint8_t
      - name: length_h
        type: uint8_t
      - name: length_l
        type: uint8_t
      item_type: struct
      name: pp2_tlv
      pos:
        line_end: 69
        line_start: 65
        source_file: /src/mosquitto/src/proxy_v2.c
    - fields:
      - name: client
        type: uint8_t
      - name: verify
        type: uint32_t
      item_type: struct
      name: pp2_tlv_ssl
      pos:
        line_end: 74
        line_start: 71
        source_file: /src/mosquitto/src/proxy_v2.c
    typedefs: []
    union:
    - fields:
      - name: ipv4_addr
        type: "struct { /* for TCP/UDP over IPv4, len = 12 */\n\t\tuint32_t src_addr;\n\t\tuint32_t
          dst_addr;\n\t\tuint16_t src_port;\n\t\tuint16_t dst_port;\n\t}"
      - name: ipv6_addr
        type: "struct { /* for TCP/UDP over IPv6, len = 36 */\n\t\tuint8_t src_addr[16];\n\t\tuint8_t
          dst_addr[16];\n\t\tuint16_t src_port;\n\t\tuint16_t dst_port;\n\t}"
      - name: unix_addr
        type: "struct { /* for AF_UNIX sockets, len = 216 */\n\t\tuint8_t src_addr[108];\n\t\tuint8_t
          dst_addr[108];\n\t}"
      item_type: union
      name: proxy_addr
      pos:
        line_end: 63
        line_start: 46
        source_file: /src/mosquitto/src/proxy_v2.c
- function_names:
  - mosquitto_security_init_default
  - mosquitto_security_cleanup_default
  - security__disconnect_auth
  - mosquitto_security_apply_default
  source_file: /src/mosquitto/src/security_default.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - plugin__handle_subscribe_single
  - plugin__handle_subscribe
  source_file: /src/mosquitto/src/plugin_subscribe.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mux__init
  - mux__add_listeners
  - mux__delete_listeners
  - mux__add_out
  - mux__remove_out
  - mux__new
  - mux__delete
  - mux__handle
  - mux__cleanup
  source_file: /src/mosquitto/src/mux.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/src/mux.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - read_e
  - write_e
  source_file: /src/mosquitto/src/persist.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MOSQ_DB_VERSION
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/mosquitto/src/persist.h
      type_or_value: '6'
    - item_type: preproc_def
      name: DB_CHUNK_CFG
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/mosquitto/src/persist.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DB_CHUNK_BASE_MSG
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/mosquitto/src/persist.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DB_CHUNK_CLIENT_MSG
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/mosquitto/src/persist.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DB_CHUNK_RETAIN
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/mosquitto/src/persist.h
      type_or_value: '4'
    - item_type: preproc_def
      name: DB_CHUNK_SUB
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/mosquitto/src/persist.h
      type_or_value: '5'
    - item_type: preproc_def
      name: DB_CHUNK_CLIENT
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/mosquitto/src/persist.h
      type_or_value: '6'
    structs:
    - fields:
      - name: chunk
        type: uint32_t
      - name: length
        type: uint32_t
      item_type: struct
      name: PF_header
      pos:
        line_end: 54
        line_start: 51
        source_file: /src/mosquitto/src/persist.h
    - fields:
      - name: last_db_id
        type: uint64_t
      - name: shutdown
        type: uint8_t
      - name: dbid_size
        type: uint8_t
      item_type: struct
      name: PF_cfg
      pos:
        line_end: 61
        line_start: 57
        source_file: /src/mosquitto/src/persist.h
    - fields:
      - name: session_expiry_time
        type: int64_t
      - name: session_expiry_interval
        type: uint32_t
      - name: last_mid
        type: uint16_t
      - name: id_len
        type: uint16_t
      item_type: struct
      name: PF_client_v5
      pos:
        line_end: 68
        line_start: 63
        source_file: /src/mosquitto/src/persist.h
    - fields:
      - name: session_expiry_time
        type: int64_t
      - name: session_expiry_interval
        type: uint32_t
      - name: last_mid
        type: uint16_t
      - name: id_len
        type: uint16_t
      - name: listener_port
        type: uint16_t
      - name: username_len
        type: uint16_t
      item_type: struct
      name: PF_client
      pos:
        line_end: 80
        line_start: 69
        source_file: /src/mosquitto/src/persist.h
    - fields:
      - name: F
        type: struct PF_client
      - name: '*clientid'
        type: char
      - name: '*username'
        type: char
      item_type: struct
      name: P_client
      pos:
        line_end: 85
        line_start: 81
        source_file: /src/mosquitto/src/persist.h
    - fields:
      - name: store_id
        type: dbid_t
      - name: mid
        type: uint16_t
      - name: id_len
        type: uint16_t
      - name: qos
        type: uint8_t
      - name: state
        type: uint8_t
      - name: retain_dup
        type: uint8_t
      - name: direction
        type: uint8_t
      item_type: struct
      name: PF_client_msg
      pos:
        line_end: 96
        line_start: 88
        source_file: /src/mosquitto/src/persist.h
    - fields:
      - name: F
        type: struct PF_client_msg
      - name: '*clientid'
        type: char
      - name: subscription_identifier
        type: uint32_t
      item_type: struct
      name: P_client_msg
      pos:
        line_end: 101
        line_start: 97
        source_file: /src/mosquitto/src/persist.h
    - fields:
      - name: store_id
        type: dbid_t
      - name: expiry_time
        type: int64_t
      - name: payloadlen
        type: uint32_t
      - name: source_mid
        type: uint16_t
      - name: source_id_len
        type: uint16_t
      - name: source_username_len
        type: uint16_t
      - name: topic_len
        type: uint16_t
      - name: source_port
        type: uint16_t
      - name: qos
        type: uint8_t
      - name: retain
        type: uint8_t
      item_type: struct
      name: PF_base_msg
      pos:
        line_end: 115
        line_start: 104
        source_file: /src/mosquitto/src/persist.h
    - fields:
      - name: F
        type: struct PF_base_msg
      - name: '*payload'
        type: void
      - name: source
        type: struct mosquitto
      - name: '*topic'
        type: char
      - name: '*properties'
        type: mosquitto_property
      item_type: struct
      name: P_base_msg
      pos:
        line_end: 122
        line_start: 116
        source_file: /src/mosquitto/src/persist.h
    - fields:
      - name: identifier
        type: uint32_t
      - name: id_len
        type: uint16_t
      - name: topic_len
        type: uint16_t
      - name: qos
        type: uint8_t
      - name: options
        type: uint8_t
      item_type: struct
      name: PF_sub
      pos:
        line_end: 131
        line_start: 125
        source_file: /src/mosquitto/src/persist.h
    - fields:
      - name: F
        type: struct PF_sub
      - name: '*clientid'
        type: char
      - name: '*topic'
        type: char
      item_type: struct
      name: P_sub
      pos:
        line_end: 136
        line_start: 132
        source_file: /src/mosquitto/src/persist.h
    - fields:
      - name: store_id
        type: dbid_t
      item_type: struct
      name: PF_retain
      pos:
        line_end: 141
        line_start: 139
        source_file: /src/mosquitto/src/persist.h
    - fields:
      - name: F
        type: struct PF_retain
      item_type: struct
      name: P_retain
      pos:
        line_end: 144
        line_start: 142
        source_file: /src/mosquitto/src/persist.h
    typedefs: []
    union: []
- function_names:
  - http__context_init
  - http__context_cleanup
  - http__read
  source_file: /src/mosquitto/src/http_serv.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - send__connack
  source_file: /src/mosquitto/src/send_connack.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mux_kqueue__init
  - mux_kqueue__add_listeners
  - mux_kqueue__delete_listeners
  - mux_kqueue__loop_setup
  - mux_kqueue__add_out
  - mux_kqueue__remove_out
  - mux_kqueue__new
  - mux_kqueue__delete
  - mux_kqueue__handle
  - mux_kqueue__cleanup
  - loop_handle_reads_writes
  source_file: /src/mosquitto/src/mux_kqueue.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_EVENTS
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/mosquitto/src/mux_kqueue.c
      type_or_value: '1000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - persist__chunk_header_read_v234
  - persist__chunk_cfg_read_v234
  - persist__chunk_client_read_v234
  - persist__chunk_client_msg_read_v234
  - persist__chunk_base_msg_read_v234
  - persist__chunk_retain_read_v234
  - persist__chunk_sub_read_v234
  source_file: /src/mosquitto/src/persist_read_v234.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle__subscribe
  source_file: /src/mosquitto/src/handle_subscribe.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle__connack_properties
  - handle__connack
  source_file: /src/mosquitto/src/handle_connack.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - net__broker_init
  - net__broker_cleanup
  - net__print_error
  - client_certificate_verify
  - psk_server_callback
  - tls_keylog_callback
  - net__tls_server_ctx
  - net__load_crl_file
  - net__load_certificates
  - net__load_engine
  - net__tls_load_verify
  - net__bind_interface
  - net__socket_listen_tcp
  - net__socket_listen_unix
  - net__socket_listen
  - net__socket_get_address
  source_file: /src/mosquitto/src/net.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - subs__send
  - subs__shared_process
  - subs__process
  - sub__add_leaf
  - sub__remove_shared_leaf
  - sub__add_shared
  - sub__add_normal
  - sub__add_context
  - sub__remove_normal
  - sub__remove_shared
  - sub__remove_recurse
  - sub__search
  - sub__add_hier_entry
  - sub__add
  - sub__remove
  - sub__messages_queue
  - tmp_remove_subs
  - sub__clean_session
  - sub__tree_print
  - HASH_ITER
  - sub__init
  source_file: /src/mosquitto/src/subs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mux_poll__init
  - mux_poll__add_listeners
  - mux_poll__delete_listeners
  - mux_poll__add
  - mux_poll__add_out
  - mux_poll__remove_out
  - mux_poll__new
  - mux_poll__delete
  - mux_poll__handle
  - mux_poll__cleanup
  source_file: /src/mosquitto/src/mux_poll.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - broker_uptime
  - sys_tree__init
  - metrics__int_inc
  - metrics__int_dec
  - calc_load
  - sys_tree__update
  source_file: /src/mosquitto/src/sys_tree.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUFLEN
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/mosquitto/src/sys_tree.c
      type_or_value: '100'
    - item_type: preproc_def
      name: SYS_TREE_QOS
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/mosquitto/src/sys_tree.c
      type_or_value: '2'
    - item_type: preproc_def
      name: METRIC_LOAD_1MIN
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/mosquitto/src/sys_tree.c
      type_or_value: '1'
    - item_type: preproc_def
      name: METRIC_LOAD_5MIN
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/mosquitto/src/sys_tree.c
      type_or_value: '2'
    - item_type: preproc_def
      name: METRIC_LOAD_15MIN
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/mosquitto/src/sys_tree.c
      type_or_value: '3'
    structs:
    - fields:
      - name: current
        type: int64_t
      - name: next
        type: int64_t
      - name: '*topic'
        type: char
      - name: is_max
        type: bool
      item_type: struct
      name: metric
      pos:
        line_end: 44
        line_start: 39
        source_file: /src/mosquitto/src/sys_tree.c
    - fields:
      - name: current
        type: double
      - name: '*topic'
        type: char
      - name: load_ref
        type: int
      - name: interval
        type: uint8_t
      item_type: struct
      name: metric_load
      pos:
        line_end: 51
        line_start: 46
        source_file: /src/mosquitto/src/sys_tree.c
    typedefs: []
    union: []
- function_names:
  - plugin__basic_auth
  - mosquitto_basic_auth
  source_file: /src/mosquitto/src/plugin_basic_auth.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/src/mosquitto_broker_internal.h
  types:
    enum:
    - enumerators:
      - name: mosq_mo_client
        value: '0'
      - name: mosq_mo_broker
        value: '1'
      item_type: enum
      name: mosquitto_msg_origin
      pos:
        line_end: 104
        line_start: 101
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    - enumerators:
      - name: id_invalid
        value: '0'
      - name: id_listener_ws
        value: '3'
      - name: id_client
        value: '2'
      - name: id_listener
        value: '1'
      item_type: enum
      name: struct_ident
      pos:
        line_end: 226
        line_start: 221
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    - enumerators:
      - name: bd_out
        value: '0'
      - name: bd_both
        value: '2'
      - name: bd_in
        value: '1'
      item_type: enum
      name: mosquitto__bridge_direction
      pos:
        line_end: 518
        line_start: 514
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    - enumerators:
      - name: bst_automatic
        value: '0'
      - name: bst_manual
        value: '2'
      - name: bst_lazy
        value: '1'
      - name: bst_once
        value: '3'
      item_type: enum
      name: mosquitto_bridge_start_type
      pos:
        line_end: 525
        line_start: 520
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    - enumerators:
      - name: brt_lazy
        value: '0'
      - name: brt_immediate
        value: '1'
      item_type: enum
      name: mosquitto_bridge_reload_type
      pos:
        line_end: 530
        line_start: 527
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    preproc_defs:
    - item_type: preproc_def
      name: MQTT3_LOG_NONE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: MQTT3_LOG_SYSLOG
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: MQTT3_LOG_FILE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: MQTT3_LOG_STDOUT
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: MQTT3_LOG_STDERR
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: MQTT3_LOG_TOPIC
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: MQTT3_LOG_DLT
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: MQTT3_LOG_ANDROID
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: MQTT3_LOG_ALL
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type_or_value: '0xFF'
    - item_type: preproc_def
      name: CMD_PORT_LIMIT
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type_or_value: '10'
    structs:
    - fields:
      - name: '*lib'
        type: void
      - name: '*user_data'
        type: void
      - name: (*plugin_version)(void)
        type: int
      - name: '*identifier'
        type: struct mosquitto_plugin_id_t
      - name: plugin_init_v5
        type: FUNC_plugin_init_v5
      - name: plugin_cleanup_v5
        type: FUNC_plugin_cleanup_v5
      - name: plugin_init_v4
        type: FUNC_auth_plugin_init_v4
      - name: plugin_cleanup_v4
        type: FUNC_auth_plugin_cleanup_v4
      - name: security_init_v4
        type: FUNC_auth_plugin_security_init_v4
      - name: security_cleanup_v4
        type: FUNC_auth_plugin_security_cleanup_v4
      - name: acl_check_v4
        type: FUNC_auth_plugin_acl_check_v4
      - name: unpwd_check_v4
        type: FUNC_auth_plugin_unpwd_check_v4
      - name: psk_key_get_v4
        type: FUNC_auth_plugin_psk_key_get_v4
      - name: auth_start_v4
        type: FUNC_auth_plugin_auth_start_v4
      - name: auth_continue_v4
        type: FUNC_auth_plugin_auth_continue_v4
      - name: plugin_init_v3
        type: FUNC_auth_plugin_init_v3
      - name: plugin_cleanup_v3
        type: FUNC_auth_plugin_cleanup_v3
      - name: security_init_v3
        type: FUNC_auth_plugin_security_init_v3
      - name: security_cleanup_v3
        type: FUNC_auth_plugin_security_cleanup_v3
      - name: acl_check_v3
        type: FUNC_auth_plugin_acl_check_v3
      - name: unpwd_check_v3
        type: FUNC_auth_plugin_unpwd_check_v3
      - name: psk_key_get_v3
        type: FUNC_auth_plugin_psk_key_get_v3
      - name: plugin_init_v2
        type: FUNC_auth_plugin_init_v2
      - name: plugin_cleanup_v2
        type: FUNC_auth_plugin_cleanup_v2
      - name: security_init_v2
        type: FUNC_auth_plugin_security_init_v2
      - name: security_cleanup_v2
        type: FUNC_auth_plugin_security_cleanup_v2
      - name: acl_check_v2
        type: FUNC_auth_plugin_acl_check_v2
      - name: unpwd_check_v2
        type: FUNC_auth_plugin_unpwd_check_v2
      - name: psk_key_get_v2
        type: FUNC_auth_plugin_psk_key_get_v2
      - name: version
        type: int
      item_type: struct
      name: mosquitto__plugin_lib
      pos:
        line_end: 141
        line_start: 106
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    - fields:
      - name: '*path'
        type: char
      - name: '*name'
        type: char
      - name: '*options'
        type: struct mosquitto_opt
      - name: '**security_options'
        type: struct mosquitto__security_options
      - name: option_count
        type: int
      - name: security_option_count
        type: int
      - name: deny_special_chars
        type: bool
      item_type: struct
      name: mosquitto__plugin_config
      pos:
        line_end: 151
        line_start: 143
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    - fields:
      - name: hh
        type: UT_hash_handle
      - name: '*next'
        type: struct mosquitto__callback
      - name: cb
        type: MOSQ_FUNC_generic_callback
      - name: '*userdata'
        type: void
      - name: data
        type: "union {\n\t\tchar *topic;\n\t\tstruct timespec next_tick;\n\t}"
      - name: '*identifier'
        type: mosquitto_plugin_id_t
      item_type: struct
      name: mosquitto__callback
      pos:
        line_end: 163
        line_start: 153
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    - fields:
      - name: '*tick'
        type: struct mosquitto__callback
      - name: '*acl_check'
        type: struct mosquitto__callback
      - name: '*basic_auth'
        type: struct mosquitto__callback
      - name: '*connect'
        type: struct mosquitto__callback
      - name: '*control'
        type: struct mosquitto__callback
      - name: '*disconnect'
        type: struct mosquitto__callback
      - name: '*client_offline'
        type: struct mosquitto__callback
      - name: '*ext_auth_continue'
        type: struct mosquitto__callback
      - name: '*ext_auth_start'
        type: struct mosquitto__callback
      - name: '*message_in'
        type: struct mosquitto__callback
      - name: '*message_out'
        type: struct mosquitto__callback
      - name: '*psk_key'
        type: struct mosquitto__callback
      - name: '*reload'
        type: struct mosquitto__callback
      - name: '*subscribe'
        type: struct mosquitto__callback
      - name: '*unsubscribe'
        type: struct mosquitto__callback
      - name: '*persist_restore'
        type: struct mosquitto__callback
      - name: '*persist_client_add'
        type: struct mosquitto__callback
      - name: '*persist_client_delete'
        type: struct mosquitto__callback
      - name: '*persist_client_update'
        type: struct mosquitto__callback
      - name: '*persist_subscription_add'
        type: struct mosquitto__callback
      - name: '*persist_subscription_delete'
        type: struct mosquitto__callback
      - name: '*persist_client_msg_add'
        type: struct mosquitto__callback
      - name: '*persist_client_msg_delete'
        type: struct mosquitto__callback
      - name: '*persist_client_msg_update'
        type: struct mosquitto__callback
      - name: '*persist_base_msg_add'
        type: struct mosquitto__callback
      - name: '*persist_base_msg_delete'
        type: struct mosquitto__callback
      - name: '*persist_retain_msg_set'
        type: struct mosquitto__callback
      - name: '*persist_retain_msg_delete'
        type: struct mosquitto__callback
      - name: '*persist_will_add'
        type: struct mosquitto__callback
      - name: '*persist_will_delete'
        type: struct mosquitto__callback
      item_type: struct
      name: plugin__callbacks
      pos:
        line_end: 196
        line_start: 165
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    - fields:
      - name: '*unpwd'
        type: struct mosquitto__unpwd
      - name: '*psk_id'
        type: struct mosquitto__psk
      - name: acl_data
        type: struct acl_file_data
      - name: password_data
        type: struct password_file_data
      - name: '*psk_file'
        type: char
      - name: '**plugins'
        type: mosquitto_plugin_id_t
      - name: plugin_count
        type: int
      - name: allow_anonymous
        type: int8_t
      - name: allow_zero_length_clientid
        type: bool
      - name: '*auto_id_prefix'
        type: char
      - name: auto_id_prefix_len
        type: uint16_t
      - name: plugin_callbacks
        type: struct plugin__callbacks
      - name: '*pid'
        type: mosquitto_plugin_id_t
      item_type: struct
      name: mosquitto__security_options
      pos:
        line_end: 218
        line_start: 200
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    - fields:
      - name: port
        type: uint16_t
      - name: '*host'
        type: char
      - name: '*bind_interface'
        type: char
      - name: max_connections
        type: int
      - name: '*mount_point'
        type: char
      - name: '*socks'
        type: mosq_sock_t
      - name: sock_count
        type: int
      - name: client_count
        type: int
      - name: protocol
        type: enum mosquitto_protocol
      - name: socket_domain
        type: int
      - name: use_username_as_clientid
        type: bool
      - name: max_qos
        type: uint8_t
      - name: max_topic_alias
        type: uint16_t
      - name: max_topic_alias_broker
        type: uint16_t
      - name: '*security_options'
        type: struct mosquitto__security_options
      - name: disable_protocol_v3
        type: bool
      - name: disable_protocol_v4
        type: bool
      - name: disable_protocol_v5
        type: bool
      - name: enable_proxy_protocol
        type: int
      - name: proxy_protocol_v2_require_tls
        type: bool
      item_type: struct
      name: mosquitto__listener
      pos:
        line_end: 287
        line_start: 229
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    - fields:
      - name: sock
        type: mosq_sock_t
      - name: '*listener'
        type: struct mosquitto__listener
      item_type: struct
      name: mosquitto__listener_sock
      pos:
        line_end: 297
        line_start: 290
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    - fields:
      - name: '*next'
        type: struct plugin_own_callback
      - name: cb_func
        type: MOSQ_FUNC_generic_callback
      - name: event
        type: enum mosquitto_plugin_event
      item_type: struct
      name: plugin_own_callback
      pos:
        line_end: 307
        line_start: 303
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    - fields:
      - name: config
        type: struct mosquitto__plugin_config
      - name: lib
        type: struct mosquitto__plugin_lib
      - name: '*listener'
        type: struct mosquitto__listener
      - name: '*plugin_name'
        type: char
      - name: '*plugin_version'
        type: char
      - name: '*control_endpoints'
        type: struct control_endpoint
      - name: '*own_callbacks'
        type: struct plugin_own_callback
      - name: next_tick
        type: struct timespec
      item_type: struct
      name: mosquitto_plugin_id_t
      pos:
        line_end: 318
        line_start: 309
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    - fields:
      - name: allow_duplicate_messages
        type: bool
      - name: autosave_interval
        type: int
      - name: autosave_on_changes
        type: bool
      - name: check_retain_source
        type: bool
      - name: '*clientid_prefixes'
        type: char
      - name: connection_messages
        type: bool
      - name: cmd_port[CMD_PORT_LIMIT]
        type: uint16_t
      - name: cmd_port_count
        type: int
      - name: daemon
        type: bool
      - name: test_configuration
        type: bool
      - name: enable_control_api
        type: bool
      - name: global_max_clients
        type: int
      - name: global_max_connections
        type: int
      - name: '*default_listener'
        type: struct mosquitto__listener
      - name: '*listeners'
        type: struct mosquitto__listener
      - name: listener_count
        type: int
      - name: local_only
        type: bool
      - name: log_dest
        type: unsigned int
      - name: log_facility
        type: int
      - name: log_type
        type: unsigned int
      - name: log_timestamp
        type: bool
      - name: '*log_timestamp_format'
        type: char
      - name: '*log_file'
        type: char
      - name: '*log_fptr'
        type: FILE
      - name: max_inflight_bytes
        type: size_t
      - name: max_queued_bytes
        type: size_t
      - name: max_queued_messages
        type: int
      - name: max_packet_size
        type: uint32_t
      - name: message_size_limit
        type: uint32_t
      - name: max_inflight_messages
        type: uint16_t
      - name: max_keepalive
        type: uint16_t
      - name: max_qos
        type: uint8_t
      - name: packet_max_connect
        type: uint32_t
      - name: packet_max_simple
        type: uint32_t
      - name: packet_max_sub
        type: uint32_t
      - name: packet_max_auth
        type: uint32_t
      - name: persistence
        type: bool
      - name: '*persistence_location'
        type: char
      - name: '*persistence_file'
        type: char
      - name: '*persistence_filepath'
        type: char
      - name: persistent_client_expiration
        type: time_t
      - name: '*pid_file'
        type: char
      - name: queue_qos0_messages
        type: bool
      - name: per_listener_settings
        type: bool
      - name: retain_available
        type: bool
      - name: retain_expiry_interval
        type: int
      - name: set_tcp_nodelay
        type: bool
      - name: sys_interval
        type: int
      - name: upgrade_outgoing_qos
        type: bool
      - name: '*user'
        type: char
      - name: packet_buffer_size
        type: uint16_t
      - name: security_options
        type: struct mosquitto__security_options
      item_type: struct
      name: mosquitto__config
      pos:
        line_end: 380
        line_start: 320
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    - fields:
      - name: hh
        type: UT_hash_handle
      - name: '*subs'
        type: struct mosquitto__subleaf
      - name: name[]
        type: char
      item_type: struct
      name: mosquitto__subshared
      pos:
        line_end: 387
        line_start: 383
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    - fields:
      - name: hh
        type: UT_hash_handle
      - name: '*parent'
        type: struct mosquitto__subhier
      - name: '*children'
        type: struct mosquitto__subhier
      - name: '*subs'
        type: struct mosquitto__subleaf
      - name: '*shared'
        type: struct mosquitto__subshared
      - name: topic_len
        type: uint16_t
      - name: topic[]
        type: char
      item_type: struct
      name: mosquitto__subhier
      pos:
        line_end: 397
        line_start: 389
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    - fields:
      - name: '*prev'
        type: struct mosquitto__subleaf
      - name: '*next'
        type: struct mosquitto__subleaf
      - name: '*context'
        type: struct mosquitto
      - name: '*hier'
        type: struct mosquitto__subhier
      - name: '*shared'
        type: struct mosquitto__subshared
      - name: identifier
        type: uint32_t
      - name: subscription_options
        type: uint8_t
      - name: topic_filter[]
        type: char
      item_type: struct
      name: mosquitto__subleaf
      pos:
        line_end: 408
        line_start: 399
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    - fields:
      - name: '*next'
        type: struct sub__token
      - name: topic_len
        type: uint16_t
      - name: topic[]
        type: char
      item_type: struct
      name: sub__token
      pos:
        line_end: 414
        line_start: 410
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    - fields:
      - name: hh
        type: UT_hash_handle
      - name: '*parent'
        type: struct mosquitto__retainhier
      - name: '*children'
        type: struct mosquitto__retainhier
      - name: '*retained'
        type: struct mosquitto__base_msg
      - name: topic_len
        type: uint16_t
      - name: topic[]
        type: char
      item_type: struct
      name: mosquitto__retainhier
      pos:
        line_end: 423
        line_start: 416
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    - fields:
      - name: hh
        type: UT_hash_handle
      - name: data
        type: struct mosquitto_base_msg
      - name: '*source_listener'
        type: struct mosquitto__listener
      - name: '**dest_ids'
        type: char
      - name: dest_id_count
        type: int
      - name: ref_count
        type: int
      - name: origin
        type: enum mosquitto_msg_origin
      - name: stored
        type: bool
      item_type: struct
      name: mosquitto__base_msg
      pos:
        line_end: 434
        line_start: 425
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    - fields:
      - name: data
        type: struct mosquitto_client_msg
      - name: '*prev'
        type: struct mosquitto__client_msg
      - name: '*next'
        type: struct mosquitto__client_msg
      - name: '*base_msg'
        type: struct mosquitto__base_msg
      item_type: struct
      name: mosquitto__client_msg
      pos:
        line_end: 441
        line_start: 436
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    - fields:
      - name: hh
        type: UT_hash_handle
      - name: '*username'
        type: char
      - name: '*password'
        type: char
      item_type: struct
      name: mosquitto__psk
      pos:
        line_end: 448
        line_start: 444
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    - fields:
      - name: '*next'
        type: struct mosquitto__message_v5
      - name: '*topic'
        type: char
      - name: '*payload'
        type: void
      - name: '*properties'
        type: mosquitto_property
      - name: '*clientid'
        type: char
      - name: payloadlen
        type: int
      - name: qos
        type: int
      - name: retain
        type: bool
      item_type: struct
      name: mosquitto__message_v5
      pos:
        line_end: 461
        line_start: 450
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    - fields:
      - name: last_db_id
        type: dbid_t
      - name: node_id_shifted
        type: uint64_t
      - name: '*normal_subs'
        type: struct mosquitto__subhier
      - name: '*shared_subs'
        type: struct mosquitto__subhier
      - name: '*retains'
        type: struct mosquitto__retainhier
      - name: '*contexts_by_id'
        type: struct mosquitto
      - name: '*contexts_by_sock'
        type: struct mosquitto
      - name: '*contexts_by_id_delayed_auth'
        type: struct mosquitto
      - name: '*contexts_for_free'
        type: struct mosquitto
      - name: '**plugins'
        type: mosquitto_plugin_id_t
      - name: plugin_count
        type: int
      - name: '*clientid_index_hash'
        type: struct clientid__index_hash
      - name: '*msg_store'
        type: struct mosquitto__base_msg
      - name: now_s
        type: time_t
      - name: now_real_s
        type: time_t
      - name: node_id
        type: uint64_t
      - name: next_event_ms
        type: time_t
      - name: msg_store_count
        type: int
      - name: msg_store_bytes
        type: unsigned long
      - name: '*config_file'
        type: char
      - name: '*config'
        type: struct mosquitto__config
      - name: quiet
        type: bool
      - name: verbose
        type: bool
      - name: persistence_changes
        type: int
      - name: '*ll_for_free'
        type: struct mosquitto
      - name: '*plugin_msgs'
        type: struct mosquitto__message_v5
      - name: shutdown
        type: bool
      item_type: struct
      name: mosquitto_db
      pos:
        line_end: 512
        line_start: 463
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    - fields:
      - name: '*next'
        type: struct mosquitto__bridge_topic
      - name: '*topic'
        type: char
      - name: '*local_prefix'
        type: char
      - name: '*remote_prefix'
        type: char
      - name: '*local_topic'
        type: char
      - name: '*remote_topic'
        type: char
      - name: direction
        type: enum mosquitto__bridge_direction
      - name: qos
        type: uint8_t
      item_type: struct
      name: mosquitto__bridge_topic
      pos:
        line_end: 541
        line_start: 532
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    - fields:
      - name: '*address'
        type: char
      - name: port
        type: uint16_t
      item_type: struct
      name: bridge_address
      pos:
        line_end: 546
        line_start: 543
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    - fields:
      - name: '*name'
        type: char
      - name: '*addresses'
        type: struct bridge_address
      - name: cur_address
        type: int
      - name: address_count
        type: int
      - name: primary_retry
        type: time_t
      - name: primary_retry_sock
        type: mosq_sock_t
      - name: round_robin
        type: bool
      - name: try_private
        type: bool
      - name: try_private_accepted
        type: bool
      - name: clean_start
        type: bool
      - name: clean_start_local
        type: int8_t
      - name: keepalive
        type: uint16_t
      - name: tcp_keepalive_idle
        type: unsigned int
      - name: tcp_keepalive_interval
        type: unsigned int
      - name: tcp_keepalive_counter
        type: unsigned int
      - name: '*topics'
        type: struct mosquitto__bridge_topic
      - name: topic_count
        type: int
      - name: topic_remapping
        type: bool
      - name: protocol_version
        type: enum mosquitto__protocol
      - name: restart_t
        type: time_t
      - name: connected_at
        type: time_t
      - name: '*remote_clientid'
        type: char
      - name: '*remote_username'
        type: char
      - name: '*remote_password'
        type: char
      - name: '*local_clientid'
        type: char
      - name: '*local_username'
        type: char
      - name: '*local_password'
        type: char
      - name: '*notification_topic'
        type: char
      - name: '*bind_address'
        type: char
      - name: notifications
        type: bool
      - name: notifications_local_only
        type: bool
      - name: start_type
        type: enum mosquitto_bridge_start_type
      - name: idle_timeout
        type: int
      - name: restart_timeout
        type: int
      - name: backoff_base
        type: int
      - name: backoff_cap
        type: int
      - name: stable_connection_period
        type: int
      - name: threshold
        type: int
      - name: maximum_packet_size
        type: uint32_t
      - name: session_expiry_interval
        type: uint32_t
      - name: receive_maximum
        type: uint16_t
      - name: lazy_reconnect
        type: bool
      - name: attempt_unsubscribe
        type: bool
      - name: initial_notification_done
        type: bool
      - name: outgoing_retain
        type: bool
      - name: reload_type
        type: enum mosquitto_bridge_reload_type
      - name: max_topic_alias
        type: uint16_t
      item_type: struct
      name: mosquitto__bridge
      pos:
        line_end: 616
        line_start: 548
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    - fields:
      - name: '*http_dir'
        type: char
      - name: '*listener'
        type: struct mosquitto__listener
      item_type: struct
      name: libws_mqtt_hack
      pos:
        line_end: 622
        line_start: 619
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    - fields:
      - name: '*mosq'
        type: struct mosquitto
      item_type: struct
      name: libws_mqtt_data
      pos:
        line_end: 626
        line_start: 624
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    - fields:
      - name: '*next'
        type: struct control_endpoint
      - name: topic[]
        type: char
      item_type: struct
      name: control_endpoint
      pos:
        line_end: 635
        line_start: 632
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
    typedefs:
    - item_type: typedef
      name: dbid_t
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type: uint64_t
    - item_type: typedef
      name: (*FUNC_plugin_init_v5)(mosquitto_plugin_id_t *, void **, struct mosquitto_opt
        *, int)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type: int
    - item_type: typedef
      name: (*FUNC_plugin_cleanup_v5)(void *, struct mosquitto_opt *, int)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type: int
    - item_type: typedef
      name: (*FUNC_auth_plugin_init_v4)(void **, struct mosquitto_opt *, int)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type: int
    - item_type: typedef
      name: (*FUNC_auth_plugin_cleanup_v4)(void *, struct mosquitto_opt *, int)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type: int
    - item_type: typedef
      name: (*FUNC_auth_plugin_security_init_v4)(void *, struct mosquitto_opt *, int,
        bool)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type: int
    - item_type: typedef
      name: (*FUNC_auth_plugin_security_cleanup_v4)(void *, struct mosquitto_opt *,
        int, bool)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type: int
    - item_type: typedef
      name: (*FUNC_auth_plugin_acl_check_v4)(void *, int, struct mosquitto *, struct
        mosquitto_acl_msg *)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type: int
    - item_type: typedef
      name: (*FUNC_auth_plugin_unpwd_check_v4)(void *, struct mosquitto *, const char
        *, const char *)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type: int
    - item_type: typedef
      name: (*FUNC_auth_plugin_psk_key_get_v4)(void *, struct mosquitto *, const char
        *, const char *, char *, int)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type: int
    - item_type: typedef
      name: (*FUNC_auth_plugin_auth_start_v4)(void *, struct mosquitto *, const char
        *, bool, const void *, uint16_t, void **, uint16_t *)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type: int
    - item_type: typedef
      name: (*FUNC_auth_plugin_auth_continue_v4)(void *, struct mosquitto *, const
        char *, const void *, uint16_t, void **, uint16_t *)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type: int
    - item_type: typedef
      name: (*FUNC_auth_plugin_init_v3)(void **, struct mosquitto_opt *, int)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type: int
    - item_type: typedef
      name: (*FUNC_auth_plugin_cleanup_v3)(void *, struct mosquitto_opt *, int)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type: int
    - item_type: typedef
      name: (*FUNC_auth_plugin_security_init_v3)(void *, struct mosquitto_opt *, int,
        bool)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type: int
    - item_type: typedef
      name: (*FUNC_auth_plugin_security_cleanup_v3)(void *, struct mosquitto_opt *,
        int, bool)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type: int
    - item_type: typedef
      name: (*FUNC_auth_plugin_acl_check_v3)(void *, int, const struct mosquitto *,
        struct mosquitto_acl_msg *)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type: int
    - item_type: typedef
      name: (*FUNC_auth_plugin_unpwd_check_v3)(void *, const struct mosquitto *, const
        char *, const char *)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type: int
    - item_type: typedef
      name: (*FUNC_auth_plugin_psk_key_get_v3)(void *, const struct mosquitto *, const
        char *, const char *, char *, int)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type: int
    - item_type: typedef
      name: (*FUNC_auth_plugin_init_v2)(void **, struct mosquitto_auth_opt *, int)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type: int
    - item_type: typedef
      name: (*FUNC_auth_plugin_cleanup_v2)(void *, struct mosquitto_auth_opt *, int)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type: int
    - item_type: typedef
      name: (*FUNC_auth_plugin_security_init_v2)(void *, struct mosquitto_auth_opt
        *, int, bool)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type: int
    - item_type: typedef
      name: (*FUNC_auth_plugin_security_cleanup_v2)(void *, struct mosquitto_auth_opt
        *, int, bool)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type: int
    - item_type: typedef
      name: (*FUNC_auth_plugin_acl_check_v2)(void *, const char *, const char *, const
        char *, int)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type: int
    - item_type: typedef
      name: (*FUNC_auth_plugin_unpwd_check_v2)(void *, const char *, const char *)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type: int
    - item_type: typedef
      name: (*FUNC_auth_plugin_psk_key_get_v2)(void *, const char *, const char *,
        char *, int)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/mosquitto/src/mosquitto_broker_internal.h
      type: int
    union: []
- function_names:
  - plugin__handle_client_offline_single
  - plugin__handle_client_offline
  source_file: /src/mosquitto/src/plugin_client_offline.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - add_plugin_info
  - broker__process_list_plugins
  - add_listener
  - broker__process_list_listeners
  - broker_control_callback
  - broker_control__init
  - broker_control__cleanup
  - broker_control__reload
  - broker__handle_control
  source_file: /src/mosquitto/src/broker_control.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - acl__pre_check
  - acl__check_dollar
  - plugin__acl_check
  - mosquitto_acl_check
  source_file: /src/mosquitto/src/plugin_acl_check.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - session_expiry__cmp
  - set_session_expiry_time
  - session_expiry__add
  - session_expiry__add_from_persistence
  - session_expiry__remove
  - session_expiry__remove_all
  - DL_FOREACH_SAFE
  - session_expiry__check
  - DL_FOREACH_SAFE
  source_file: /src/mosquitto/src/session_expiry.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - send__suback
  source_file: /src/mosquitto/src/send_suback.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dynsec_client__create
  - dynsec_client__delete
  - dynsec_client__enable_disable
  - dynsec_client__set_id
  - dynsec_client__file_set_password
  - cJSON_ArrayForEach
  - dynsec_client__set_password
  - dynsec_client__get
  - dynsec_client__add_remove_role
  - dynsec_client__list_all
  source_file: /src/mosquitto/apps/mosquitto_ctrl/dynsec_client.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ctrl_shell_vprintf
  - ctrl_shell_printf
  source_file: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_printf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dynsec_role__create
  - dynsec_role__delete
  - dynsec_role__get
  - dynsec_role__list_all
  - dynsec_role__add_acl
  - dynsec_role__remove_acl
  source_file: /src/mosquitto/apps/mosquitto_ctrl/dynsec_role.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - UNUSED
  - command_tree_create
  - print_help
  - line_callback
  - ctrl_shell__pre_connect_cleanup
  - ctrl_shell__pre_connect_init
  source_file: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_pre_connect.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ctrl_shell__output
  - ctrl_shell_fgets
  source_file: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_io.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_internal.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '**subscription_list'
        type: char
      - name: subscription_list_count
        type: int
      - name: run
        type: int
      - name: '*mosq'
        type: struct mosquitto
      - name: '*line_callback'
        type: rl_vcpfunc_t
      - name: response_cond
        type: pthread_cond_t
      - name: response_mutex
        type: pthread_mutex_t
      - name: response_received
        type: bool
      - name: '*request_topic'
        type: char
      - name: '*commands'
        type: struct completion_tree_root
      - name: (*response_callback)(const char *command, cJSON *data, const char *payload)
        type: void
      - name: (*mod_cleanup)(void)
        type: void
      - name: '*url_scheme'
        type: char
      - name: '*username'
        type: char
      - name: '*password'
        type: char
      - name: '*clientid'
        type: char
      - name: '*tls_cafile'
        type: char
      - name: '*tls_capath'
        type: char
      - name: '*tls_certfile'
        type: char
      - name: '*tls_keyfile'
        type: char
      - name: '*hostname'
        type: char
      - name: port
        type: int
      - name: connect_rc
        type: int
      - name: subscribe_rc
        type: int
      - name: publish_rc
        type: int
      - name: transport
        type: int
      item_type: struct
      name: ctrl_shell
      pos:
        line_end: 59
        line_start: 32
        source_file: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_internal.h
    - fields:
      - name: '*completion_commands'
        type: struct completion_tree_root
      - name: '*request_topic'
        type: char
      - name: '*response_topic'
        type: char
      - name: (*response_callback)(const char *command, cJSON *data, const char *payload)
        type: void
      - name: (*line_callback)(char *line)
        type: void
      - name: (*on_subscribe)(void)
        type: void
      - name: (*cleanup)(void)
        type: void
      item_type: struct
      name: ctrl_shell__module
      pos:
        line_end: 69
        line_start: 61
        source_file: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_internal.h
    typedefs: []
    union: []
- function_names:
  - UNUSED
  - command_tree_create
  - print_help
  - send_set_default_acl_access
  - list_update
  - list_generic
  - send_create_client
  - send_add_role_acl
  - send_remove_role_acl
  - send_modify
  - send_set_client_password
  - line_callback
  - print_json_value
  - print_json_array
  - cJSON_ArrayForEach
  - print_details
  - print_client
  - print_group
  - print_role
  - cJSON_ArrayForEach
  - print_default_acls
  - cJSON_ArrayForEach
  - response_callback
  - cJSON_ArrayForEach
  - cJSON_ArrayForEach
  - cJSON_ArrayForEach
  - on_subscribe
  - ctrl_shell__dynsec_cleanup
  - ctrl_shell__dynsec_init
  source_file: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_dynsec.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - broker__print_usage
  - print_listeners
  - cJSON_ArrayForEach
  - print_plugin_info
  - cJSON_ArrayForEach
  - cJSON_ArrayForEach
  - broker__payload_callback
  - broker__list_plugins
  - broker__list_listeners
  - broker__main
  source_file: /src/mosquitto/apps/mosquitto_ctrl/broker.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CJSON_VERSION_FULL
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/mosquitto/apps/mosquitto_ctrl/broker.c
      type_or_value: (CJSON_VERSION_MAJOR*1000000+CJSON_VERSION_MINOR*1000+CJSON_VERSION_PATCH)
    structs: []
    typedefs: []
    union: []
- function_names:
  - dynsec__print_usage
  - print_list
  - cJSON_ArrayForEach
  - print_json_value
  - print_json_array
  - cJSON_ArrayForEach
  - print_client
  - print_group
  - print_role
  - cJSON_ArrayForEach
  - print_anonymous_group
  - print_default_acl_access
  - cJSON_ArrayForEach
  - dynsec__payload_callback
  - dynsec__set_default_acl_access
  - dynsec__get_default_acl_access
  - init_add_acl_to_role
  - init_add_role
  - init_add_client
  - init_create
  - dynsec_init
  - dynsec__main
  source_file: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CJSON_VERSION_FULL
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c
      type_or_value: (CJSON_VERSION_MAJOR*1000000+CJSON_VERSION_MINOR*1000+CJSON_VERSION_PATCH)
    - item_type: preproc_def
      name: MAX_STRING_LEN
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/mosquitto/apps/mosquitto_ctrl/dynsec.c
      type_or_value: '4096'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PORT_UNDEFINED
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: PORT_UNIX
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.h
      type_or_value: '0'
    structs:
    - fields:
      - name: '*id'
        type: char
      - name: protocol_version
        type: int
      - name: keepalive
        type: int
      - name: '*host'
        type: char
      - name: port
        type: int
      - name: qos
        type: int
      - name: '*bind_address'
        type: char
      - name: debug
        type: bool
      - name: quiet
        type: bool
      - name: '*username'
        type: char
      - name: '*password'
        type: char
      - name: '*options_file'
        type: char
      - name: '*cafile'
        type: char
      - name: '*capath'
        type: char
      - name: '*certfile'
        type: char
      - name: '*keyfile'
        type: char
      - name: '*ciphers'
        type: char
      - name: insecure
        type: bool
      - name: '*tls_alpn'
        type: char
      - name: '*tls_version'
        type: char
      - name: '*tls_engine'
        type: char
      - name: '*tls_engine_kpass_sha1'
        type: char
      - name: tls_use_os_certs
        type: bool
      - name: '*keyform'
        type: char
      - name: '*psk'
        type: char
      - name: '*psk_identity'
        type: char
      - name: verbose
        type: bool
      - name: timeout
        type: unsigned int
      - name: '*socks5_host'
        type: char
      - name: socks5_port
        type: int
      - name: '*socks5_username'
        type: char
      - name: '*socks5_password'
        type: char
      - name: '*data_file'
        type: char
      - name: no_colour
        type: bool
      item_type: struct
      name: mosq_config
      pos:
        line_end: 69
        line_start: 34
        source_file: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.h
    - fields:
      - name: cfg
        type: struct mosq_config
      - name: '*request_topic'
        type: char
      - name: '*response_topic'
        type: char
      - name: '*payload'
        type: char
      - name: (*payload_callback)(struct mosq_ctrl *, long, const void *)
        type: void
      - name: '*userdata'
        type: void
      item_type: struct
      name: mosq_ctrl
      pos:
        line_end: 78
        line_start: 71
        source_file: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.h
    typedefs:
    - item_type: typedef
      name: (*FUNC_ctrl_main)(int argc, char *argv[], struct mosq_ctrl *ctrl)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.h
      type: int
    union: []
- function_names:
  - dynsec_group__create
  - dynsec_group__delete
  - dynsec_group__get_anonymous
  - dynsec_group__set_anonymous
  - dynsec_group__get
  - dynsec_group__add_remove_role
  - dynsec_group__list_all
  - dynsec_group__add_remove_client
  source_file: /src/mosquitto/apps/mosquitto_ctrl/dynsec_group.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_message
  - on_publish
  - on_subscribe
  - on_connect
  - client_request_response
  source_file: /src/mosquitto/apps/mosquitto_ctrl/client.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - UNUSED
  - command_tree_create
  - print_help
  - line_callback
  - print_plugins
  - cJSON_ArrayForEach
  - cJSON_ArrayForEach
  - print_listeners
  - cJSON_ArrayForEach
  - handle_response
  - on_subscribe
  - ctrl_shell__broker_cleanup
  - ctrl_shell__broker_init
  source_file: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_broker.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - UNUSED
  - completion_tree_arg_list_args_free
  - completion_tree_arg_list_free
  - completion_tree_cmd_free
  - completion_tree_free
  - completion_tree_cmd_add
  - completion_tree_cmd_new_arg_list
  - completion_tree_cmd_append_arg_list
  - completion_tree_cmd_add_arg_list
  - completion_tree_arg_list_add_arg
  source_file: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_completion_tree.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - init_config
  - client_config_cleanup
  - ctrl_config_parse
  - client_config_line_proc
  - get_default_cfg_location
  - client_config_load
  - client_opts_set
  - client_connect
  - mosquitto__urldecode
  - mosquitto__parse_socks_url
  source_file: /src/mosquitto/apps/mosquitto_ctrl/options.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/mosquitto/apps/mosquitto_ctrl/options.c
      type_or_value: sprintf_s
    - item_type: preproc_def
      name: strncasecmp
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/mosquitto/apps/mosquitto_ctrl/options.c
      type_or_value: _strnicmp
    structs: []
    typedefs: []
    union: []
- function_names:
  - UNUSED
  - ctrl_shell__connect
  - ctrl_shell__disconnect
  source_file: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_client.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_version
  - print_usage
  - main
  source_file: /src/mosquitto/apps/mosquitto_ctrl/mosquitto_ctrl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ctrl_help
  - ctrl_main
  source_file: /src/mosquitto/apps/mosquitto_ctrl/example.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - UNUSED
  - FREE
  - signal_winch
  - signal_term
  - term_set_flag
  - term_set_echo
  - term_set_canon
  - ctrl_shell_rtrim
  - ctrl_shell_get_password
  - response_wait
  - ctrl_shell_publish_blocking
  - ctrl_shell__connect_blocking
  - ctrl_shell_line_callback_set
  - ctrl_shell_command_generic_arg0
  - ctrl_shell_command_generic_arg1
  - ctrl_shell_command_generic_int_arg1
  - ctrl_shell_command_generic_arg2
  - ctrl_shell__subscribe_blocking
  - ctrl_shell_callback_final
  - ctrl_shell_print_help_final
  - calc_generator_arg
  - completion_generator
  - ctrl_shell_completion_commands_set
  - completion_matcher
  - my_get_address
  - on_connect_reconnect
  - ctrl_shell__on_connect
  - ctrl_shell__on_message
  - ctrl_shell__on_publish
  - ctrl_shell__on_subscribe
  - ctrl_shell__load_module
  - set_no_colour
  - set_bg_light
  - set_bg_dark
  - get_bg
  - ctrl_shell__cleanup
  - ctrl_shell__main
  - print_label
  - ctrl_shell_print_label
  - ctrl_shell_print_label_value
  - ctrl_shell_print_value
  - ctrl_shell_print_help_command
  - ctrl_shell_print_help_desc
  source_file: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct completion_tree_arg
      - name: name[]
        type: char
      item_type: struct
      name: completion_tree_arg
      pos:
        line_end: 48
        line_start: 45
        source_file: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.h
    - fields:
      - name: '*args'
        type: struct completion_tree_arg
      - name: is_shared
        type: bool
      item_type: struct
      name: completion_tree_arg_list
      pos:
        line_end: 53
        line_start: 50
        source_file: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.h
    - fields:
      - name: '*next'
        type: struct completion_tree_cmd
      - name: '**arg_lists'
        type: struct completion_tree_arg_list
      - name: arg_list_count
        type: int
      - name: name[]
        type: char
      item_type: struct
      name: completion_tree_cmd
      pos:
        line_end: 60
        line_start: 55
        source_file: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.h
    - fields:
      - name: '*commands'
        type: struct completion_tree_cmd
      item_type: struct
      name: completion_tree_root
      pos:
        line_end: 64
        line_start: 62
        source_file: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell.h
    typedefs: []
    union: []
- function_names:
  - UNUSED
  - command_tree_create
  - print_help
  - line_callback
  - ctrl_shell__post_connect_cleanup
  - ctrl_shell__post_connect_init
  source_file: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: (*mod_init)(struct ctrl_shell__module *mod)
        type: void
      item_type: struct
      name: module_data
      pos:
        line_end: 85
        line_start: 82
        source_file: /src/mosquitto/apps/mosquitto_ctrl/ctrl_shell_post_connect.c
    typedefs: []
    union: []
- function_names:
  - mpw_tmpfile
  - mpw_tmpfile
  - print_usage
  - output_new_password
  - pwfile_iterate
  - delete_pwuser_cb
  - delete_pwuser
  - update_file_cb
  - update_file
  - update_pwuser_cb
  - update_pwuser
  - copy_contents
  - create_backup
  - handle_sigint
  - is_username_valid
  - main
  source_file: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: bool
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c
      type_or_value: char
    - item_type: preproc_def
      name: 'true'
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c
      type_or_value: '1'
    - item_type: preproc_def
      name: 'false'
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c
      type_or_value: '0'
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c
      type_or_value: sprintf_s
    - item_type: preproc_def
      name: MAX_BUFFER_LEN
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c
      type_or_value: '65500'
    structs:
    - fields:
      - name: '*line'
        type: char
      - name: '*username'
        type: char
      - name: '*password'
        type: char
      - name: iterations
        type: int
      - name: found
        type: bool
      item_type: struct
      name: cb_helper
      pos:
        line_end: 62
        line_start: 56
        source_file: /src/mosquitto/apps/mosquitto_passwd/mosquitto_passwd.c
    typedefs: []
    union: []
- function_names:
  - get_password__reset_term
  - gets_quiet
  - get_password
  source_file: /src/mosquitto/apps/mosquitto_passwd/get_password.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/mosquitto/apps/mosquitto_passwd/get_password.c
      type_or_value: sprintf_s
    - item_type: preproc_def
      name: MAX_BUFFER_LEN
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/mosquitto/apps/mosquitto_passwd/get_password.c
      type_or_value: '65500'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/apps/mosquitto_passwd/get_password.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_usage
  - main
  source_file: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - msig_to_string
  - signal_all
  - send_signal
  source_file: /src/mosquitto/apps/mosquitto_signal/signal_windows.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - signal_all
  - send_signal
  source_file: /src/mosquitto/apps/mosquitto_signal/signal_unix.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PATH_MAX
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/mosquitto/apps/mosquitto_signal/signal_unix.c
      type_or_value: '4096'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.h
  types:
    enum:
    - enumerators:
      - name: MSIG_CONFIG_RELOAD
      - name: MSIG_XTREPORT
      - name: MSIG_TREE_PRINT
      - name: MSIG_LOG_ROTATE
      - name: MSIG_SHUTDOWN
      item_type: enum
      name: mosq_signal
      pos:
        line_end: 9
        line_start: 3
        source_file: /src/mosquitto/apps/mosquitto_signal/mosquitto_signal.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_malloc
  - mosquitto_free
  - _mosquitto_malloc
  - _mosquitto_free
  - json_init
  - json_print
  - json_cleanup
  - json_add_base_msg
  - json_add_client
  - json_add_client_msg
  - json_add_subscription
  - json_add_retained_msg
  source_file: /src/mosquitto/apps/db_dump/json.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/apps/db_dump/db_dump.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - UNUSED
  - context__init
  - context__add_to_by_id
  - db__message_store
  - db__msg_store_ref_inc
  - log__printf
  - retain__store
  - sub__add
  - db__msg_add_to_inflight_stats
  - db__msg_add_to_queued_stats
  - session_expiry__add_from_persistence
  source_file: /src/mosquitto/apps/db_dump/stubs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_malloc
  - mosquitto_free
  - _mosquitto_malloc
  - _mosquitto_free
  - free__sub
  - free__client
  - free__client_msg
  - free__base_msg
  - dump__cfg_chunk_process
  - dump__client_chunk_process
  - dump__client_msg_chunk_process
  - dump__base_msg_chunk_process
  - dump__retain_chunk_process
  - dump__sub_chunk_process
  - report_client_stats
  - HASH_ITER
  - cleanup_client_stats
  - HASH_ITER
  - HASH_ITER
  - cleanup_msg_store
  - main
  source_file: /src/mosquitto/apps/db_dump/db_dump.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: hh_id
        type: UT_hash_handle
      - name: '*id'
        type: char
      - name: subscriptions
        type: uint32_t
      - name: subscription_size
        type: uint32_t
      - name: messages
        type: int
      - name: message_size
        type: long
      item_type: struct
      name: client_data
      pos:
        line_end: 51
        line_start: 44
        source_file: /src/mosquitto/apps/db_dump/db_dump.c
    - fields:
      - name: hh
        type: UT_hash_handle
      - name: store_id
        type: dbid_t
      - name: length
        type: uint32_t
      item_type: struct
      name: base_msg_chunk
      pos:
        line_end: 57
        line_start: 53
        source_file: /src/mosquitto/apps/db_dump/db_dump.c
    typedefs: []
    union: []
- function_names:
  - print__properties
  - print__client
  - print__client_msg
  - print__base_msg
  - print__sub
  source_file: /src/mosquitto/apps/db_dump/print.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquittopp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto_plugin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MOSQ_USED
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/mosquitto/include/mosquitto.h
      type_or_value: __attribute__((used))
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto_broker.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mqtt_protocol.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto/libmosquitto_loop.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto/libcommon_base64.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto/libcommon_topic.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto/libmosquitto_unsubscribe.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto/libcommon.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: libmosqcommon_EXPORT
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/mosquitto/include/mosquitto/libcommon.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: libmosqcommon_EXPORT
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/mosquitto/include/mosquitto/libcommon.h
      type_or_value: __declspec(dllimport)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto/libmosquitto_message.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto/libmosquitto.h
  types:
    enum:
    - enumerators:
      - name: MOSQ_OPT_PROTOCOL_VERSION
        value: '1'
      - name: MOSQ_OPT_SSL_CTX
        value: '2'
      - name: MOSQ_OPT_SSL_CTX_WITH_DEFAULTS
        value: '3'
      - name: MOSQ_OPT_SEND_MAXIMUM
        value: '5'
      - name: MOSQ_OPT_RECEIVE_MAXIMUM
        value: '4'
      - name: MOSQ_OPT_TLS_KEYFORM
        value: '6'
      - name: MOSQ_OPT_TLS_ENGINE
        value: '7'
      - name: MOSQ_OPT_TLS_ENGINE_KPASS_SHA1
        value: '8'
      - name: MOSQ_OPT_TLS_OCSP_REQUIRED
        value: '9'
      - name: MOSQ_OPT_TLS_ALPN
        value: '10'
      - name: MOSQ_OPT_BIND_ADDRESS
        value: '12'
      - name: MOSQ_OPT_TRANSPORT
        value: '15'
      - name: MOSQ_OPT_TCP_NODELAY
        value: '11'
      - name: MOSQ_OPT_HTTP_HEADER_SIZE
        value: '17'
      - name: MOSQ_OPT_DISABLE_SOCKETPAIR
        value: '14'
      - name: MOSQ_OPT_HTTP_PATH
        value: '16'
      - name: MOSQ_OPT_TLS_USE_OS_CERTS
        value: '13'
      item_type: enum
      name: mosq_opt_t
      pos:
        line_end: 93
        line_start: 75
        source_file: /src/mosquitto/include/mosquitto/libmosquitto.h
    preproc_defs:
    - item_type: preproc_def
      name: libmosq_EXPORT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/mosquitto/include/mosquitto/libmosquitto.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: libmosq_EXPORT
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/mosquitto/include/mosquitto/libmosquitto.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: bool
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/mosquitto/include/mosquitto/libmosquitto.h
      type_or_value: char
    - item_type: preproc_def
      name: 'true'
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/mosquitto/include/mosquitto/libmosquitto.h
      type_or_value: '1'
    - item_type: preproc_def
      name: 'false'
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/mosquitto/include/mosquitto/libmosquitto.h
      type_or_value: '0'
    - item_type: preproc_def
      name: LIBMOSQUITTO_MAJOR
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/mosquitto/include/mosquitto/libmosquitto.h
      type_or_value: '2'
    - item_type: preproc_def
      name: LIBMOSQUITTO_MINOR
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/mosquitto/include/mosquitto/libmosquitto.h
      type_or_value: '1'
    - item_type: preproc_def
      name: LIBMOSQUITTO_REVISION
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/mosquitto/include/mosquitto/libmosquitto.h
      type_or_value: '0'
    - item_type: preproc_def
      name: LIBMOSQUITTO_VERSION_NUMBER
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/mosquitto/include/mosquitto/libmosquitto.h
      type_or_value: (LIBMOSQUITTO_MAJOR*1000000+LIBMOSQUITTO_MINOR*1000+LIBMOSQUITTO_REVISION)
    structs:
    - fields:
      - name: mid
        type: int
      - name: '*topic'
        type: char
      - name: '*payload'
        type: void
      - name: payloadlen
        type: int
      - name: qos
        type: int
      - name: retain
        type: bool
      item_type: struct
      name: mosquitto_message
      pos:
        line_end: 120
        line_start: 113
        source_file: /src/mosquitto/include/mosquitto/libmosquitto.h
    - fields:
      - name: '*payload'
        type: void
      - name: '*topic'
        type: char
      - name: '*properties'
        type: mosquitto_property
      - name: payloadlen
        type: uint32_t
      - name: qos
        type: uint8_t
      - name: retain
        type: bool
      - name: padding[2]
        type: uint8_t
      item_type: struct
      name: mosquitto_message_v5
      pos:
        line_end: 130
        line_start: 122
        source_file: /src/mosquitto/include/mosquitto/libmosquitto.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto/libmosquitto_helpers.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*topic'
        type: char
      - name: '*payload'
        type: void
      - name: payloadlen
        type: int
      - name: qos
        type: int
      - name: retain
        type: bool
      item_type: struct
      name: libmosquitto_will
      pos:
        line_end: 41
        line_start: 35
        source_file: /src/mosquitto/include/mosquitto/libmosquitto_helpers.h
    - fields:
      - name: '*username'
        type: char
      - name: '*password'
        type: char
      item_type: struct
      name: libmosquitto_auth
      pos:
        line_end: 46
        line_start: 43
        source_file: /src/mosquitto/include/mosquitto/libmosquitto_helpers.h
    - fields:
      - name: '*cafile'
        type: char
      - name: '*capath'
        type: char
      - name: '*certfile'
        type: char
      - name: '*keyfile'
        type: char
      - name: '*ciphers'
        type: char
      - name: '*tls_version'
        type: char
      - name: (*pw_callback)(char *buf, int size, int rwflag, void *userdata)
        type: int
      - name: cert_reqs
        type: int
      item_type: struct
      name: libmosquitto_tls
      pos:
        line_end: 57
        line_start: 48
        source_file: /src/mosquitto/include/mosquitto/libmosquitto_helpers.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto/broker.h
  types:
    enum:
    - enumerators:
      - name: mp_mqtt
      - name: mp_http_api
      - name: mp_mqttsn
      - name: mp_websockets
      item_type: enum
      name: mosquitto_protocol
      pos:
        line_end: 49
        line_start: 44
        source_file: /src/mosquitto/include/mosquitto/broker.h
    - enumerators:
      - name: mosq_bmd_in
        value: '0'
      - name: mosq_bmd_out
        value: '1'
      - name: mosq_bmd_all
        value: '2'
      item_type: enum
      name: mosquitto_broker_msg_direction
      pos:
        line_end: 55
        line_start: 51
        source_file: /src/mosquitto/include/mosquitto/broker.h
    - enumerators:
      - name: MOSQ_EVT_BASIC_AUTH
        value: '3'
      - name: MOSQ_EVT_MESSAGE
        value: '7'
      - name: MOSQ_EVT_TICK
        value: '9'
      - name: MOSQ_EVT_PERSIST_BASE_MSG_ADD
        value: '15'
      - name: MOSQ_EVT_CONNECT
        value: '11'
      - name: MOSQ_EVT_PERSIST_CLIENT_ADD
        value: '19'
      - name: MOSQ_EVT_PERSIST_SUBSCRIPTION_DELETE
        value: '23'
      - name: MOSQ_EVT_MESSAGE_OUT
        value: '27'
      - name: MOSQ_EVT_ACL_CHECK
        value: '2'
      - name: MOSQ_EVT_CONTROL
        value: '6'
      - name: MOSQ_EVT_PSK_KEY
        value: '8'
      - name: MOSQ_EVT_PERSIST_RETAIN_MSG_DELETE
        value: '18'
      - name: MOSQ_EVT_PERSIST_RESTORE
        value: '14'
      - name: MOSQ_EVT_PERSIST_SUBSCRIPTION_ADD
        value: '22'
      - name: MOSQ_EVT_PERSIST_CLIENT_MSG_UPDATE
        value: '26'
      - name: MOSQ_EVT_PERSIST_WILL_DELETE
        value: '30'
      - name: MOSQ_EVT_EXT_AUTH_CONTINUE
        value: '5'
      - name: MOSQ_EVT_UNSUBSCRIBE
        value: '13'
      - name: MOSQ_EVT_PERSIST_RETAIN_MSG_SET
        value: '17'
      - name: MOSQ_EVT_PERSIST_CLIENT_UPDATE
        value: '21'
      - name: MOSQ_EVT_PERSIST_CLIENT_MSG_DELETE
        value: '25'
      - name: MOSQ_EVT_PERSIST_WILL_ADD
        value: '29'
      - name: MOSQ_EVT_RELOAD
        value: '1'
      - name: MOSQ_EVT_EXT_AUTH_START
        value: '4'
      - name: MOSQ_EVT_MESSAGE_IN
        value: '7'
      - name: MOSQ_EVT_DISCONNECT
        value: '10'
      - name: MOSQ_EVT_PERSIST_BASE_MSG_DELETE
        value: '16'
      - name: MOSQ_EVT_SUBSCRIBE
        value: '12'
      - name: MOSQ_EVT_PERSIST_CLIENT_DELETE
        value: '20'
      - name: MOSQ_EVT_PERSIST_CLIENT_MSG_ADD
        value: '24'
      - name: MOSQ_EVT_CLIENT_OFFLINE
        value: '28'
      item_type: enum
      name: mosquitto_plugin_event
      pos:
        line_end: 170
        line_start: 138
        source_file: /src/mosquitto/include/mosquitto/broker.h
    preproc_defs:
    - item_type: preproc_def
      name: mosq_EXPORT
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/mosquitto/include/mosquitto/broker.h
      type_or_value: __declspec(dllexport)
    structs:
    - fields:
      - name: '*clientid'
        type: char
      - name: '*username'
        type: char
      - name: '*auth_method'
        type: char
      - name: will_delay_time
        type: time_t
      - name: session_expiry_time
        type: time_t
      - name: will_delay_interval
        type: uint32_t
      - name: session_expiry_interval
        type: uint32_t
      - name: max_packet_size
        type: uint32_t
      - name: listener_port
        type: uint16_t
      - name: max_qos
        type: uint8_t
      - name: retain_available
        type: bool
      - name: '*future2[8]'
        type: void
      item_type: struct
      name: mosquitto_client
      pos:
        line_end: 77
        line_start: 64
        source_file: /src/mosquitto/include/mosquitto/broker.h
    - fields:
      - name: '*clientid'
        type: char
      - name: '*topic_filter'
        type: char
      - name: '*properties'
        type: mosquitto_property
      - name: identifier
        type: uint32_t
      - name: options
        type: uint8_t
      - name: padding[3]
        type: uint8_t
      - name: '*future2[8]'
        type: void
      item_type: struct
      name: mosquitto_subscription
      pos:
        line_end: 87
        line_start: 79
        source_file: /src/mosquitto/include/mosquitto/broker.h
    - fields:
      - name: store_id
        type: uint64_t
      - name: expiry_time
        type: int64_t
      - name: '*topic'
        type: char
      - name: '*payload'
        type: void
      - name: '*source_id'
        type: char
      - name: '*source_username'
        type: char
      - name: '*properties'
        type: mosquitto_property
      - name: payloadlen
        type: uint32_t
      - name: source_mid
        type: uint16_t
      - name: source_port
        type: uint16_t
      - name: qos
        type: uint8_t
      - name: retain
        type: bool
      - name: padding[6]
        type: uint8_t
      - name: '*future2[8]'
        type: void
      item_type: struct
      name: mosquitto_base_msg
      pos:
        line_end: 104
        line_start: 89
        source_file: /src/mosquitto/include/mosquitto/broker.h
    - fields:
      - name: '*clientid'
        type: char
      - name: cmsg_id
        type: uint64_t
      - name: store_id
        type: uint64_t
      - name: subscription_identifier
        type: uint32_t
      - name: mid
        type: uint16_t
      - name: qos
        type: uint8_t
      - name: retain
        type: bool
      - name: dup
        type: uint8_t
      - name: direction
        type: uint8_t
      - name: state
        type: uint8_t
      - name: padding[5]
        type: uint8_t
      - name: '*future2[8]'
        type: void
      item_type: struct
      name: mosquitto_client_msg
      pos:
        line_end: 119
        line_start: 106
        source_file: /src/mosquitto/include/mosquitto/broker.h
    - fields:
      - name: '*clientid'
        type: char
      - name: '*payload'
        type: void
      - name: '*topic'
        type: char
      - name: '*properties'
        type: mosquitto_property
      - name: payloadlen
        type: uint32_t
      - name: qos
        type: uint8_t
      - name: retain
        type: bool
      item_type: struct
      name: mosquitto_will_msg
      pos:
        line_end: 129
        line_start: 121
        source_file: /src/mosquitto/include/mosquitto/broker.h
    - fields:
      - name: '*future'
        type: void
      - name: '*options'
        type: struct mosquitto_opt
      - name: option_count
        type: int
      - name: '*future2[4]'
        type: void
      item_type: struct
      name: mosquitto_evt_reload
      pos:
        line_end: 178
        line_start: 173
        source_file: /src/mosquitto/include/mosquitto/broker.h
    - fields:
      - name: '*future'
        type: void
      - name: '*client'
        type: struct mosquitto
      - name: '*topic'
        type: char
      - name: '*payload'
        type: void
      - name: '*properties'
        type: mosquitto_property
      - name: access
        type: int
      - name: payloadlen
        type: uint32_t
      - name: qos
        type: uint8_t
      - name: retain
        type: bool
      - name: '*future2[4]'
        type: void
      item_type: struct
      name: mosquitto_evt_acl_check
      pos:
        line_end: 192
        line_start: 181
        source_file: /src/mosquitto/include/mosquitto/broker.h
    - fields:
      - name: '*future'
        type: void
      - name: '*client'
        type: struct mosquitto
      - name: '*username'
        type: char
      - name: '*password'
        type: char
      - name: '*future2[4]'
        type: void
      item_type: struct
      name: mosquitto_evt_basic_auth
      pos:
        line_end: 201
        line_start: 195
        source_file: /src/mosquitto/include/mosquitto/broker.h
    - fields:
      - name: '*future'
        type: void
      - name: '*client'
        type: struct mosquitto
      - name: '*hint'
        type: char
      - name: '*identity'
        type: char
      - name: '*key'
        type: char
      - name: max_key_len
        type: int
      - name: '*future2[4]'
        type: void
      item_type: struct
      name: mosquitto_evt_psk_key
      pos:
        line_end: 212
        line_start: 204
        source_file: /src/mosquitto/include/mosquitto/broker.h
    - fields:
      - name: '*future'
        type: void
      - name: '*client'
        type: struct mosquitto
      - name: '*data_in'
        type: void
      - name: '*data_out'
        type: void
      - name: data_in_len
        type: uint16_t
      - name: data_out_len
        type: uint16_t
      - name: '*auth_method'
        type: char
      - name: '*future2[3]'
        type: void
      item_type: struct
      name: mosquitto_evt_extended_auth
      pos:
        line_end: 224
        line_start: 215
        source_file: /src/mosquitto/include/mosquitto/broker.h
    - fields:
      - name: '*future'
        type: void
      - name: '*client'
        type: struct mosquitto
      - name: '*topic'
        type: char
      - name: '*payload'
        type: void
      - name: '*properties'
        type: mosquitto_property
      - name: '*reason_string'
        type: char
      - name: payloadlen
        type: uint32_t
      - name: qos
        type: uint8_t
      - name: reason_code
        type: uint8_t
      - name: retain
        type: bool
      - name: padding
        type: uint8_t
      - name: '*future2[4]'
        type: void
      item_type: struct
      name: mosquitto_evt_control
      pos:
        line_end: 240
        line_start: 227
        source_file: /src/mosquitto/include/mosquitto/broker.h
    - fields:
      - name: '*future'
        type: void
      - name: '*client'
        type: struct mosquitto
      - name: '*topic'
        type: char
      - name: '*payload'
        type: void
      - name: '*properties'
        type: mosquitto_property
      - name: '*reason_string'
        type: char
      - name: payloadlen
        type: uint32_t
      - name: qos
        type: uint8_t
      - name: reason_code
        type: uint8_t
      - name: retain
        type: bool
      - name: padding
        type: uint8_t
      - name: '*future2[4]'
        type: void
      item_type: struct
      name: mosquitto_evt_message
      pos:
        line_end: 256
        line_start: 243
        source_file: /src/mosquitto/include/mosquitto/broker.h
    - fields:
      - name: '*future'
        type: void
      - name: now_ns
        type: long
      - name: next_ms
        type: long
      - name: now_s
        type: time_t
      - name: next_s
        type: time_t
      - name: '*future2[4]'
        type: void
      item_type: struct
      name: mosquitto_evt_tick
      pos:
        line_end: 267
        line_start: 260
        source_file: /src/mosquitto/include/mosquitto/broker.h
    - fields:
      - name: '*future'
        type: void
      - name: '*client'
        type: struct mosquitto
      - name: '*future2[4]'
        type: void
      item_type: struct
      name: mosquitto_evt_connect
      pos:
        line_end: 274
        line_start: 270
        source_file: /src/mosquitto/include/mosquitto/broker.h
    - fields:
      - name: '*future'
        type: void
      - name: '*client'
        type: struct mosquitto
      - name: reason
        type: int
      - name: '*future2[4]'
        type: void
      item_type: struct
      name: mosquitto_evt_disconnect
      pos:
        line_end: 282
        line_start: 277
        source_file: /src/mosquitto/include/mosquitto/broker.h
    - fields:
      - name: '*future'
        type: void
      - name: '*client'
        type: struct mosquitto
      - name: reason
        type: int
      - name: '*future2[4]'
        type: void
      item_type: struct
      name: mosquitto_evt_client_offline
      pos:
        line_end: 290
        line_start: 285
        source_file: /src/mosquitto/include/mosquitto/broker.h
    - fields:
      - name: '*future'
        type: void
      - name: '*client'
        type: struct mosquitto
      - name: data
        type: struct mosquitto_subscription
      - name: '*future2[8]'
        type: void
      item_type: struct
      name: mosquitto_evt_subscribe
      pos:
        line_end: 298
        line_start: 293
        source_file: /src/mosquitto/include/mosquitto/broker.h
    - fields:
      - name: '*future'
        type: void
      - name: '*client'
        type: struct mosquitto
      - name: data
        type: struct mosquitto_subscription
      - name: '*future2[8]'
        type: void
      item_type: struct
      name: mosquitto_evt_unsubscribe
      pos:
        line_end: 307
        line_start: 302
        source_file: /src/mosquitto/include/mosquitto/broker.h
    - fields:
      - name: '*future[8]'
        type: void
      item_type: struct
      name: mosquitto_evt_persist_restore
      pos:
        line_end: 315
        line_start: 313
        source_file: /src/mosquitto/include/mosquitto/broker.h
    - fields:
      - name: '*future'
        type: void
      - name: data
        type: struct mosquitto_client
      - name: '*future2[8]'
        type: void
      item_type: struct
      name: mosquitto_evt_persist_client
      pos:
        line_end: 325
        line_start: 321
        source_file: /src/mosquitto/include/mosquitto/broker.h
    - fields:
      - name: '*future'
        type: void
      - name: data
        type: struct mosquitto_subscription
      - name: '*future2[8]'
        type: void
      item_type: struct
      name: mosquitto_evt_persist_subscription
      pos:
        line_end: 335
        line_start: 331
        source_file: /src/mosquitto/include/mosquitto/broker.h
    - fields:
      - name: '*future'
        type: void
      - name: data
        type: struct mosquitto_client_msg
      - name: '*future2[8]'
        type: void
      item_type: struct
      name: mosquitto_evt_persist_client_msg
      pos:
        line_end: 345
        line_start: 341
        source_file: /src/mosquitto/include/mosquitto/broker.h
    - fields:
      - name: '*future'
        type: void
      - name: data
        type: struct mosquitto_base_msg
      - name: '*future2[8]'
        type: void
      item_type: struct
      name: mosquitto_evt_persist_base_msg
      pos:
        line_end: 355
        line_start: 351
        source_file: /src/mosquitto/include/mosquitto/broker.h
    - fields:
      - name: '*future'
        type: void
      - name: '*topic'
        type: char
      - name: store_id
        type: uint64_t
      - name: '*future2[8]'
        type: void
      item_type: struct
      name: mosquitto_evt_persist_retain_msg
      pos:
        line_end: 366
        line_start: 361
        source_file: /src/mosquitto/include/mosquitto/broker.h
    - fields:
      - name: '*future'
        type: void
      - name: data
        type: struct mosquitto_will_msg
      - name: '*future2[8]'
        type: void
      item_type: struct
      name: mosquitto_evt_persist_will_msg
      pos:
        line_end: 375
        line_start: 371
        source_file: /src/mosquitto/include/mosquitto/broker.h
    typedefs:
    - item_type: typedef
      name: (*MOSQ_FUNC_generic_callback)(int, void *, void *)
      pos:
        line_end: 379
        line_start: 379
        source_file: /src/mosquitto/include/mosquitto/broker.h
      type: int
    - item_type: typedef
      name: mosquitto_plugin_id_t
      pos:
        line_end: 381
        line_start: 381
        source_file: /src/mosquitto/include/mosquitto/broker.h
      type: mosquitto_plugin_id_t
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto/broker_control.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*client'
        type: struct mosquitto
      - name: '*j_responses'
        type: cJSON
      - name: '*j_command'
        type: cJSON
      - name: '*correlation_data'
        type: char
      - name: '*command_name'
        type: char
      item_type: struct
      name: mosquitto_control_cmd
      pos:
        line_end: 49
        line_start: 43
        source_file: /src/mosquitto/include/mosquitto/broker_control.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto/libcommon_string.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto/libcommon_utf8.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto/defs.h
  types:
    enum:
    - enumerators:
      - name: MOSQ_ERR_CONN_PENDING
        value: '-1'
      - name: MOSQ_ERR_INVAL
        value: '3'
      - name: MOSQ_ERR_CONN_LOST
        value: '7'
      - name: MOSQ_ERR_AUTH
        value: '11'
      - name: MOSQ_ERR_EAI
        value: '15'
      - name: MOSQ_ERR_KEEPALIVE
        value: '19'
      - name: MOSQ_ERR_TLS_HANDSHAKE
        value: '23'
      - name: MOSQ_ERR_TIMEOUT
        value: '27'
      - name: MOSQ_ERR_HTTP_BAD_ORIGIN
        value: '33'
      - name: MOSQ_ERR_SERVER_UNAVAILABLE
        value: '136'
      - name: MOSQ_ERR_RETAIN_NOT_SUPPORTED
        value: '154'
      - name: MOSQ_ERR_CONNECTION_RATE_EXCEEDED
        value: '159'
      - name: MOSQ_ERR_TOPIC_NAME_INVALID
        value: '144'
      - name: MOSQ_ERR_AUTH_CONTINUE
        value: '-4'
      - name: MOSQ_ERR_SUCCESS
        value: '0'
      - name: MOSQ_ERR_ACL_DENIED
        value: '12'
      - name: MOSQ_ERR_TLS
        value: '8'
      - name: MOSQ_ERR_NO_CONN
        value: '4'
      - name: MOSQ_ERR_PROXY
        value: '16'
      - name: MOSQ_ERR_LOOKUP
        value: '20'
      - name: MOSQ_ERR_QOS_NOT_SUPPORTED
        value: '24'
      - name: MOSQ_ERR_ALREADY_EXISTS
        value: '31'
      - name: MOSQ_ERR_UNSPECIFIED
        value: '128'
      - name: MOSQ_ERR_UNSUPPORTED_PROTOCOL_VERSION
        value: '132'
      - name: MOSQ_ERR_SERVER_BUSY
        value: '137'
      - name: MOSQ_ERR_PACKET_ID_IN_USE
        value: '145'
      - name: MOSQ_ERR_MAXIMUM_CONNECT_TIME
        value: '160'
      - name: MOSQ_ERR_USE_ANOTHER_SERVER
        value: '156'
      - name: MOSQ_ERR_SUBSCRIPTION_IDS_NOT_SUPPORTED
        value: '161'
      - name: MOSQ_ERR_SESSION_TAKEN_OVER
        value: '142'
      - name: MOSQ_ERR_PACKET_ID_NOT_FOUND
        value: '146'
      - name: MOSQ_ERR_ADMINISTRATIVE_ACTION
        value: '152'
      - name: MOSQ_ERR_BANNED
        value: '138'
      - name: MOSQ_ERR_NO_SUBSCRIBERS
        value: '-3'
      - name: MOSQ_ERR_AUTH_DELAYED
        value: '-5'
      - name: MOSQ_ERR_NOMEM
        value: '1'
      - name: MOSQ_ERR_PAYLOAD_SIZE
        value: '9'
      - name: MOSQ_ERR_CONN_REFUSED
        value: '5'
      - name: MOSQ_ERR_UNKNOWN
        value: '13'
      - name: MOSQ_ERR_PLUGIN_DEFER
        value: '17'
      - name: MOSQ_ERR_MALFORMED_PACKET
        value: '21'
      - name: MOSQ_ERR_OVERSIZE_PACKET
        value: '25'
      - name: MOSQ_ERR_CLIENT_IDENTIFIER_NOT_VALID
        value: '133'
      - name: MOSQ_ERR_SERVER_SHUTTING_DOWN
        value: '139'
      - name: MOSQ_ERR_WILDCARD_SUBS_NOT_SUPPORTED
        value: '162'
      - name: MOSQ_ERR_RECEIVE_MAXIMUM_EXCEEDED
        value: '147'
      - name: MOSQ_ERR_BAD_USERNAME_OR_PASSWORD
        value: '134'
      - name: MOSQ_ERR_SERVER_MOVED
        value: '157'
      - name: MOSQ_ERR_QUOTA_EXCEEDED
        value: '-6'
      - name: MOSQ_ERR_SUB_EXISTS
        value: '-2'
      - name: MOSQ_ERR_PROTOCOL
        value: '2'
      - name: MOSQ_ERR_NOT_SUPPORTED
        value: '10'
      - name: MOSQ_ERR_NOT_FOUND
        value: '6'
      - name: MOSQ_ERR_ERRNO
        value: '14'
      - name: MOSQ_ERR_MALFORMED_UTF8
        value: '18'
      - name: MOSQ_ERR_DUPLICATE_PROPERTY
        value: '22'
      - name: MOSQ_ERR_OCSP
        value: '26'
      - name: MOSQ_ERR_PLUGIN_IGNORE
        value: '32'
      - name: MOSQ_ERR_BAD_AUTHENTICATION_METHOD
        value: '140'
      - name: MOSQ_ERR_IMPLEMENTATION_SPECIFIC
        value: '131'
      - name: MOSQ_ERR_TOPIC_ALIAS_INVALID
        value: '148'
      - name: MOSQ_ERR_PAYLOAD_FORMAT_INVALID
        value: '153'
      - name: MOSQ_ERR_SHARED_SUBS_NOT_SUPPORTED
        value: '158'
      - name: MOSQ_ERR_TOPIC_FILTER_INVALID
        value: '143'
      - name: MOSQ_ERR_MESSAGE_RATE_TOO_HIGH
        value: '150'
      item_type: enum
      name: mosq_err_t
      pos:
        line_end: 123
        line_start: 48
        source_file: /src/mosquitto/include/mosquitto/defs.h
    - enumerators:
      - name: MOSQ_T_TCP
        value: '1'
      - name: MOSQ_T_WEBSOCKETS
        value: '2'
      item_type: enum
      name: mosq_transport_t
      pos:
        line_end: 128
        line_start: 125
        source_file: /src/mosquitto/include/mosquitto/defs.h
    preproc_defs:
    - item_type: preproc_def
      name: MOSQ_LOG_NONE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/mosquitto/include/mosquitto/defs.h
      type_or_value: '0'
    - item_type: preproc_def
      name: MOSQ_LOG_INFO
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/mosquitto/include/mosquitto/defs.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: MOSQ_LOG_NOTICE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/mosquitto/include/mosquitto/defs.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: MOSQ_LOG_WARNING
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/mosquitto/include/mosquitto/defs.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: MOSQ_LOG_ERR
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/mosquitto/include/mosquitto/defs.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: MOSQ_LOG_DEBUG
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/mosquitto/include/mosquitto/defs.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: MOSQ_LOG_SUBSCRIBE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/mosquitto/include/mosquitto/defs.h
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: MOSQ_LOG_UNSUBSCRIBE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/mosquitto/include/mosquitto/defs.h
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: MOSQ_LOG_WEBSOCKETS
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/mosquitto/include/mosquitto/defs.h
      type_or_value: (1<<7)
    - item_type: preproc_def
      name: MOSQ_LOG_INTERNAL
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/mosquitto/include/mosquitto/defs.h
      type_or_value: 0x80000000U
    - item_type: preproc_def
      name: MOSQ_LOG_ALL
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/mosquitto/include/mosquitto/defs.h
      type_or_value: 0xFFFFFFFFU
    - item_type: preproc_def
      name: MOSQ_MQTT_ID_MAX_LENGTH
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/mosquitto/include/mosquitto/defs.h
      type_or_value: '23'
    - item_type: preproc_def
      name: MQTT_PROTOCOL_V31
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/mosquitto/include/mosquitto/defs.h
      type_or_value: '3'
    - item_type: preproc_def
      name: MQTT_PROTOCOL_V311
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/mosquitto/include/mosquitto/defs.h
      type_or_value: '4'
    - item_type: preproc_def
      name: MQTT_PROTOCOL_V5
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/mosquitto/include/mosquitto/defs.h
      type_or_value: '5'
    structs: []
    typedefs:
    - item_type: typedef
      name: mosquitto_property
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/mosquitto/include/mosquitto/defs.h
      type: mqtt5__property
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto/libcommon_random.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto/libmosquitto_auth.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto/libcommon_properties.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto/libmosquitto_callbacks.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*LIBMOSQ_CB_connect)(struct mosquitto *mosq, void *obj, int rc)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/mosquitto/include/mosquitto/libmosquitto_callbacks.h
      type: void
    - item_type: typedef
      name: (*LIBMOSQ_CB_connect_with_flags)(struct mosquitto *mosq, void *obj, int
        rc, int flags)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/mosquitto/include/mosquitto/libmosquitto_callbacks.h
      type: void
    - item_type: typedef
      name: (*LIBMOSQ_CB_connect_v5)(struct mosquitto *mosq, void *obj, int rc, int
        flags, const mosquitto_property *props)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/mosquitto/include/mosquitto/libmosquitto_callbacks.h
      type: void
    - item_type: typedef
      name: (*LIBMOSQ_CB_pre_connect)(struct mosquitto *mosq, void *obj)
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/mosquitto/include/mosquitto/libmosquitto_callbacks.h
      type: void
    - item_type: typedef
      name: (*LIBMOSQ_CB_disconnect)(struct mosquitto *mosq, void *obj, int rc)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/mosquitto/include/mosquitto/libmosquitto_callbacks.h
      type: void
    - item_type: typedef
      name: (*LIBMOSQ_CB_disconnect_v5)(struct mosquitto *mosq, void *obj, int rc,
        const mosquitto_property *props)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/mosquitto/include/mosquitto/libmosquitto_callbacks.h
      type: void
    - item_type: typedef
      name: (*LIBMOSQ_CB_publish)(struct mosquitto *mosq, void *obj, int mid)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/mosquitto/include/mosquitto/libmosquitto_callbacks.h
      type: void
    - item_type: typedef
      name: (*LIBMOSQ_CB_publish_v5)(struct mosquitto *mosq, void *obj, int mid, int
        reason_code, const mosquitto_property *props)
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/mosquitto/include/mosquitto/libmosquitto_callbacks.h
      type: void
    - item_type: typedef
      name: (*LIBMOSQ_CB_message)(struct mosquitto *mosq, void *obj, const struct
        mosquitto_message *message)
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/mosquitto/include/mosquitto/libmosquitto_callbacks.h
      type: void
    - item_type: typedef
      name: (*LIBMOSQ_CB_message_v5)(struct mosquitto *mosq, void *obj, const struct
        mosquitto_message *message, const mosquitto_property *props)
      pos:
        line_end: 303
        line_start: 303
        source_file: /src/mosquitto/include/mosquitto/libmosquitto_callbacks.h
      type: void
    - item_type: typedef
      name: (*LIBMOSQ_CB_subscribe)(struct mosquitto *mosq, void *obj, int mid, int
        qos_count, const int *granted_qos)
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/mosquitto/include/mosquitto/libmosquitto_callbacks.h
      type: void
    - item_type: typedef
      name: (*LIBMOSQ_CB_subscribe_v5)(struct mosquitto *mosq, void *obj, int mid,
        int qos_count, const int *granted_qos, const mosquitto_property *props)
      pos:
        line_end: 352
        line_start: 352
        source_file: /src/mosquitto/include/mosquitto/libmosquitto_callbacks.h
      type: void
    - item_type: typedef
      name: (*LIBMOSQ_CB_unsubscribe)(struct mosquitto *mosq, void *obj, int mid)
      pos:
        line_end: 371
        line_start: 371
        source_file: /src/mosquitto/include/mosquitto/libmosquitto_callbacks.h
      type: void
    - item_type: typedef
      name: (*LIBMOSQ_CB_unsubscribe_v5)(struct mosquitto *mosq, void *obj, int mid,
        const mosquitto_property *props)
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/mosquitto/include/mosquitto/libmosquitto_callbacks.h
      type: void
    - item_type: typedef
      name: (*LIBMOSQ_CB_unsubscribe2_v5)(struct mosquitto *mosq, void *obj, int mid,
        int reason_code_count, const int *reason_codes, const mosquitto_property *props)
      pos:
        line_end: 424
        line_start: 424
        source_file: /src/mosquitto/include/mosquitto/libmosquitto_callbacks.h
      type: void
    - item_type: typedef
      name: (*LIBMOSQ_CB_ext_auth)(struct mosquitto *mosq, void *obj, const char *auth_method,
        uint16_t auth_data_len, const void *auth_data, const mosquitto_property *props)
      pos:
        line_end: 457
        line_start: 457
        source_file: /src/mosquitto/include/mosquitto/libmosquitto_callbacks.h
      type: int
    - item_type: typedef
      name: (*LIBMOSQ_CB_log)(struct mosquitto *mosq, void *obj, int level, const
        char *str)
      pos:
        line_end: 481
        line_start: 481
        source_file: /src/mosquitto/include/mosquitto/libmosquitto_callbacks.h
      type: void
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto/libmosquitto_create_delete.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto/libmosquitto_options.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto/libmosquitto_will.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosqpp::mosquittopp
  - mosqpp::on_pre_connect
  - mosqpp::on_connect
  - mosqpp::on_connect_with_flags
  - mosqpp::on_connect_v5
  - mosqpp::on_disconnect
  - mosqpp::on_disconnect_v5
  - mosqpp::on_publish
  - mosqpp::on_publish_v5
  - mosqpp::on_message
  - mosqpp::on_message_v5
  - mosqpp::on_subscribe
  - mosqpp::on_subscribe_v5
  - mosqpp::on_unsubscribe
  - mosqpp::on_unsubscribe_v5
  - mosqpp::on_log
  - mosqpp::on_error
  - mosqpp::on_ext_auth
  - mosqpp::mosquittopp
  - mosqpp::on_pre_connect
  - mosqpp::on_connect
  - mosqpp::on_connect_with_flags
  - mosqpp::on_connect_v5
  - mosqpp::on_disconnect
  - mosqpp::on_disconnect_v5
  - mosqpp::on_publish
  - mosqpp::on_publish_v5
  - mosqpp::on_message
  - mosqpp::on_message_v5
  - mosqpp::on_subscribe
  - mosqpp::on_subscribe_v5
  - mosqpp::on_unsubscribe
  - mosqpp::on_unsubscribe_v5
  - mosqpp::on_log
  - mosqpp::on_error
  - mosqpp::on_ext_auth
  source_file: /src/mosquitto/include/mosquitto/libmosquittopp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: mosqpp_EXPORT
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/mosquitto/include/mosquitto/libmosquittopp.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: mosqpp_EXPORT
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/mosquitto/include/mosquitto/libmosquittopp.h
      type_or_value: __declspec(dllimport)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto/libcommon_cjson.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto/libmosquitto_connect.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto/libmosquitto_publish.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto/libcommon_file.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto/libmosquitto_subscribe.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MOSQUITTO_PLUGIN_DECLARE_VERSION
  source_file: /src/mosquitto/include/mosquitto/broker_plugin.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MOSQ_PLUGIN_VERSION
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/mosquitto/include/mosquitto/broker_plugin.h
      type_or_value: '5'
    - item_type: preproc_def
      name: MOSQ_AUTH_PLUGIN_VERSION
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/mosquitto/include/mosquitto/broker_plugin.h
      type_or_value: '4'
    - item_type: preproc_def
      name: MOSQ_ACL_NONE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/mosquitto/include/mosquitto/broker_plugin.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: MOSQ_ACL_READ
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/mosquitto/include/mosquitto/broker_plugin.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: MOSQ_ACL_WRITE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/mosquitto/include/mosquitto/broker_plugin.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: MOSQ_ACL_SUBSCRIBE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/mosquitto/include/mosquitto/broker_plugin.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: MOSQ_ACL_UNSUBSCRIBE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/mosquitto/include/mosquitto/broker_plugin.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: mosq_plugin_EXPORT
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/mosquitto/include/mosquitto/broker_plugin.h
      type_or_value: __declspec(dllexport)
    structs:
    - fields:
      - name: '*key'
        type: char
      - name: '*value'
        type: char
      item_type: struct
      name: mosquitto_opt
      pos:
        line_end: 54
        line_start: 51
        source_file: /src/mosquitto/include/mosquitto/broker_plugin.h
    - fields:
      - name: '*key'
        type: char
      - name: '*value'
        type: char
      item_type: struct
      name: mosquitto_auth_opt
      pos:
        line_end: 59
        line_start: 56
        source_file: /src/mosquitto/include/mosquitto/broker_plugin.h
    - fields:
      - name: '*topic'
        type: char
      - name: '*payload'
        type: void
      - name: payloadlen
        type: long
      - name: qos
        type: int
      - name: retain
        type: bool
      item_type: struct
      name: mosquitto_acl_msg
      pos:
        line_end: 67
        line_start: 61
        source_file: /src/mosquitto/include/mosquitto/broker_plugin.h
    typedefs: []
    union: []
- function_names:
  - mosquitto_FREE
  source_file: /src/mosquitto/include/mosquitto/libcommon_memory.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto/libcommon_password.h
  types:
    enum:
    - enumerators:
      - name: MOSQ_PW_DEFAULT
      - name: MOSQ_PW_SHA512_PBKDF2
        value: '7'
      - name: MOSQ_PW_ARGON2ID
        value: '8'
      - name: MOSQ_PW_SHA512
        value: '6'
      item_type: enum
      name: mosquitto_pwhash_type
      pos:
        line_end: 33
        line_start: 28
        source_file: /src/mosquitto/include/mosquitto/libcommon_password.h
    - enumerators:
      - name: MOSQ_PW_PARAM_ITERATIONS
        value: '1'
      item_type: enum
      name: mosquitto_pw_params
      pos:
        line_end: 37
        line_start: 35
        source_file: /src/mosquitto/include/mosquitto/libcommon_password.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MQTT_SUB_OPT_GET_QOS
  - MQTT_SUB_OPT_GET_NO_LOCAL
  - MQTT_SUB_OPT_GET_RETAIN_AS_PUBLISHED
  - MQTT_SUB_OPT_GET_SEND_RETAIN
  - MQTT_SUB_OPT_GET_RETAIN_HANDLING
  - MQTT_SUB_OPT_SET_QOS
  - MQTT_SUB_OPT_SET_NO_LOCAL
  - MQTT_SUB_OPT_SET_RETAIN_HANDLING
  - MQTT_SUB_OPT_SET
  - MQTT_SUB_OPT_CLEAR
  source_file: /src/mosquitto/include/mosquitto/mqtt_protocol.h
  types:
    enum:
    - enumerators:
      - name: CONNACK_ACCEPTED
        value: '0'
      - name: CONNACK_REFUSED_IDENTIFIER_REJECTED
        value: '2'
      - name: CONNACK_REFUSED_PROTOCOL_VERSION
        value: '1'
      - name: CONNACK_REFUSED_BAD_USERNAME_PASSWORD
        value: '4'
      - name: CONNACK_REFUSED_SERVER_UNAVAILABLE
        value: '3'
      - name: CONNACK_REFUSED_NOT_AUTHORIZED
        value: '5'
      item_type: enum
      name: mqtt311_connack_codes
      pos:
        line_end: 77
        line_start: 70
        source_file: /src/mosquitto/include/mosquitto/mqtt_protocol.h
    - enumerators:
      - name: MQTT_RC_GRANTED_QOS1
        value: '1'
      - name: MQTT_RC_NORMAL_DISCONNECTION
        value: '0'
      - name: MQTT_RC_DISCONNECT_WITH_WILL_MSG
        value: '4'
      - name: MQTT_RC_NO_SUBSCRIPTION_EXISTED
        value: '17'
      - name: MQTT_RC_REAUTHENTICATE
        value: '25'
      - name: MQTT_RC_MALFORMED_PACKET
        value: '129'
      - name: MQTT_RC_NOT_AUTHORIZED
        value: '135'
      - name: MQTT_RC_CLIENTID_NOT_VALID
        value: '133'
      - name: MQTT_RC_IMPLEMENTATION_SPECIFIC
        value: '131'
      - name: MQTT_RC_SERVER_BUSY
        value: '137'
      - name: MQTT_RC_PACKET_ID_IN_USE
        value: '145'
      - name: MQTT_RC_USE_ANOTHER_SERVER
        value: '156'
      - name: MQTT_RC_SERVER_MOVED
        value: '157'
      - name: MQTT_RC_CONNECTION_RATE_EXCEEDED
        value: '159'
      - name: MQTT_RC_TOPIC_FILTER_INVALID
        value: '143'
      - name: MQTT_RC_RETAIN_NOT_SUPPORTED
        value: '154'
      - name: MQTT_RC_KEEP_ALIVE_TIMEOUT
        value: '141'
      - name: MQTT_RC_WILDCARD_SUBS_NOT_SUPPORTED
        value: '162'
      - name: MQTT_RC_ADMINISTRATIVE_ACTION
        value: '152'
      - name: MQTT_RC_SERVER_SHUTTING_DOWN
        value: '139'
      - name: MQTT_RC_MAXIMUM_CONNECT_TIME
        value: '160'
      - name: MQTT_RC_MESSAGE_RATE_TOO_HIGH
        value: '150'
      - name: MQTT_RC_SHARED_SUBS_NOT_SUPPORTED
        value: '158'
      - name: MQTT_RC_TOPIC_ALIAS_INVALID
        value: '148'
      - name: MQTT_RC_SUCCESS
        value: '0'
      - name: MQTT_RC_GRANTED_QOS0
        value: '0'
      - name: MQTT_RC_GRANTED_QOS2
        value: '2'
      - name: MQTT_RC_NO_MATCHING_SUBSCRIBERS
        value: '16'
      - name: MQTT_RC_CONTINUE_AUTHENTICATION
        value: '24'
      - name: MQTT_RC_PROTOCOL_ERROR
        value: '130'
      - name: MQTT_RC_BAD_USERNAME_OR_PASSWORD
        value: '134'
      - name: MQTT_RC_UNSPECIFIED
        value: '128'
      - name: MQTT_RC_SERVER_UNAVAILABLE
        value: '136'
      - name: MQTT_RC_UNSUPPORTED_PROTOCOL_VERSION
        value: '132'
      - name: MQTT_RC_PACKET_ID_NOT_FOUND
        value: '146'
      - name: MQTT_RC_QOS_NOT_SUPPORTED
        value: '155'
      - name: MQTT_RC_TOPIC_NAME_INVALID
        value: '144'
      - name: MQTT_RC_PAYLOAD_FORMAT_INVALID
        value: '153'
      - name: MQTT_RC_SESSION_TAKEN_OVER
        value: '142'
      - name: MQTT_RC_QUOTA_EXCEEDED
        value: '151'
      - name: MQTT_RC_BAD_AUTHENTICATION_METHOD
        value: '140'
      - name: MQTT_RC_SUBSCRIPTION_IDS_NOT_SUPPORTED
        value: '161'
      - name: MQTT_RC_PACKET_TOO_LARGE
        value: '149'
      - name: MQTT_RC_BANNED
        value: '138'
      - name: MQTT_RC_RECEIVE_MAXIMUM_EXCEEDED
        value: '147'
      item_type: enum
      name: mqtt5_return_codes
      pos:
        line_end: 176
        line_start: 129
        source_file: /src/mosquitto/include/mosquitto/mqtt_protocol.h
    - enumerators:
      - name: MQTT_PROP_MAXIMUM_QOS
        value: '36'
      - name: MQTT_PROP_SUBSCRIPTION_ID_AVAILABLE
        value: '41'
      - name: MQTT_PROP_RESPONSE_TOPIC
        value: '8'
      - name: MQTT_PROP_MESSAGE_EXPIRY_INTERVAL
        value: '2'
      - name: MQTT_PROP_SUBSCRIPTION_IDENTIFIER
        value: '11'
      - name: MQTT_PROP_ASSIGNED_CLIENT_IDENTIFIER
        value: '18'
      - name: MQTT_PROP_AUTHENTICATION_METHOD
        value: '21'
      - name: MQTT_PROP_REQUEST_RESPONSE_INFORMATION
        value: '25'
      - name: MQTT_PROP_RECEIVE_MAXIMUM
        value: '33'
      - name: MQTT_PROP_REQUEST_PROBLEM_INFORMATION
        value: '23'
      - name: MQTT_PROP_SERVER_REFERENCE
        value: '28'
      - name: MQTT_PROP_TOPIC_ALIAS
        value: '35'
      - name: MQTT_PROP_MAXIMUM_PACKET_SIZE
        value: '39'
      - name: MQTT_PROP_RETAIN_AVAILABLE
        value: '37'
      - name: MQTT_PROP_SHARED_SUB_AVAILABLE
        value: '42'
      - name: MQTT_PROP_PAYLOAD_FORMAT_INDICATOR
        value: '1'
      - name: MQTT_PROP_CORRELATION_DATA
        value: '9'
      - name: MQTT_PROP_CONTENT_TYPE
        value: '3'
      - name: MQTT_PROP_SESSION_EXPIRY_INTERVAL
        value: '17'
      - name: MQTT_PROP_SERVER_KEEP_ALIVE
        value: '19'
      - name: MQTT_PROP_RESPONSE_INFORMATION
        value: '26'
      - name: MQTT_PROP_TOPIC_ALIAS_MAXIMUM
        value: '34'
      - name: MQTT_PROP_WILL_DELAY_INTERVAL
        value: '24'
      - name: MQTT_PROP_REASON_STRING
        value: '31'
      - name: MQTT_PROP_AUTHENTICATION_DATA
        value: '22'
      - name: MQTT_PROP_WILDCARD_SUB_AVAILABLE
        value: '40'
      - name: MQTT_PROP_USER_PROPERTY
        value: '38'
      item_type: enum
      name: mqtt5_property
      pos:
        line_end: 238
        line_start: 210
        source_file: /src/mosquitto/include/mosquitto/mqtt_protocol.h
    - enumerators:
      - name: MQTT_PROP_TYPE_BYTE
        value: '1'
      - name: MQTT_PROP_TYPE_INT16
        value: '2'
      - name: MQTT_PROP_TYPE_INT32
        value: '3'
      - name: MQTT_PROP_TYPE_VARINT
        value: '4'
      - name: MQTT_PROP_TYPE_BINARY
        value: '5'
      - name: MQTT_PROP_TYPE_STRING
        value: '6'
      - name: MQTT_PROP_TYPE_STRING_PAIR
        value: '7'
      item_type: enum
      name: mqtt5_property_type
      pos:
        line_end: 248
        line_start: 240
        source_file: /src/mosquitto/include/mosquitto/mqtt_protocol.h
    - enumerators:
      - name: MQTT_SUB_OPT_NO_LOCAL
        value: '0x04'
      - name: MQTT_SUB_OPT_RETAIN_AS_PUBLISHED
        value: '0x08'
      - name: MQTT_SUB_OPT_SEND_RETAIN_ALWAYS
        value: '0x00'
      - name: MQTT_SUB_OPT_SEND_RETAIN_NEW
        value: '0x10'
      - name: MQTT_SUB_OPT_SEND_RETAIN_NEVER
        value: '0x20'
      item_type: enum
      name: mqtt5_sub_options
      pos:
        line_end: 280
        line_start: 274
        source_file: /src/mosquitto/include/mosquitto/mqtt_protocol.h
    preproc_defs:
    - item_type: preproc_def
      name: PROTOCOL_NAME_v31
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/mosquitto/include/mosquitto/mqtt_protocol.h
      type_or_value: '"MQIsdp"'
    - item_type: preproc_def
      name: PROTOCOL_VERSION_v31
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/mosquitto/include/mosquitto/mqtt_protocol.h
      type_or_value: '3'
    - item_type: preproc_def
      name: PROTOCOL_NAME
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/mosquitto/include/mosquitto/mqtt_protocol.h
      type_or_value: '"MQTT"'
    - item_type: preproc_def
      name: PROTOCOL_VERSION_v311
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/mosquitto/include/mosquitto/mqtt_protocol.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PROTOCOL_VERSION_v5
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/mosquitto/include/mosquitto/mqtt_protocol.h
      type_or_value: '5'
    - item_type: preproc_def
      name: CMD_RESERVED
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/mosquitto/include/mosquitto/mqtt_protocol.h
      type_or_value: 0x00U
    - item_type: preproc_def
      name: CMD_CONNECT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/mosquitto/include/mosquitto/mqtt_protocol.h
      type_or_value: 0x10U
    - item_type: preproc_def
      name: CMD_CONNACK
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/mosquitto/include/mosquitto/mqtt_protocol.h
      type_or_value: 0x20U
    - item_type: preproc_def
      name: CMD_PUBLISH
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/mosquitto/include/mosquitto/mqtt_protocol.h
      type_or_value: 0x30U
    - item_type: preproc_def
      name: CMD_PUBACK
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/mosquitto/include/mosquitto/mqtt_protocol.h
      type_or_value: 0x40U
    - item_type: preproc_def
      name: CMD_PUBREC
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/mosquitto/include/mosquitto/mqtt_protocol.h
      type_or_value: 0x50U
    - item_type: preproc_def
      name: CMD_PUBREL
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/mosquitto/include/mosquitto/mqtt_protocol.h
      type_or_value: 0x60U
    - item_type: preproc_def
      name: CMD_PUBCOMP
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mosquitto/include/mosquitto/mqtt_protocol.h
      type_or_value: 0x70U
    - item_type: preproc_def
      name: CMD_SUBSCRIBE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/mosquitto/include/mosquitto/mqtt_protocol.h
      type_or_value: 0x80U
    - item_type: preproc_def
      name: CMD_SUBACK
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/mosquitto/include/mosquitto/mqtt_protocol.h
      type_or_value: 0x90U
    - item_type: preproc_def
      name: CMD_UNSUBSCRIBE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/mosquitto/include/mosquitto/mqtt_protocol.h
      type_or_value: 0xA0U
    - item_type: preproc_def
      name: CMD_UNSUBACK
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/mosquitto/include/mosquitto/mqtt_protocol.h
      type_or_value: 0xB0U
    - item_type: preproc_def
      name: CMD_PINGREQ
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/mosquitto/include/mosquitto/mqtt_protocol.h
      type_or_value: 0xC0U
    - item_type: preproc_def
      name: CMD_PINGRESP
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/mosquitto/include/mosquitto/mqtt_protocol.h
      type_or_value: 0xD0U
    - item_type: preproc_def
      name: CMD_DISCONNECT
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/mosquitto/include/mosquitto/mqtt_protocol.h
      type_or_value: 0xE0U
    - item_type: preproc_def
      name: CMD_AUTH
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/mosquitto/include/mosquitto/mqtt_protocol.h
      type_or_value: 0xF0U
    - item_type: preproc_def
      name: CMD_WILL
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/mosquitto/include/mosquitto/mqtt_protocol.h
      type_or_value: '0x100'
    - item_type: preproc_def
      name: MQTT_MAX_PAYLOAD
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/mosquitto/include/mosquitto/mqtt_protocol.h
      type_or_value: 268435455U
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto/libcommon_time.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto/libmosquitto_socks.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/include/mosquitto/libmosquitto_tls.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LIB_LOAD
  - LIB_CLOSE
  - LIB_SYM
  - LIB_LOAD
  - LIB_CLOSE
  - LIB_SYM
  - LIB_SYM_EASY
  source_file: /src/mosquitto/common/lib_load.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/common/json_help.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - json_get_bool
  - json_get_int
  - json_get_int64
  - json_get_string
  - cJSON_AddIntToObject
  - cJSON_AddUIntToObject
  source_file: /src/mosquitto/common/json_help.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_plugin_init
  source_file: /src/mosquitto/plugins/sparkplug-aware/plugin.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/plugins/sparkplug-aware/plugin_global.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLUGIN_NAME
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/mosquitto/plugins/sparkplug-aware/plugin_global.h
      type_or_value: '"sparkplug-aware"'
    - item_type: preproc_def
      name: PLUGIN_VERSION
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/mosquitto/plugins/sparkplug-aware/plugin_global.h
      type_or_value: '"1.0"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - plugin__message_in_callback
  source_file: /src/mosquitto/plugins/sparkplug-aware/on_message.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - persist_sqlite__base_msg_add_cb
  - persist_sqlite__base_msg_remove_cb
  - persist_sqlite__base_msg_clear
  source_file: /src/mosquitto/plugins/persist-sqlite/base_msgs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - persist_sqlite__subscription_add_cb
  - persist_sqlite__subscription_remove_cb
  source_file: /src/mosquitto/plugins/persist-sqlite/subscriptions.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - persist_sqlite__client_msg_remove
  source_file: /src/mosquitto/plugins/persist-sqlite/common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sqlite3_bind_text_from_c_str
  - sqlite3_bind_text_from_optional_c_str
  - sqlite3_bind_blob_optional
  - sqlite3_single_step_stmt
  - properties_to_json_str
  source_file: /src/mosquitto/plugins/persist-sqlite/util.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - persist_sqlite__will_add_cb
  - persist_sqlite__will_remove_cb
  source_file: /src/mosquitto/plugins/persist-sqlite/will.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - persist_sqlite__tick_cb
  source_file: /src/mosquitto/plugins/persist-sqlite/tick.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - conf_parse_uint
  - set_defaults
  - get_db_file
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  source_file: /src/mosquitto/plugins/persist-sqlite/plugin.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - UNUSED
  source_file: /src/mosquitto/plugins/persist-sqlite/persist_sqlite.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*db_file'
        type: char
      - name: '*db'
        type: sqlite3
      - name: '*client_add_stmt'
        type: sqlite3_stmt
      - name: '*client_remove_stmt'
        type: sqlite3_stmt
      - name: '*client_update_stmt'
        type: sqlite3_stmt
      - name: '*subscription_add_stmt'
        type: sqlite3_stmt
      - name: '*subscription_remove_stmt'
        type: sqlite3_stmt
      - name: '*subscription_clear_stmt'
        type: sqlite3_stmt
      - name: '*client_msg_add_stmt'
        type: sqlite3_stmt
      - name: '*client_msg_remove_stmt'
        type: sqlite3_stmt
      - name: '*client_msg_update_stmt'
        type: sqlite3_stmt
      - name: '*client_msg_clear_stmt'
        type: sqlite3_stmt
      - name: '*client_msg_clear_all_stmt'
        type: sqlite3_stmt
      - name: '*base_msg_add_stmt'
        type: sqlite3_stmt
      - name: '*base_msg_remove_stmt'
        type: sqlite3_stmt
      - name: '*base_msg_remove_for_clientid_stmt'
        type: sqlite3_stmt
      - name: '*base_msg_load_stmt'
        type: sqlite3_stmt
      - name: '*retain_msg_set_stmt'
        type: sqlite3_stmt
      - name: '*retain_msg_remove_stmt'
        type: sqlite3_stmt
      - name: '*will_add_stmt'
        type: sqlite3_stmt
      - name: '*will_remove_stmt'
        type: sqlite3_stmt
      - name: synchronous
        type: int
      - name: event_count
        type: unsigned int
      - name: flush_period
        type: unsigned int
      - name: page_size
        type: unsigned int
      item_type: struct
      name: mosquitto_sqlite
      pos:
        line_end: 55
        line_start: 29
        source_file: /src/mosquitto/plugins/persist-sqlite/persist_sqlite.h
    typedefs: []
    union: []
- function_names:
  - extract_version_numbers
  - create_tables_1_1
  - create_tables
  - prepare_statements
  - persist_sqlite__init
  - persist_sqlite__cleanup
  source_file: /src/mosquitto/plugins/persist-sqlite/init.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - persist_sqlite__client_add_cb
  - persist_sqlite__client_remove_cb
  - persist_sqlite__client_update_cb
  source_file: /src/mosquitto/plugins/persist-sqlite/clients.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hex2nibble
  - json_to_properties
  - cJSON_ArrayForEach
  - client_restore
  - subscription_restore
  - base_msg_restore
  - client_msg_restore
  - retain_restore
  - publish_will_msg
  - will_restore
  - persist_sqlite__restore_cb
  source_file: /src/mosquitto/plugins/persist-sqlite/restore.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - persist_sqlite__retain_msg_set_cb
  - persist_sqlite__retain_msg_remove_cb
  source_file: /src/mosquitto/plugins/persist-sqlite/retain_msgs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - persist_sqlite__client_msg_add_cb
  - persist_sqlite__client_msg_remove_cb
  - persist_sqlite__client_msg_update_cb
  - persist_sqlite__client_msg_clear
  source_file: /src/mosquitto/plugins/persist-sqlite/client_msgs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - role_cmp
  - role__free_acl
  - role__free_all_acls
  - role__free_item
  - dynsec_roles__find
  - dynsec_roles__cleanup
  - role__kick_all
  - add_single_acl_to_json
  - HASH_ITER
  - add_acls_to_json
  - dynsec_roles__config_save
  - insert_acl_cmp
  - dynsec_roles__acl_load
  - cJSON_ArrayForEach
  - dynsec_roles__config_load
  - cJSON_ArrayForEach
  - dynsec_roles__process_create
  - role__remove_all_clients
  - role__remove_all_groups
  - dynsec_roles__process_delete
  - add_role_to_json
  - dynsec_roles__process_list
  - dynsec_roles__process_add_acl
  - dynsec_roles__process_remove_acl
  - dynsec_roles__process_get
  - dynsec_roles__process_modify
  source_file: /src/mosquitto/plugins/dynamic-security/roles.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dynsec_grouplist__cmp
  - dynsec_grouplist__all_to_json
  - HASH_ITER
  - dynsec_grouplist__add
  - dynsec_grouplist__cleanup
  - dynsec_grouplist__remove
  source_file: /src/mosquitto/plugins/dynamic-security/grouplist.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - acl_check_publish_c_recv
  - HASH_ITER
  - acl_check_publish_c_send
  - HASH_ITER
  - acl_check_subscribe
  - HASH_ITER
  - acl_check_unsubscribe
  - HASH_ITER
  - acl_check
  - dynsec__acl_check_callback
  source_file: /src/mosquitto/plugins/dynamic-security/acl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*MOSQ_FUNC_acl_check)(struct dynsec__data *data, struct mosquitto_evt_acl_check
        *, struct dynsec__rolelist *)
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/mosquitto/plugins/dynamic-security/acl.c
      type: int
    union: []
- function_names:
  - dynsec_kicklist__add
  - dynsec_kicklist__kick
  - dynsec_kicklist__cleanup
  source_file: /src/mosquitto/plugins/dynamic-security/kicklist.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - group__kick_all
  - group_cmp
  - dynsec_groups__find
  - group__free_item
  - dynsec_groups__process_add_role
  - dynsec_groups__cleanup
  - dynsec_groups__config_load
  - cJSON_ArrayForEach
  - cJSON_ArrayForEach
  - cJSON_ArrayForEach
  - dynsec__config_add_groups
  - dynsec_groups__config_save
  - dynsec_groups__process_create
  - dynsec_groups__process_delete
  - dynsec_groups__add_client
  - dynsec_groups__process_add_client
  - dynsec__remove_all_clients_from_group
  - dynsec__remove_all_roles_from_group
  - dynsec_groups__remove_client
  - dynsec_groups__process_remove_client
  - add_group_to_json
  - dynsec_groups__process_list
  - dynsec_groups__process_get
  - dynsec_groups__process_remove_role
  - dynsec_groups__process_modify
  - cJSON_ArrayForEach
  - cJSON_ArrayForEach
  - dynsec_groups__process_set_anonymous_group
  - dynsec_groups__process_get_anonymous_group
  source_file: /src/mosquitto/plugins/dynamic-security/groups.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dynsec_details__process_get
  source_file: /src/mosquitto/plugins/dynamic-security/details.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dynsec_clientlist__cmp
  - dynsec_clientlist__kick_all
  - HASH_ITER
  - dynsec_clientlist__all_to_json
  - HASH_ITER
  - dynsec_clientlist__add
  - dynsec_clientlist__cleanup
  - dynsec_clientlist__remove
  source_file: /src/mosquitto/plugins/dynamic-security/clientlist.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dynsec__process_set_default_acl_access
  - cJSON_ArrayForEach
  - dynsec__process_get_default_acl_access
  source_file: /src/mosquitto/plugins/dynamic-security/default_acl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/plugins/dynamic-security/dynamic_security.h
  types:
    enum:
    - enumerators:
      - name: dpwim_file
        value: '1'
      - name: dpwim_env
        value: '2'
      - name: dpwim_random
        value: '3'
      item_type: enum
      name: dynsec_pw_init_mode
      pos:
        line_end: 141
        line_start: 137
        source_file: /src/mosquitto/plugins/dynamic-security/dynamic_security.h
    preproc_defs:
    - item_type: preproc_def
      name: PRIORITY_MAX
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/mosquitto/plugins/dynamic-security/dynamic_security.h
      type_or_value: '100000'
    - item_type: preproc_def
      name: ACL_TYPE_PUB_C_RECV
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/mosquitto/plugins/dynamic-security/dynamic_security.h
      type_or_value: '"publishClientReceive"'
    - item_type: preproc_def
      name: ACL_TYPE_PUB_C_SEND
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/mosquitto/plugins/dynamic-security/dynamic_security.h
      type_or_value: '"publishClientSend"'
    - item_type: preproc_def
      name: ACL_TYPE_SUB_GENERIC
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/mosquitto/plugins/dynamic-security/dynamic_security.h
      type_or_value: '"subscribe"'
    - item_type: preproc_def
      name: ACL_TYPE_SUB_LITERAL
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/mosquitto/plugins/dynamic-security/dynamic_security.h
      type_or_value: '"subscribeLiteral"'
    - item_type: preproc_def
      name: ACL_TYPE_SUB_PATTERN
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/mosquitto/plugins/dynamic-security/dynamic_security.h
      type_or_value: '"subscribePattern"'
    - item_type: preproc_def
      name: ACL_TYPE_UNSUB_GENERIC
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/mosquitto/plugins/dynamic-security/dynamic_security.h
      type_or_value: '"unsubscribe"'
    - item_type: preproc_def
      name: ACL_TYPE_UNSUB_LITERAL
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/mosquitto/plugins/dynamic-security/dynamic_security.h
      type_or_value: '"unsubscribeLiteral"'
    - item_type: preproc_def
      name: ACL_TYPE_UNSUB_PATTERN
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/mosquitto/plugins/dynamic-security/dynamic_security.h
      type_or_value: '"unsubscribePattern"'
    - item_type: preproc_def
      name: ERR_USER_NOT_FOUND
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/mosquitto/plugins/dynamic-security/dynamic_security.h
      type_or_value: '10000'
    - item_type: preproc_def
      name: ERR_GROUP_NOT_FOUND
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/mosquitto/plugins/dynamic-security/dynamic_security.h
      type_or_value: '10001'
    - item_type: preproc_def
      name: ERR_LIST_NOT_FOUND
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/mosquitto/plugins/dynamic-security/dynamic_security.h
      type_or_value: '10002'
    structs:
    - fields:
      - name: hh
        type: UT_hash_handle
      - name: '*client'
        type: struct dynsec__client
      - name: priority
        type: int
      item_type: struct
      name: dynsec__clientlist
      pos:
        line_end: 61
        line_start: 57
        source_file: /src/mosquitto/plugins/dynamic-security/dynamic_security.h
    - fields:
      - name: hh
        type: UT_hash_handle
      - name: '*group'
        type: struct dynsec__group
      - name: priority
        type: int
      item_type: struct
      name: dynsec__grouplist
      pos:
        line_end: 67
        line_start: 63
        source_file: /src/mosquitto/plugins/dynamic-security/dynamic_security.h
    - fields:
      - name: hh
        type: UT_hash_handle
      - name: '*role'
        type: struct dynsec__role
      - name: priority
        type: int
      - name: rolename[]
        type: char
      item_type: struct
      name: dynsec__rolelist
      pos:
        line_end: 74
        line_start: 69
        source_file: /src/mosquitto/plugins/dynamic-security/dynamic_security.h
    - fields:
      - name: '*next'
        type: struct dynsec__kicklist
      - name: username[]
        type: char
      item_type: struct
      name: dynsec__kicklist
      pos:
        line_end: 79
        line_start: 76
        source_file: /src/mosquitto/plugins/dynamic-security/dynamic_security.h
    - fields:
      - name: hh
        type: UT_hash_handle
      - name: '*pw'
        type: struct mosquitto_pw
      - name: '*rolelist'
        type: struct dynsec__rolelist
      - name: '*grouplist'
        type: struct dynsec__grouplist
      - name: '*clientid'
        type: char
      - name: '*text_name'
        type: char
      - name: '*text_description'
        type: char
      - name: disabled
        type: bool
      - name: username[]
        type: char
      item_type: struct
      name: dynsec__client
      pos:
        line_end: 91
        line_start: 81
        source_file: /src/mosquitto/plugins/dynamic-security/dynamic_security.h
    - fields:
      - name: hh
        type: UT_hash_handle
      - name: '*rolelist'
        type: struct dynsec__rolelist
      - name: '*clientlist'
        type: struct dynsec__clientlist
      - name: '*text_name'
        type: char
      - name: '*text_description'
        type: char
      - name: groupname[]
        type: char
      item_type: struct
      name: dynsec__group
      pos:
        line_end: 100
        line_start: 93
        source_file: /src/mosquitto/plugins/dynamic-security/dynamic_security.h
    - fields:
      - name: hh
        type: UT_hash_handle
      - name: priority
        type: int
      - name: allow
        type: bool
      - name: topic[]
        type: char
      item_type: struct
      name: dynsec__acl
      pos:
        line_end: 108
        line_start: 103
        source_file: /src/mosquitto/plugins/dynamic-security/dynamic_security.h
    - fields:
      - name: '*publish_c_send'
        type: struct dynsec__acl
      - name: '*publish_c_recv'
        type: struct dynsec__acl
      - name: '*subscribe_literal'
        type: struct dynsec__acl
      - name: '*subscribe_pattern'
        type: struct dynsec__acl
      - name: '*unsubscribe_literal'
        type: struct dynsec__acl
      - name: '*unsubscribe_pattern'
        type: struct dynsec__acl
      item_type: struct
      name: dynsec__acls
      pos:
        line_end: 117
        line_start: 110
        source_file: /src/mosquitto/plugins/dynamic-security/dynamic_security.h
    - fields:
      - name: hh
        type: UT_hash_handle
      - name: acls
        type: struct dynsec__acls
      - name: '*clientlist'
        type: struct dynsec__clientlist
      - name: '*grouplist'
        type: struct dynsec__grouplist
      - name: '*text_name'
        type: char
      - name: '*text_description'
        type: char
      - name: allow_wildcard_subs
        type: bool
      - name: rolename[]
        type: char
      item_type: struct
      name: dynsec__role
      pos:
        line_end: 128
        line_start: 119
        source_file: /src/mosquitto/plugins/dynamic-security/dynamic_security.h
    - fields:
      - name: publish_c_send
        type: bool
      - name: publish_c_recv
        type: bool
      - name: subscribe
        type: bool
      - name: unsubscribe
        type: bool
      item_type: struct
      name: dynsec__acl_default_access
      pos:
        line_end: 135
        line_start: 130
        source_file: /src/mosquitto/plugins/dynamic-security/dynamic_security.h
    - fields:
      - name: '*config_file'
        type: char
      - name: '*password_init_file'
        type: char
      - name: '*clients'
        type: struct dynsec__client
      - name: '*groups'
        type: struct dynsec__group
      - name: '*roles'
        type: struct dynsec__role
      - name: '*anonymous_group'
        type: struct dynsec__group
      - name: '*kicklist'
        type: struct dynsec__kicklist
      - name: default_access
        type: struct dynsec__acl_default_access
      - name: changeindex
        type: int64_t
      - name: init_mode
        type: int
      - name: need_save
        type: bool
      item_type: struct
      name: dynsec__data
      pos:
        line_end: 155
        line_start: 143
        source_file: /src/mosquitto/plugins/dynamic-security/dynamic_security.h
    typedefs: []
    union: []
- function_names:
  - dynsec__tick_callback
  source_file: /src/mosquitto/plugins/dynamic-security/tick.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dynsec__handle_command
  - dynsec_control_callback
  source_file: /src/mosquitto/plugins/dynamic-security/control.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RESPONSE_TOPIC
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/mosquitto/plugins/dynamic-security/control.c
      type_or_value: '"$CONTROL/dynamic-security/v1/response"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  source_file: /src/mosquitto/plugins/dynamic-security/plugin.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PATH_MAX
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/mosquitto/plugins/dynamic-security/plugin.c
      type_or_value: MAX_PATH
    structs: []
    typedefs: []
    union: []
- function_names:
  - client_cmp
  - dynsec_clients__find
  - client__free_item
  - dynsec_clients__cleanup
  - dynsec_clients__config_load
  - cJSON_ArrayForEach
  - cJSON_ArrayForEach
  - dynsec__config_add_clients
  - dynsec_clients__config_save
  - dynsec_clients__process_create
  - cJSON_ArrayForEach
  - dynsec_clients__process_delete
  - dynsec_clients__process_disable
  - dynsec_clients__process_enable
  - dynsec_clients__process_set_id
  - client__set_password
  - dynsec_clients__process_set_password
  - client__add_new_roles
  - HASH_ITER
  - client__remove_all_roles
  - dynsec_clients__process_modify
  - cJSON_ArrayForEach
  - cJSON_ArrayForEach
  - dynsec__remove_client_from_all_groups
  - dynsec__add_client_address
  - dynsec_connections__all_to_json
  - add_client_to_json
  - dynsec_clients__process_get
  - dynsec_clients__process_list
  - dynsec_clients__process_add_role
  - dynsec_clients__process_remove_role
  source_file: /src/mosquitto/plugins/dynamic-security/clients.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*username'
        type: char
      - name: '*j_connections'
        type: cJSON
      item_type: struct
      name: connection_array_context
      pos:
        line_end: 30
        line_start: 27
        source_file: /src/mosquitto/plugins/dynamic-security/clients.c
    typedefs: []
    union: []
- function_names:
  - dynsec__general_config_load
  - dynsec__general_config_save
  - dynsec__config_from_json
  - dynsec__config_load
  - dynsec__config_to_json
  - dynsec__log_write_error
  - dynsec__write_json_config
  - dynsec__config_batch_save
  - dynsec__config_save
  source_file: /src/mosquitto/plugins/dynamic-security/config.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - add_default_access
  - get_password_from_init_file
  - generate_password
  - client_role_add
  - client_add_admin
  - client_add_user
  - add_clients
  - group_add_anon
  - add_groups
  - acl_add
  - add_role_with_full_permission
  - role_add_sys_notify
  - role_add_sys_observe
  - role_add_topic_observe
  - add_roles
  - dynsec__config_init
  source_file: /src/mosquitto/plugins/dynamic-security/config_init.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rolelist_cmp
  - dynsec_rolelist__free_item
  - dynsec_rolelist__cleanup
  - dynsec_rolelist__remove_role
  - dynsec_rolelist__client_remove
  - dynsec_rolelist__group_remove
  - dynsec_rolelist__add
  - dynsec_rolelist__client_add
  - dynsec_rolelist__group_add
  - dynsec_rolelist__load_from_json
  - cJSON_ArrayForEach
  - dynsec_rolelist__all_to_json
  - HASH_ITER
  source_file: /src/mosquitto/plugins/dynamic-security/rolelist.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dynsec_auth__basic_auth_callback
  source_file: /src/mosquitto/plugins/dynamic-security/auth.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - acl__add_to_user
  - acl__find_or_create_user
  - acl__add
  - acl__add_pattern
  - acl_file__parse
  - acl__free_entries
  - acl_file__cleanup
  - acl_file__reload
  source_file: /src/mosquitto/plugins/acl-file/acl_parse.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle_options
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  source_file: /src/mosquitto/plugins/acl-file/plugin.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLUGIN_NAME
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/mosquitto/plugins/acl-file/plugin.c
      type_or_value: '"acl-file"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - acl_file__check
  source_file: /src/mosquitto/plugins/acl-file/acl_check.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - password_file__parse
  - password_file__cleanup
  - password_file__reload
  source_file: /src/mosquitto/plugins/password-file/password_parse.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - password_file__check
  source_file: /src/mosquitto/plugins/password-file/password_check.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle_options
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  source_file: /src/mosquitto/plugins/password-file/plugin.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLUGIN_NAME
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/mosquitto/plugins/password-file/plugin.c
      type_or_value: '"password-file"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - UNUSED
  - connect_callback
  - disconnect_callback
  - acl_check_callback
  - tick_callback
  - DL_FOREACH_SAFE
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  - HASH_ITER
  source_file: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLUGIN_NAME
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c
      type_or_value: '"wildcard-temp"'
    - item_type: preproc_def
      name: PLUGIN_VERSION
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c
      type_or_value: '"1.0"'
    - item_type: preproc_def
      name: ACCESS_PERIOD
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c
      type_or_value: '20'
    structs:
    - fields:
      - name: hh
        type: UT_hash_handle
      - name: '*next'
        type: struct client_list
      - name: sub_end
        type: time_t
      - name: sub_status
        type: uint8_t
      - name: id[]
        type: char
      item_type: struct
      name: client_list
      pos:
        line_end: 72
        line_start: 66
        source_file: /src/mosquitto/plugins/examples/wildcard-temp/mosquitto_wildcard_temp.c
    typedefs: []
    union: []
- function_names:
  - callback_message_in
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  source_file: /src/mosquitto/plugins/examples/message-timestamp/mosquitto_message_timestamp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLUGIN_NAME
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/mosquitto/plugins/examples/message-timestamp/mosquitto_message_timestamp.c
      type_or_value: '"message-timestamp"'
    - item_type: preproc_def
      name: PLUGIN_VERSION
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/mosquitto/plugins/examples/message-timestamp/mosquitto_message_timestamp.c
      type_or_value: '"1.0"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - UNUSED
  - callback_message_in
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  source_file: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLUGIN_NAME
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c
      type_or_value: '"topic-hierarchy-flatten"'
    structs:
    - fields:
      - name: '*pid'
        type: mosquitto_plugin_id_t
      - name: '*input_topic_filter'
        type: char
      - name: '*output_topic'
        type: char
      - name: republish
        type: bool
      item_type: struct
      name: plugin_data
      pos:
        line_end: 57
        line_start: 52
        source_file: /src/mosquitto/plugins/examples/topic-hierarchy-flatten/mosquitto_topic_hierarchy_flatten.c
    typedefs: []
    union: []
- function_names:
  - UNUSED
  - callback_message_in
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  source_file: /src/mosquitto/plugins/examples/topic-modification/mosquitto_topic_modification.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLUGIN_NAME
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/mosquitto/plugins/examples/topic-modification/mosquitto_topic_modification.c
      type_or_value: '"topic-modification"'
    - item_type: preproc_def
      name: PLUGIN_VERSION
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/mosquitto/plugins/examples/topic-modification/mosquitto_topic_modification.c
      type_or_value: '"1.0"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - UNUSED
  - callback_message_in
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  source_file: /src/mosquitto/plugins/examples/force-retain/mosquitto_force_retain.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLUGIN_NAME
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/mosquitto/plugins/examples/force-retain/mosquitto_force_retain.c
      type_or_value: '"force-retain"'
    - item_type: preproc_def
      name: PLUGIN_VERSION
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/mosquitto/plugins/examples/force-retain/mosquitto_force_retain.c
      type_or_value: '"1.0"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - UNUSED
  - callback_message_in
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  source_file: /src/mosquitto/plugins/examples/client-properties/mosquitto_client_properties.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLUGIN_NAME
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/mosquitto/plugins/examples/client-properties/mosquitto_client_properties.c
      type_or_value: '"client-properties"'
    - item_type: preproc_def
      name: PLUGIN_VERSION
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/mosquitto/plugins/examples/client-properties/mosquitto_client_properties.c
      type_or_value: '"1.0"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - UNUSED
  - tick_callback
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  source_file: /src/mosquitto/plugins/examples/tick-interval/mosquitto_tick_interval.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLUGIN_NAME
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/mosquitto/plugins/examples/tick-interval/mosquitto_tick_interval.c
      type_or_value: '"tick-interval"'
    - item_type: preproc_def
      name: PLUGIN_VERSION
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/mosquitto/plugins/examples/tick-interval/mosquitto_tick_interval.c
      type_or_value: 'NULL'
    structs:
    - fields:
      - name: '*pid'
        type: mosquitto_plugin_id_t
      - name: interval
        type: int
      item_type: struct
      name: plugin_data
      pos:
        line_end: 60
        line_start: 57
        source_file: /src/mosquitto/plugins/examples/tick-interval/mosquitto_tick_interval.c
    typedefs: []
    union: []
- function_names:
  - UNUSED
  - callback_message_in
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  source_file: /src/mosquitto/plugins/examples/payload-modification/mosquitto_payload_modification.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLUGIN_NAME
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/mosquitto/plugins/examples/payload-modification/mosquitto_payload_modification.c
      type_or_value: '"payload-modification"'
    - item_type: preproc_def
      name: PLUGIN_VERSION
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/mosquitto/plugins/examples/payload-modification/mosquitto_payload_modification.c
      type_or_value: '"1.0"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - UNUSED
  - callback_subscribe
  - mosquitto_plugin_init
  source_file: /src/mosquitto/plugins/examples/limit-subscription-qos/mosquitto_limit_subscription_qos.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLUGIN_NAME
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/mosquitto/plugins/examples/limit-subscription-qos/mosquitto_limit_subscription_qos.c
      type_or_value: '"limit-subscription-qos"'
    - item_type: preproc_def
      name: PLUGIN_VERSION
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/mosquitto/plugins/examples/limit-subscription-qos/mosquitto_limit_subscription_qos.c
      type_or_value: '"1.0"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - callback_message_in
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  source_file: /src/mosquitto/plugins/examples/add-properties/mosquitto_add_properties.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TS_BUF_LEN
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/mosquitto/plugins/examples/add-properties/mosquitto_add_properties.c
      type_or_value: "(14+1)  // 14 characters in unix epoch (ms) is \u224816 Nov
        5138"
    - item_type: preproc_def
      name: PLUGIN_NAME
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/mosquitto/plugins/examples/add-properties/mosquitto_add_properties.c
      type_or_value: '"add-properties"'
    - item_type: preproc_def
      name: PLUGIN_VERSION
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/mosquitto/plugins/examples/add-properties/mosquitto_add_properties.c
      type_or_value: '"1.0"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - basic_auth_callback
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  source_file: /src/mosquitto/plugins/examples/auth-by-ip/mosquitto_auth_by_ip.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLUGIN_NAME
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/mosquitto/plugins/examples/auth-by-ip/mosquitto_auth_by_ip.c
      type_or_value: '"auth-by-ip"'
    - item_type: preproc_def
      name: PLUGIN_VERSION
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/mosquitto/plugins/examples/auth-by-ip/mosquitto_auth_by_ip.c
      type_or_value: '"1.0"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - UNUSED
  - is_jailed
  - callback_message_in
  - callback_message_out
  - callback_subscribe
  - callback_unsubscribe
  - mosquitto_plugin_init
  source_file: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLUGIN_NAME
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c
      type_or_value: '"topic-jail"'
    - item_type: preproc_def
      name: PLUGIN_VERSION
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/mosquitto/plugins/examples/topic-jail/mosquitto_topic_jail.c
      type_or_value: '"1.0"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - callback_tick
  - callback_message_in
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  source_file: /src/mosquitto/plugins/examples/payload-size-stats/mosquitto_payload_size_stats.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIZE_COUNT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/mosquitto/plugins/examples/payload-size-stats/mosquitto_payload_size_stats.c
      type_or_value: '28'
    structs: []
    typedefs: []
    union: []
- function_names:
  - basic_auth_callback
  - acl_check_callback
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  - HASH_ITER
  source_file: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLUGIN_NAME
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c
      type_or_value: '"payload-ban"'
    - item_type: preproc_def
      name: PLUGIN_VERSION
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c
      type_or_value: '"1.0"'
    structs:
    - fields:
      - name: hh_by_address
        type: UT_hash_handle
      - name: hh_by_id
        type: UT_hash_handle
      - name: ip_address[50]
        type: char
      - name: clientid[]
        type: char
      item_type: struct
      name: banlist
      pos:
        line_end: 53
        line_start: 48
        source_file: /src/mosquitto/plugins/examples/payload-ban/mosquitto_payload_ban.c
    typedefs: []
    union: []
- function_names:
  - UNUSED
  - authentication_check
  - basic_auth_callback
  - tick_callback
  - HASH_ITER
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  - HASH_ITER
  source_file: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLUGIN_NAME
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c
      type_or_value: '"delayed-auth"'
    - item_type: preproc_def
      name: PLUGIN_VERSION
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c
      type_or_value: '"1.0"'
    structs:
    - fields:
      - name: hh
        type: UT_hash_handle
      - name: '*id'
        type: char
      - name: request_time
        type: time_t
      item_type: struct
      name: client_list
      pos:
        line_end: 56
        line_start: 52
        source_file: /src/mosquitto/plugins/examples/delayed-auth/mosquitto_delayed_auth.c
    typedefs: []
    union: []
- function_names:
  - callback_tick
  - callback_connect
  - callback_disconnect
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  source_file: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LIFETIME_COUNT
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c
      type_or_value: '28'
    structs:
    - fields:
      - name: hh
        type: UT_hash_handle
      - name: '*id'
        type: char
      - name: connect
        type: time_t
      item_type: struct
      name: lifetime_s
      pos:
        line_end: 48
        line_start: 44
        source_file: /src/mosquitto/plugins/examples/client-lifetime-stats/mosquitto_client_lifetime_stats.c
    typedefs: []
    union: []
- function_names:
  - callback_tick
  - callback_counter
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  source_file: /src/mosquitto/plugins/examples/plugin-event-stats/mosquitto_plugin_event_stats.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLUGIN_NAME
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/mosquitto/plugins/examples/plugin-event-stats/mosquitto_plugin_event_stats.c
      type_or_value: '"plugin-event-stats"'
    - item_type: preproc_def
      name: PLUGIN_VERSION
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/mosquitto/plugins/examples/plugin-event-stats/mosquitto_plugin_event_stats.c
      type_or_value: '"1.0"'
    - item_type: preproc_def
      name: MAX_EVT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/mosquitto/plugins/examples/plugin-event-stats/mosquitto_plugin_event_stats.c
      type_or_value: MOSQ_EVT_MESSAGE_OUT
    - item_type: preproc_def
      name: TOPIC_BASE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/mosquitto/plugins/examples/plugin-event-stats/mosquitto_plugin_event_stats.c
      type_or_value: '"$SYS/broker/plugin/events/"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - callback_message_in
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  source_file: /src/mosquitto/plugins/examples/print-ip-on-publish/mosquitto_print_ip_on_publish.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLUGIN_NAME
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/mosquitto/plugins/examples/print-ip-on-publish/mosquitto_print_ip_on_publish.c
      type_or_value: '"print-ip-on-publish"'
    - item_type: preproc_def
      name: PLUGIN_VERSION
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/mosquitto/plugins/examples/print-ip-on-publish/mosquitto_print_ip_on_publish.c
      type_or_value: '"1.0"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_plugin_version
  - basic_auth_callback
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  source_file: /src/mosquitto/plugins/examples/deny-protocol-version/mosquitto_deny_protocol_version.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - UNUSED
  - connect_callback
  - disconnect_callback
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  source_file: /src/mosquitto/plugins/examples/connection-state/mosquitto_connection_state.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLUGIN_NAME
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/mosquitto/plugins/examples/connection-state/mosquitto_connection_state.c
      type_or_value: '"connection-state"'
    - item_type: preproc_def
      name: PLUGIN_VERSION
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/mosquitto/plugins/examples/connection-state/mosquitto_connection_state.c
      type_or_value: '"1.0"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - basic_auth_callback
  - mosquitto_plugin_init
  - mosquitto_plugin_cleanup
  source_file: /src/mosquitto/plugins/examples/auth-by-env/mosquitto_auth_by_env.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ENV_MOSQUITTO_PASSWORD
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/mosquitto/plugins/examples/auth-by-env/mosquitto_auth_by_env.c
      type_or_value: '"MOSQUITTO_PASSWORD"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - DECLTYPE
  - DECLTYPE
  - DECLTYPE
  - DECLTYPE_ASSIGN
  - DECLTYPE_ASSIGN
  - uthash_malloc
  - uthash_free
  - uthash_bzero
  - uthash_strlen
  - HASH_FUNCTION
  - HASH_KEYCMP
  - uthash_nonfatal_oom
  - HASH_RECORD_OOM
  - IF_HASH_NONFATAL_OOM
  - uthash_fatal
  - HASH_RECORD_OOM
  - ELMT_FROM_HH
  - HH_FROM_ELMT
  - HASH_ROLLBACK_BKT
  - HASH_VALUE
  - HASH_FIND_BYHASHVALUE
  - HASH_FIND
  - HASH_BLOOM_MAKE
  - HASH_BLOOM_FREE
  - HASH_BLOOM_BITSET
  - HASH_BLOOM_BITTEST
  - HASH_BLOOM_ADD
  - HASH_BLOOM_TEST
  - HASH_BLOOM_TEST
  - HASH_MAKE_TABLE
  - HASH_REPLACE_BYHASHVALUE_INORDER
  - HASH_REPLACE_BYHASHVALUE
  - HASH_REPLACE
  - HASH_REPLACE_INORDER
  - HASH_APPEND_LIST
  - HASH_AKBI_INNER_LOOP
  - HASH_AKBI_INNER_LOOP
  - HASH_ADD_TO_TABLE
  - HASH_ADD_TO_TABLE
  - HASH_ADD_KEYPTR_BYHASHVALUE_INORDER
  - HASH_ADD_KEYPTR_INORDER
  - HASH_ADD_BYHASHVALUE_INORDER
  - HASH_ADD_INORDER
  - HASH_ADD_KEYPTR_BYHASHVALUE
  - HASH_ADD_KEYPTR
  - HASH_ADD_BYHASHVALUE
  - HASH_ADD
  - HASH_TO_BKT
  - HASH_DELETE
  - HASH_DELETE_HH
  - HASH_FIND_STR
  - HASH_ADD_STR
  - HASH_REPLACE_STR
  - HASH_FIND_INT
  - HASH_ADD_INT
  - HASH_REPLACE_INT
  - HASH_FIND_PTR
  - HASH_ADD_PTR
  - HASH_REPLACE_PTR
  - HASH_DEL
  - HASH_OOPS
  - HASH_FSCK
  - HASH_EMIT_KEY
  - HASH_BER
  - HASH_SAX
  - HASH_FNV
  - HASH_OAT
  - HASH_JEN_MIX
  - HASH_JEN
  - get16bits
  - get16bits
  - HASH_SFH
  - HASH_FIND_IN_BKT
  - HASH_ADD_TO_BKT
  - HASH_DEL_IN_BKT
  - HASH_EXPAND_BUCKETS
  - HASH_SORT
  - HASH_SRT
  - HASH_SELECT
  - HASH_CLEAR
  - HASH_OVERHEAD
  - HASH_ITER
  - HASH_ITER
  - HASH_COUNT
  - HASH_CNT
  source_file: /src/mosquitto/deps/uthash.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UTHASH_VERSION
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/mosquitto/deps/uthash.h
      type_or_value: 2.3.0
    - item_type: preproc_def
      name: HASH_NONFATAL_OOM
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/mosquitto/deps/uthash.h
      type_or_value: '0'
    - item_type: preproc_def
      name: HASH_INITIAL_NUM_BUCKETS
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/mosquitto/deps/uthash.h
      type_or_value: '32U     '
    - item_type: preproc_def
      name: HASH_INITIAL_NUM_BUCKETS_LOG2
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/mosquitto/deps/uthash.h
      type_or_value: '5U '
    - item_type: preproc_def
      name: HASH_BKT_CAPACITY_THRESH
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/mosquitto/deps/uthash.h
      type_or_value: '10U     '
    - item_type: preproc_def
      name: HASH_BLOOM_BITLEN
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/mosquitto/deps/uthash.h
      type_or_value: (1UL << HASH_BLOOM)
    - item_type: preproc_def
      name: HASH_BLOOM_BYTELEN
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/mosquitto/deps/uthash.h
      type_or_value: '(HASH_BLOOM_BITLEN/8UL) + (((HASH_BLOOM_BITLEN%8UL)!=0UL) ?
        1UL : 0UL)'
    - item_type: preproc_def
      name: HASH_BLOOM_BYTELEN
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/mosquitto/deps/uthash.h
      type_or_value: 0U
    - item_type: preproc_def
      name: HASH_SIGNATURE
      pos:
        line_end: 1117
        line_start: 1116
        source_file: /src/mosquitto/deps/uthash.h
      type_or_value: 0xa0111fe1u
    - item_type: preproc_def
      name: HASH_BLOOM_SIGNATURE
      pos:
        line_end: 1118
        line_start: 1117
        source_file: /src/mosquitto/deps/uthash.h
      type_or_value: 0xb12220f2u
    structs:
    - fields:
      - name: '*hh_head'
        type: struct UT_hash_handle
      - name: count
        type: unsigned
      - name: expand_mult
        type: unsigned
      item_type: struct
      name: UT_hash_bucket
      pos:
        line_end: 1113
        line_start: 1095
        source_file: /src/mosquitto/deps/uthash.h
    - fields:
      - name: '*buckets'
        type: UT_hash_bucket
      - name: num_buckets
        type: unsigned
      - name: num_items
        type: unsigned
      - name: '*tail'
        type: struct UT_hash_handle
      - name: hho
        type: ptrdiff_t
      - name: ideal_chain_maxlen
        type: unsigned
      - name: nonideal_items
        type: unsigned
      - name: ineff_expands
        type: unsigned
      - name: signature
        type: uint32_t
      item_type: struct
      name: UT_hash_table
      pos:
        line_end: 1150
        line_start: 1119
        source_file: /src/mosquitto/deps/uthash.h
    - fields:
      - name: '*tbl'
        type: struct UT_hash_table
      - name: '*prev'
        type: void
      - name: '*next'
        type: void
      - name: '*hh_prev'
        type: struct UT_hash_handle
      - name: '*hh_next'
        type: struct UT_hash_handle
      - name: '*key'
        type: void
      - name: keylen
        type: unsigned
      - name: hashv
        type: unsigned
      item_type: struct
      name: UT_hash_handle
      pos:
        line_end: 1161
        line_start: 1152
        source_file: /src/mosquitto/deps/uthash.h
    typedefs: []
    union: []
- function_names:
  - LDECLTYPE
  - LDECLTYPE
  - LDECLTYPE
  - IF_NO_DECLTYPE
  - LDECLTYPE
  - UTLIST_SV
  - UTLIST_NEXT
  - UTLIST_NEXTASGN
  - UTLIST_PREVASGN
  - UTLIST_RS
  - UTLIST_CASTASGN
  - UTLIST_NEXT
  - UTLIST_NEXTASGN
  - UTLIST_PREVASGN
  - UTLIST_CASTASGN
  - LL_SORT
  - LL_SORT2
  - DL_SORT
  - DL_SORT2
  - CDL_SORT
  - CDL_SORT2
  - LL_PREPEND
  - LL_PREPEND2
  - LL_CONCAT
  - LL_CONCAT2
  - LL_APPEND
  - LL_APPEND2
  - LL_INSERT_INORDER
  - LL_INSERT_INORDER2
  - LL_LOWER_BOUND
  - LL_LOWER_BOUND2
  - LL_DELETE
  - LL_DELETE2
  - LL_COUNT
  - LL_COUNT2
  - LL_FOREACH
  - LL_FOREACH2
  - LL_FOREACH_SAFE
  - LL_FOREACH_SAFE2
  - LL_SEARCH_SCALAR
  - LL_SEARCH_SCALAR2
  - LL_SEARCH
  - LL_SEARCH2
  - LL_REPLACE_ELEM2
  - LL_REPLACE_ELEM
  - LL_PREPEND_ELEM2
  - LL_PREPEND_ELEM
  - LL_APPEND_ELEM2
  - LL_APPEND_ELEM
  - LL_CONCAT2
  - LL_APPEND2
  - LL_INSERT_INORDER2
  - LL_DELETE2
  - LL_REPLACE_ELEM2
  - LL_PREPEND_ELEM2
  - DL_PREPEND
  - DL_PREPEND2
  - DL_APPEND
  - DL_APPEND2
  - DL_INSERT_INORDER
  - DL_INSERT_INORDER2
  - DL_LOWER_BOUND
  - DL_LOWER_BOUND2
  - DL_CONCAT
  - DL_CONCAT2
  - DL_DELETE
  - DL_DELETE2
  - DL_COUNT
  - DL_COUNT2
  - DL_FOREACH
  - DL_FOREACH2
  - DL_FOREACH_SAFE
  - DL_FOREACH_SAFE2
  - DL_REPLACE_ELEM2
  - DL_REPLACE_ELEM
  - DL_PREPEND_ELEM2
  - DL_PREPEND_ELEM
  - DL_APPEND_ELEM2
  - DL_APPEND_ELEM
  - DL_INSERT_INORDER2
  - CDL_APPEND
  - CDL_APPEND2
  - CDL_PREPEND
  - CDL_PREPEND2
  - CDL_INSERT_INORDER
  - CDL_INSERT_INORDER2
  - CDL_LOWER_BOUND
  - CDL_LOWER_BOUND2
  - CDL_DELETE
  - CDL_DELETE2
  - CDL_COUNT
  - CDL_COUNT2
  - CDL_FOREACH
  - CDL_FOREACH2
  - CDL_FOREACH_SAFE
  - CDL_FOREACH_SAFE2
  - CDL_SEARCH_SCALAR
  - CDL_SEARCH_SCALAR2
  - CDL_SEARCH
  - CDL_SEARCH2
  - CDL_REPLACE_ELEM2
  - CDL_REPLACE_ELEM
  - CDL_PREPEND_ELEM2
  - CDL_PREPEND_ELEM
  - CDL_APPEND_ELEM2
  - CDL_APPEND_ELEM
  - CDL_INSERT_INORDER2
  source_file: /src/mosquitto/deps/utlist.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UTLIST_VERSION
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/mosquitto/deps/utlist.h
      type_or_value: 2.3.0
    - item_type: preproc_def
      name: DL_SEARCH_SCALAR
      pos:
        line_end: 751
        line_start: 750
        source_file: /src/mosquitto/deps/utlist.h
      type_or_value: LL_SEARCH_SCALAR
    - item_type: preproc_def
      name: DL_SEARCH
      pos:
        line_end: 752
        line_start: 751
        source_file: /src/mosquitto/deps/utlist.h
      type_or_value: LL_SEARCH
    - item_type: preproc_def
      name: DL_SEARCH_SCALAR2
      pos:
        line_end: 753
        line_start: 752
        source_file: /src/mosquitto/deps/utlist.h
      type_or_value: LL_SEARCH_SCALAR2
    - item_type: preproc_def
      name: DL_SEARCH2
      pos:
        line_end: 754
        line_start: 753
        source_file: /src/mosquitto/deps/utlist.h
      type_or_value: LL_SEARCH2
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/deps/picohttpparser/picohttpparser.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ssize_t
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/mosquitto/deps/picohttpparser/picohttpparser.h
      type_or_value: intptr_t
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: name_len
        type: size_t
      - name: '*value'
        type: char
      - name: value_len
        type: size_t
      item_type: struct
      name: phr_header
      pos:
        line_end: 46
        line_start: 41
        source_file: /src/mosquitto/deps/picohttpparser/picohttpparser.h
    - fields:
      - name: bytes_left_in_chunk
        type: size_t
      - name: consume_trailer
        type: char
      - name: _hex_count
        type: char
      - name: _state
        type: char
      item_type: struct
      name: phr_chunked_decoder
      pos:
        line_end: 66
        line_start: 61
        source_file: /src/mosquitto/deps/picohttpparser/picohttpparser.h
    typedefs: []
    union: []
- function_names:
  - likely
  - unlikely
  - likely
  - unlikely
  - ALIGNED
  - ALIGNED
  - IS_PRINTABLE_ASCII
  - CHECK_EOF
  - EXPECT_CHAR_NO_CHECK
  - EXPECT_CHAR
  - ADVANCE_TOKEN
  - findchar_fast
  - get_token_to_eol
  - DOIT
  - is_complete
  - PARSE_INT
  - PARSE_INT_3
  - parse_token
  - parse_http_version
  - parse_headers
  - parse_request
  - phr_parse_request
  - parse_response
  - phr_parse_response
  - phr_parse_headers
  - decode_hex
  - phr_decode_chunked
  - phr_decode_chunked_is_in_data
  source_file: /src/mosquitto/deps/picohttpparser/picohttpparser.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto__verify_ocsp_status_cb
  source_file: /src/mosquitto/lib/net_mosq_ocsp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/lib/read_handle.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/lib/messages_mosq.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - packet__alloc
  - packet__cleanup
  - packet__cleanup_all_no_locks
  - packet__cleanup_all
  - packet__queue_append
  - packet__queue
  - packet__check_oversize
  - packet__get_next_out
  - packet__write
  - read_header
  - packet__read_single
  - packet__read
  source_file: /src/mosquitto/lib/packet_mosq.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/lib/send_mosq.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle__auth
  source_file: /src/mosquitto/lib/handle_auth.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - send__disconnect
  source_file: /src/mosquitto/lib/send_disconnect.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto__check_keepalive
  - mosquitto__mid_generate
  - mosquitto__hex2bin_sha1
  - mosquitto__hex2bin
  - util__increment_receive_quota
  - util__increment_send_quota
  - util__decrement_receive_quota
  - util__decrement_send_quota
  - mosquitto__set_state
  - mosquitto__get_state
  - mosquitto__set_request_disconnect
  - mosquitto__get_request_disconnect
  source_file: /src/mosquitto/lib/util_mosq.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle__unsuback
  source_file: /src/mosquitto/lib/handle_unsuback.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - property__process_publish
  - handle__publish
  source_file: /src/mosquitto/lib/handle_publish.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle__packet
  source_file: /src/mosquitto/lib/read_handle.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/lib/property_mosq.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/lib/util_mosq.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/lib/will_mosq.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - WINDOWS_SET_ERRNO
  - SAFE_PRINT
  - SAFE_FREE
  - STREMPTY
  source_file: /src/mosquitto/lib/mosquitto_internal.h
  types:
    enum:
    - enumerators:
      - name: mosq_md_in
        value: '0'
      - name: mosq_md_out
        value: '1'
      item_type: enum
      name: mosquitto_msg_direction
      pos:
        line_end: 94
        line_start: 91
        source_file: /src/mosquitto/lib/mosquitto_internal.h
    - enumerators:
      - name: mosq_ms_any
        value: '-1'
      - name: mosq_ms_publish_qos1
        value: '2'
      - name: mosq_ms_publish_qos0
        value: '1'
      - name: mosq_ms_invalid
        value: '0'
      - name: mosq_ms_wait_for_puback
        value: '3'
      - name: mosq_ms_publish_qos2
        value: '4'
      - name: mosq_ms_wait_for_pubrec
        value: '5'
      - name: mosq_ms_resend_pubrel
        value: '6'
      - name: mosq_ms_wait_for_pubrel
        value: '7'
      - name: mosq_ms_resend_pubcomp
        value: '8'
      - name: mosq_ms_wait_for_pubcomp
        value: '9'
      - name: mosq_ms_send_pubrec
        value: '10'
      - name: mosq_ms_queued
        value: '11'
      item_type: enum
      name: mosquitto_msg_state
      pos:
        line_end: 110
        line_start: 96
        source_file: /src/mosquitto/lib/mosquitto_internal.h
    - enumerators:
      - name: mosq_cs_connected
        value: '1'
      - name: mosq_cs_connect_srv
        value: '5'
      - name: mosq_cs_socks5_start
        value: '9'
      - name: mosq_cs_socks5_userpass_reply
        value: '13'
      - name: mosq_cs_disconnect_with_will
        value: '18'
      - name: mosq_cs_connect_pending
        value: '4'
      - name: mosq_cs_socks5_new
        value: '8'
      - name: mosq_cs_socks5_auth_ok
        value: '12'
      - name: mosq_cs_duplicate
        value: '17'
      - name: mosq_cs_authenticating
        value: '20'
      - name: mosq_cs_delayed_auth
        value: '22'
      - name: mosq_cs_new
        value: '0'
      - name: mosq_cs_active
        value: '3'
      - name: mosq_cs_disconnected
        value: '7'
      - name: mosq_cs_socks5_reply
        value: '11'
      - name: mosq_cs_disused
        value: '19'
      - name: mosq_cs_expiring
        value: '15'
      - name: mosq_cs_disconnecting
        value: '2'
      - name: mosq_cs_disconnect_ws
        value: '6'
      - name: mosq_cs_socks5_request
        value: '10'
      - name: mosq_cs_socks5_send_userpass
        value: '14'
      - name: mosq_cs_reauthenticating
        value: '21'
      item_type: enum
      name: mosquitto_client_state
      pos:
        line_end: 135
        line_start: 112
        source_file: /src/mosquitto/lib/mosquitto_internal.h
    - enumerators:
      - name: mosq_p_invalid
        value: '0'
      - name: mosq_p_mqtt31
        value: '3'
      - name: mosq_p_mqtts
        value: '1'
      - name: mosq_p_mqtt5
        value: '5'
      - name: mosq_p_mqtt311
        value: '4'
      item_type: enum
      name: mosquitto__protocol
      pos:
        line_end: 143
        line_start: 137
        source_file: /src/mosquitto/lib/mosquitto_internal.h
    - enumerators:
      - name: mosq_ts_none
      - name: mosq_ts_self
      - name: mosq_ts_external
      item_type: enum
      name: mosquitto__threaded_state
      pos:
        line_end: 149
        line_start: 145
        source_file: /src/mosquitto/lib/mosquitto_internal.h
    - enumerators:
      - name: mosq_t_invalid
        value: '0'
      - name: mosq_t_http
        value: '4'
      - name: mosq_t_sctp
        value: '3'
      - name: mosq_t_ws
        value: '2'
      - name: mosq_t_tcp
        value: '1'
      - name: mosq_t_proxy_v2
        value: '5'
      - name: mosq_t_proxy_v1
        value: '6'
      item_type: enum
      name: mosquitto__transport
      pos:
        line_end: 159
        line_start: 151
        source_file: /src/mosquitto/lib/mosquitto_internal.h
    - enumerators:
      - name: mosq_k_pem
        value: '0'
      - name: mosq_k_engine
        value: '1'
      item_type: enum
      name: mosquitto__keyform
      pos:
        line_end: 217
        line_start: 214
        source_file: /src/mosquitto/lib/mosquitto_internal.h
    preproc_defs:
    - item_type: preproc_def
      name: WS_PACKET_OFFSET
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/mosquitto/lib/mosquitto_internal.h
      type_or_value: LWS_PRE
    - item_type: preproc_def
      name: WS_PACKET_OFFSET
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/mosquitto/lib/mosquitto_internal.h
      type_or_value: '16'
    - item_type: preproc_def
      name: MSG_EXPIRY_INFINITE
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/mosquitto/lib/mosquitto_internal.h
      type_or_value: UINT32_MAX
    - item_type: preproc_def
      name: ALIAS_DIR_L2R
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/mosquitto/lib/mosquitto_internal.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ALIAS_DIR_R2L
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/mosquitto/lib/mosquitto_internal.h
      type_or_value: '2'
    - item_type: preproc_def
      name: WS_CONTINUATION
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/mosquitto/lib/mosquitto_internal.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: WS_TEXT
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/mosquitto/lib/mosquitto_internal.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: WS_BINARY
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/mosquitto/lib/mosquitto_internal.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: WS_CLOSE
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/mosquitto/lib/mosquitto_internal.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: WS_PING
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/mosquitto/lib/mosquitto_internal.h
      type_or_value: '0x09'
    - item_type: preproc_def
      name: WS_PONG
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/mosquitto/lib/mosquitto_internal.h
      type_or_value: '0x0A'
    structs:
    - fields:
      - name: '*topic'
        type: char
      - name: alias
        type: uint16_t
      item_type: struct
      name: mosquitto__alias
      pos:
        line_end: 168
        line_start: 165
        source_file: /src/mosquitto/lib/mosquitto_internal.h
    - fields:
      - name: '*context'
        type: struct mosquitto
      - name: '*prev'
        type: struct session_expiry_list
      - name: '*next'
        type: struct session_expiry_list
      item_type: struct
      name: session_expiry_list
      pos:
        line_end: 174
        line_start: 170
        source_file: /src/mosquitto/lib/mosquitto_internal.h
    - fields:
      - name: '*next'
        type: struct mosquitto__packet
      - name: remaining_length
        type: uint32_t
      - name: packet_length
        type: uint32_t
      - name: to_process
        type: uint32_t
      - name: pos
        type: uint32_t
      - name: mid
        type: uint16_t
      - name: command
        type: uint8_t
      - name: remaining_count
        type: int8_t
      - name: payload[]
        type: uint8_t
      item_type: struct
      name: mosquitto__packet
      pos:
        line_end: 186
        line_start: 176
        source_file: /src/mosquitto/lib/mosquitto_internal.h
    - fields:
      - name: '*payload'
        type: uint8_t
      - name: remaining_mult
        type: uint32_t
      - name: remaining_length
        type: uint32_t
      - name: packet_length
        type: uint32_t
      - name: to_process
        type: uint32_t
      - name: pos
        type: uint32_t
      - name: packet_buffer_to_process
        type: uint16_t
      - name: packet_buffer_pos
        type: uint16_t
      - name: packet_buffer_size
        type: uint16_t
      - name: command
        type: uint8_t
      - name: '*packet_buffer'
        type: uint8_t
      - name: remaining_count
        type: int8_t
      item_type: struct
      name: mosquitto__packet_in
      pos:
        line_end: 201
        line_start: 188
        source_file: /src/mosquitto/lib/mosquitto_internal.h
    - fields:
      - name: '*next'
        type: struct mosquitto_message_all
      - name: '*prev'
        type: struct mosquitto_message_all
      - name: '*properties'
        type: mosquitto_property
      - name: state
        type: enum mosquitto_msg_state
      - name: dup
        type: bool
      - name: msg
        type: struct mosquitto_message
      - name: expiry_interval
        type: uint32_t
      item_type: struct
      name: mosquitto_message_all
      pos:
        line_end: 211
        line_start: 203
        source_file: /src/mosquitto/lib/mosquitto_internal.h
    - fields:
      - name: '*context'
        type: struct mosquitto
      - name: '*prev'
        type: struct will_delay_list
      - name: '*next'
        type: struct will_delay_list
      item_type: struct
      name: will_delay_list
      pos:
        line_end: 224
        line_start: 220
        source_file: /src/mosquitto/lib/mosquitto_internal.h
    - fields:
      - name: inflight_quota
        type: int
      - name: inflight_maximum
        type: uint16_t
      item_type: struct
      name: mosquitto_msg_data
      pos:
        line_end: 247
        line_start: 226
        source_file: /src/mosquitto/lib/mosquitto_internal.h
    - fields:
      - name: '*out_packet'
        type: struct mosquitto__packet
      - name: '*http_path'
        type: char
      - name: '*accept_key'
        type: char
      - name: payloadlen
        type: uint64_t
      - name: pos
        type: ssize_t
      - name: http_header_size
        type: int
      - name: maskingkey[4]
        type: uint8_t
      - name: disconnect_reason
        type: uint8_t
      - name: opcode
        type: uint8_t
      - name: mask
        type: uint8_t
      - name: mask_bytes
        type: uint8_t
      - name: payloadlen_bytes
        type: uint8_t
      - name: is_client
        type: bool
      item_type: struct
      name: ws_data
      pos:
        line_end: 272
        line_start: 258
        source_file: /src/mosquitto/lib/mosquitto_internal.h
    - fields:
      - name: '*buf'
        type: uint8_t
      - name: '*cipher'
        type: char
      - name: '*tls_version'
        type: char
      - name: len
        type: uint16_t
      - name: pos
        type: uint16_t
      - name: cmd
        type: int8_t
      - name: fam
        type: uint8_t
      - name: have_tls
        type: bool
      item_type: struct
      name: proxy_data
      pos:
        line_end: 284
        line_start: 275
        source_file: /src/mosquitto/lib/mosquitto_internal.h
    - fields:
      - name: messages_received
        type: uint64_t
      - name: messages_sent
        type: uint64_t
      - name: messages_dropped
        type: uint64_t
      item_type: struct
      name: client_stats
      pos:
        line_end: 290
        line_start: 286
        source_file: /src/mosquitto/lib/mosquitto_internal.h
    - fields:
      - name: sock
        type: mosq_sock_t
      - name: maximum_packet_size
        type: uint32_t
      - name: last_cmsg_id
        type: uint64_t
      - name: protocol
        type: enum mosquitto__protocol
      - name: '*address'
        type: char
      - name: '*id'
        type: char
      - name: '*username'
        type: char
      - name: '*password'
        type: char
      - name: id_hashv
        type: unsigned
      - name: keepalive
        type: uint16_t
      - name: last_mid
        type: uint16_t
      - name: state
        type: enum mosquitto_client_state
      - name: transport
        type: uint8_t
      - name: last_msg_in
        type: time_t
      - name: next_msg_out
        type: time_t
      - name: ping_t
        type: time_t
      - name: in_packet
        type: struct mosquitto__packet_in
      - name: '*out_packet'
        type: struct mosquitto__packet
      - name: '*will'
        type: struct mosquitto_message_all
      - name: '*aliases_l2r'
        type: struct mosquitto__alias
      - name: '*aliases_r2l'
        type: struct mosquitto__alias
      - name: '*will_delay_entry'
        type: struct will_delay_list
      - name: alias_count_l2r
        type: uint16_t
      - name: alias_count_r2l
        type: uint16_t
      - name: alias_max_l2r
        type: uint16_t
      - name: will_delay_interval
        type: uint32_t
      - name: out_packet_count
        type: int
      - name: out_packet_bytes
        type: int64_t
      - name: will_delay_time
        type: time_t
      - name: want_write
        type: bool
      - name: run
        type: bool
      - name: clean_start
        type: bool
      - name: session_expiry_time
        type: time_t
      - name: session_expiry_interval
        type: uint32_t
      - name: max_qos
        type: uint8_t
      - name: retain_available
        type: uint8_t
      - name: tcp_nodelay
        type: bool
      - name: proxy
        type: struct proxy_data
      item_type: struct
      name: mosquitto
      pos:
        line_end: 472
        line_start: 292
        source_file: /src/mosquitto/lib/mosquitto_internal.h
    typedefs:
    - item_type: typedef
      name: uint8_t
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/mosquitto/lib/mosquitto_internal.h
      type: unsigned char
    - item_type: typedef
      name: uint16_t
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/mosquitto/lib/mosquitto_internal.h
      type: unsigned short
    - item_type: typedef
      name: uint32_t
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/mosquitto/lib/mosquitto_internal.h
      type: unsigned int
    - item_type: typedef
      name: uint64_t
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/mosquitto/lib/mosquitto_internal.h
      type: unsigned long long
    - item_type: typedef
      name: mosq_sock_t
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/mosquitto/lib/mosquitto_internal.h
      type: SOCKET
    - item_type: typedef
      name: mosq_sock_t
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/mosquitto/lib/mosquitto_internal.h
      type: int
    union: []
- function_names:
  - handle__pubrel
  source_file: /src/mosquitto/lib/handle_pubrel.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/lib/alias_mosq.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle__pubackcomp
  source_file: /src/mosquitto/lib/handle_pubackcomp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - send__pingreq
  - send__pingresp
  - send__puback
  - send__pubcomp
  - send__pubrec
  - send__pubrel
  - send__command_with_mid
  - send__simple_command
  source_file: /src/mosquitto/lib/send_mosq.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - log__printf
  source_file: /src/mosquitto/lib/logging_mosq.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SSL_DATA_PENDING
  - SSL_DATA_PENDING
  source_file: /src/mosquitto/lib/tls_mosq.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - will__set
  - will__clear
  source_file: /src/mosquitto/lib/will_mosq.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - message__cleanup
  - message__cleanup_all
  - mosquitto_message_copy
  - message__delete
  - mosquitto_message_free
  - mosquitto_message_free_contents
  - message__queue
  - message__reconnect_reset
  - message__release_to_inflight
  - message__remove
  - message__retry_check
  - mosquitto_message_retry_set
  - message__out_update
  - mosquitto_max_inflight_messages_set
  source_file: /src/mosquitto/lib/messages_mosq.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - send__publish
  - send__real_publish
  source_file: /src/mosquitto/lib/send_publish.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - alias__add_l2r
  - alias__add_r2l
  - alias__find_by_alias
  - alias__find_by_topic
  - alias__free_r2l
  - alias__free_l2r
  - alias__free_all
  source_file: /src/mosquitto/lib/alias_mosq.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - socks5__network_error
  - socks5__connection_error
  - mosquitto_socks5_set
  - socks5__packet_alloc
  - socks5__send
  - socks5__read
  source_file: /src/mosquitto/lib/socks_mosq.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SOCKS_AUTH_NONE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/mosquitto/lib/socks_mosq.c
      type_or_value: 0x00U
    - item_type: preproc_def
      name: SOCKS_AUTH_GSS
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mosquitto/lib/socks_mosq.c
      type_or_value: 0x01U
    - item_type: preproc_def
      name: SOCKS_AUTH_USERPASS
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/mosquitto/lib/socks_mosq.c
      type_or_value: 0x02U
    - item_type: preproc_def
      name: SOCKS_AUTH_NO_ACCEPTABLE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/mosquitto/lib/socks_mosq.c
      type_or_value: 0xFFU
    - item_type: preproc_def
      name: SOCKS_ATYPE_IP_V4
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/mosquitto/lib/socks_mosq.c
      type_or_value: '1U '
    - item_type: preproc_def
      name: SOCKS_ATYPE_DOMAINNAME
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/mosquitto/lib/socks_mosq.c
      type_or_value: '3U '
    - item_type: preproc_def
      name: SOCKS_ATYPE_IP_V6
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/mosquitto/lib/socks_mosq.c
      type_or_value: '4U '
    - item_type: preproc_def
      name: SOCKS_REPLY_SUCCEEDED
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/mosquitto/lib/socks_mosq.c
      type_or_value: 0x00U
    - item_type: preproc_def
      name: SOCKS_REPLY_GENERAL_FAILURE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/mosquitto/lib/socks_mosq.c
      type_or_value: 0x01U
    - item_type: preproc_def
      name: SOCKS_REPLY_CONNECTION_NOT_ALLOWED
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/mosquitto/lib/socks_mosq.c
      type_or_value: 0x02U
    - item_type: preproc_def
      name: SOCKS_REPLY_NETWORK_UNREACHABLE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/mosquitto/lib/socks_mosq.c
      type_or_value: 0x03U
    - item_type: preproc_def
      name: SOCKS_REPLY_HOST_UNREACHABLE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/mosquitto/lib/socks_mosq.c
      type_or_value: 0x04U
    - item_type: preproc_def
      name: SOCKS_REPLY_CONNECTION_REFUSED
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/mosquitto/lib/socks_mosq.c
      type_or_value: 0x05U
    - item_type: preproc_def
      name: SOCKS_REPLY_TTL_EXPIRED
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/mosquitto/lib/socks_mosq.c
      type_or_value: 0x06U
    - item_type: preproc_def
      name: SOCKS_REPLY_COMMAND_NOT_SUPPORTED
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/mosquitto/lib/socks_mosq.c
      type_or_value: 0x07U
    - item_type: preproc_def
      name: SOCKS_REPLY_ADDRESS_TYPE_NOT_SUPPORTED
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/mosquitto/lib/socks_mosq.c
      type_or_value: 0x08U
    structs: []
    typedefs: []
    union: []
- function_names:
  - create_request_key
  - http_c__context_init
  - http_c__context_cleanup
  - http_c__read
  source_file: /src/mosquitto/lib/http_client.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle__suback
  source_file: /src/mosquitto/lib/handle_suback.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/lib/http_client.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ui_open
  - ui_read
  - ui_write
  - ui_close
  - setup_ui_method
  - cleanup_ui_method
  - net__get_ui_method
  - net__init
  - net__cleanup
  - net__init_tls
  - net__is_connected
  - net__socket_close
  - net__socket_shutdown
  - psk_client_callback
  - net__try_connect_step1
  - net__try_connect_step2
  - net__try_connect_tcp
  - net__try_connect_unix
  - net__try_connect
  - net__print_ssl_error
  - net__socket_connect_tls
  - net__tls_load_ca
  - net__init_ssl_ctx
  - net__socket_connect_step3
  - net__socket_connect
  - net__handle_ssl
  - net__read
  - net__write
  - net__socket_nonblock
  - net__socketpair
  - mosquitto_ssl_get
  source_file: /src/mosquitto/lib/net_mosq.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - srv_callback
  - mosquitto_connect_srv
  source_file: /src/mosquitto/lib/srv_mosq.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/lib/send_connect.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_ext_auth_continue
  source_file: /src/mosquitto/lib/extended_auth.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - send__subscribe
  source_file: /src/mosquitto/lib/send_subscribe.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle__disconnect
  source_file: /src/mosquitto/lib/handle_disconnect.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - COMPAT_CLOSE
  - COMPAT_SHUTDOWN
  - COMPAT_CLOSE
  - COMPAT_SHUTDOWN
  - MOSQ_MSB
  - MOSQ_LSB
  - ENGINE_FINISH
  source_file: /src/mosquitto/lib/net_mosq.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: COMPAT_ECONNRESET
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/mosquitto/lib/net_mosq.h
      type_or_value: WSAECONNRESET
    - item_type: preproc_def
      name: COMPAT_EINTR
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/mosquitto/lib/net_mosq.h
      type_or_value: WSAEINTR
    - item_type: preproc_def
      name: COMPAT_EWOULDBLOCK
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/mosquitto/lib/net_mosq.h
      type_or_value: WSAEWOULDBLOCK
    - item_type: preproc_def
      name: EINPROGRESS
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/mosquitto/lib/net_mosq.h
      type_or_value: WSAEINPROGRESS
    - item_type: preproc_def
      name: COMPAT_ECONNRESET
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/mosquitto/lib/net_mosq.h
      type_or_value: ECONNRESET
    - item_type: preproc_def
      name: COMPAT_EINTR
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/mosquitto/lib/net_mosq.h
      type_or_value: EINTR
    - item_type: preproc_def
      name: COMPAT_EWOULDBLOCK
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/mosquitto/lib/net_mosq.h
      type_or_value: EWOULDBLOCK
    - item_type: preproc_def
      name: INVALID_SOCKET
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/mosquitto/lib/net_mosq.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: MSG_NOSIGNAL
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/mosquitto/lib/net_mosq.h
      type_or_value: '0'
    - item_type: preproc_def
      name: ENGINE_SECRET_MODE
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/mosquitto/lib/net_mosq.h
      type_or_value: '"SECRET_MODE"'
    - item_type: preproc_def
      name: ENGINE_SECRET_MODE_SHA
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/mosquitto/lib/net_mosq.h
      type_or_value: '0x1000'
    - item_type: preproc_def
      name: ENGINE_PIN
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/mosquitto/lib/net_mosq.h
      type_or_value: '"PIN"'
    structs: []
    typedefs:
    - item_type: typedef
      name: ssize_t
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/mosquitto/lib/net_mosq.h
      type: SSIZE_T
    union: []
- function_names:
  - COMPAT_pthread_create
  - COMPAT_pthread_join
  - COMPAT_pthread_cancel
  - COMPAT_pthread_testcancel
  - COMPAT_pthread_mutex_init
  - COMPAT_pthread_mutex_destroy
  - COMPAT_pthread_mutex_lock
  - COMPAT_pthread_mutex_unlock
  source_file: /src/mosquitto/lib/pthread_compat.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_will_set
  - mosquitto_will_set_v5
  - mosquitto_will_clear
  - mosquitto_username_pw_set
  - mosquitto_reconnect_delay_set
  - mosquitto_tls_set
  - mosquitto_tls_opts_set
  - mosquitto_tls_insecure_set
  - mosquitto_string_option
  - mosquitto_tls_psk_set
  - mosquitto_opts_set
  - mosquitto_int_option
  - mosquitto_void_option
  - mosquitto_user_data_set
  - mosquitto_userdata
  source_file: /src/mosquitto/lib/options.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_subscribe
  - mosquitto_subscribe_v5
  - mosquitto_subscribe_multiple
  source_file: /src/mosquitto/lib/actions_subscribe.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/lib/callbacks.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle__pingreq
  - handle__pingresp
  source_file: /src/mosquitto/lib/handle_ping.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - property__read
  - property__read_all
  - property__write
  - property__write_all
  source_file: /src/mosquitto/lib/property_mosq.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_loop_start
  - mosquitto_loop_stop
  - mosquitto__thread_main
  - mosquitto_threaded_set
  source_file: /src/mosquitto/lib/thread_mosq.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/lib/socks_mosq.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_loop
  - interruptible_sleep
  - mosquitto_loop_forever
  - mosquitto_loop_misc
  - mosquitto__loop_rc_handle
  - mosquitto_loop_read
  - mosquitto_loop_write
  source_file: /src/mosquitto/lib/loop.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle__pubrec
  source_file: /src/mosquitto/lib/handle_pubrec.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - send__unsubscribe
  source_file: /src/mosquitto/lib/send_unsubscribe.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_message_callback
  - on_message_simple
  - mosquitto_subscribe_simple
  - mosquitto_subscribe_callback
  source_file: /src/mosquitto/lib/helpers.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*topic'
        type: char
      - name: (*callback)(struct mosquitto *, void *, const struct mosquitto_message
          *)
        type: int
      - name: '*userdata'
        type: void
      - name: qos
        type: int
      item_type: struct
      name: userdata__callback
      pos:
        line_end: 31
        line_start: 26
        source_file: /src/mosquitto/lib/helpers.c
    - fields:
      - name: '*messages'
        type: struct mosquitto_message
      - name: max_msg_count
        type: int
      - name: message_count
        type: int
      - name: want_retained
        type: bool
      item_type: struct
      name: userdata__simple
      pos:
        line_end: 38
        line_start: 33
        source_file: /src/mosquitto/lib/helpers.c
    typedefs: []
    union: []
- function_names:
  - mosquitto__server_certificate_verify
  - tls__set_verify_hostname
  source_file: /src/mosquitto/lib/tls_mosq.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_lib_version
  - mosquitto_lib_init
  - mosquitto_lib_cleanup
  - alloc_packet_buffer
  - mosquitto_new
  - mosquitto_reinitialise
  - mosquitto__destroy
  - mosquitto_destroy
  - mosquitto_socket
  - mosquitto_want_write
  source_file: /src/mosquitto/lib/libmosquitto.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/lib/logging_mosq.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto__connect_init
  - mosquitto_connect
  - mosquitto_connect_bind
  - mosquitto_connect_bind_v5
  - mosquitto_connect_async
  - mosquitto_connect_bind_async
  - mosquitto_reconnect_async
  - mosquitto_reconnect
  - get_address
  - mosquitto__reconnect
  - mosquitto_disconnect
  - mosquitto_disconnect_v5
  - do_client_disconnect
  source_file: /src/mosquitto/lib/connect.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_unsubscribe
  - mosquitto_unsubscribe_v5
  - mosquitto_unsubscribe_multiple
  source_file: /src/mosquitto/lib/actions_unsubscribe.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle__connack
  source_file: /src/mosquitto/lib/handle_connack.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - packet__read_byte
  - packet__write_byte
  - packet__read_bytes
  - packet__write_bytes
  - packet__read_binary
  - packet__read_string
  - packet__write_string
  - packet__read_uint16
  - packet__write_uint16
  - packet__read_uint32
  - packet__write_uint32
  - packet__read_varint
  - packet__write_varint
  source_file: /src/mosquitto/lib/packet_datatypes.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ws__context_init
  - ws__prepare_packet
  - read_ws_opcode
  - read_ws_payloadlen_short
  - read_ws_payloadlen_extended
  - read_ws_mask
  - net__read_ws
  - ws__create_accept_key
  source_file: /src/mosquitto/lib/net_ws.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_publish
  - mosquitto_publish_v5
  source_file: /src/mosquitto/lib/actions_publish.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/lib/packet_mosq.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_connect_callback_set
  - mosquitto_connect_with_flags_callback_set
  - mosquitto_connect_v5_callback_set
  - mosquitto_pre_connect_callback_set
  - mosquitto_disconnect_callback_set
  - mosquitto_disconnect_v5_callback_set
  - mosquitto_publish_callback_set
  - mosquitto_publish_v5_callback_set
  - mosquitto_message_callback_set
  - mosquitto_message_v5_callback_set
  - mosquitto_subscribe_callback_set
  - mosquitto_subscribe_v5_callback_set
  - mosquitto_unsubscribe_callback_set
  - mosquitto_unsubscribe_v5_callback_set
  - mosquitto_unsubscribe2_v5_callback_set
  - mosquitto_log_callback_set
  - mosquitto_ext_auth_callback_set
  - callback__on_pre_connect
  - callback__on_connect
  - callback__on_publish
  - callback__on_message
  - callback__on_subscribe
  - callback__on_unsubscribe
  - callback__on_disconnect
  - callback__on_ext_auth
  source_file: /src/mosquitto/lib/callbacks.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - UNUSED
  - mosqpp::on_pre_connect_wrapper
  - mosqpp::on_connect_wrapper
  - mosqpp::on_connect_with_flags_wrapper
  - mosqpp::on_connect_v5_wrapper
  - mosqpp::on_disconnect_wrapper
  - mosqpp::on_disconnect_v5_wrapper
  - mosqpp::on_publish_wrapper
  - mosqpp::on_publish_v5_wrapper
  - mosqpp::on_message_wrapper
  - mosqpp::on_message_v5_wrapper
  - mosqpp::on_subscribe_wrapper
  - mosqpp::on_subscribe_v5_wrapper
  - mosqpp::on_unsubscribe_wrapper
  - mosqpp::on_unsubscribe_v5_wrapper
  - mosqpp::on_ext_auth_wrapper
  - mosqpp::on_log_wrapper
  - mosqpp::lib_version
  - mosqpp::lib_init
  - mosqpp::lib_cleanup
  - mosqpp::strerror
  - mosqpp::connack_string
  - mosqpp::property_check_command
  - mosqpp::property_check_all
  - mosqpp::reason_string
  - mosqpp::sub_topic_tokenise
  - mosqpp::sub_topic_tokens_free
  - mosqpp::topic_matches_sub
  - mosqpp::topic_matches_sub_with_pattern
  - mosqpp::sub_matches_acl
  - mosqpp::sub_matches_acl_with_pattern
  - mosqpp::validate_utf8
  - mosqpp::subscribe_simple
  - mosqpp::subscribe_callback
  - mosqpp::mosquitto_callbacks_set
  - mosqpp::mosquitto_callbacks_set
  - mosqpp::mosquittopp::mosquittopp
  - mosquittopp::~mosquittopp()
  - mosqpp::mosquittopp::reinitialise
  - mosqpp::mosquittopp::connect
  - mosqpp::mosquittopp::connect
  - mosqpp::mosquittopp::connect_v5
  - mosqpp::mosquittopp::connect_async
  - mosqpp::mosquittopp::connect_async
  - mosqpp::mosquittopp::reconnect
  - mosqpp::mosquittopp::reconnect_async
  - mosqpp::mosquittopp::disconnect
  - mosqpp::mosquittopp::disconnect_v5
  - mosqpp::mosquittopp::ext_auth_continue
  - mosqpp::mosquittopp::socket
  - mosqpp::mosquittopp::will_set
  - mosqpp::mosquittopp::will_set_v5
  - mosqpp::mosquittopp::will_clear
  - mosqpp::mosquittopp::username_pw_set
  - mosqpp::mosquittopp::publish
  - mosqpp::mosquittopp::publish_v5
  - mosqpp::mosquittopp::reconnect_delay_set
  - mosqpp::mosquittopp::max_inflight_messages_set
  - mosqpp::mosquittopp::message_retry_set
  - mosqpp::mosquittopp::subscribe
  - mosqpp::mosquittopp::subscribe_v5
  - mosqpp::mosquittopp::unsubscribe
  - mosqpp::mosquittopp::unsubscribe_v5
  - mosqpp::mosquittopp::loop
  - mosqpp::mosquittopp::loop_misc
  - mosqpp::mosquittopp::loop_read
  - mosqpp::mosquittopp::loop_write
  - mosqpp::mosquittopp::loop_forever
  - mosqpp::mosquittopp::loop_start
  - mosqpp::mosquittopp::loop_stop
  - mosqpp::mosquittopp::want_write
  - mosqpp::mosquittopp::opts_set
  - mosqpp::mosquittopp::int_option
  - mosqpp::mosquittopp::string_option
  - mosqpp::mosquittopp::void_option
  - mosqpp::mosquittopp::threaded_set
  - mosqpp::mosquittopp::user_data_set
  - mosqpp::mosquittopp::socks5_set
  - mosqpp::mosquittopp::tls_set
  - mosqpp::mosquittopp::tls_opts_set
  - mosqpp::mosquittopp::tls_insecure_set
  - mosqpp::mosquittopp::tls_psk_set
  - mosqpp::on_pre_connect_wrapper
  - mosqpp::on_connect_wrapper
  - mosqpp::on_connect_with_flags_wrapper
  - mosqpp::on_connect_v5_wrapper
  - mosqpp::on_disconnect_wrapper
  - mosqpp::on_disconnect_v5_wrapper
  - mosqpp::on_publish_wrapper
  - mosqpp::on_publish_v5_wrapper
  - mosqpp::on_message_wrapper
  - mosqpp::on_message_v5_wrapper
  - mosqpp::on_subscribe_wrapper
  - mosqpp::on_subscribe_v5_wrapper
  - mosqpp::on_unsubscribe_wrapper
  - mosqpp::on_unsubscribe_v5_wrapper
  - mosqpp::on_ext_auth_wrapper
  - mosqpp::on_log_wrapper
  - mosqpp::lib_version
  - mosqpp::lib_init
  - mosqpp::lib_cleanup
  - mosqpp::strerror
  - mosqpp::connack_string
  - mosqpp::property_check_command
  - mosqpp::property_check_all
  - mosqpp::reason_string
  - mosqpp::sub_topic_tokenise
  - mosqpp::sub_topic_tokens_free
  - mosqpp::topic_matches_sub
  - mosqpp::topic_matches_sub_with_pattern
  - mosqpp::sub_matches_acl
  - mosqpp::sub_matches_acl_with_pattern
  - mosqpp::validate_utf8
  - mosqpp::subscribe_simple
  - mosqpp::subscribe_callback
  - mosqpp::mosquitto_callbacks_set
  - mosqpp::mosquitto_callbacks_set
  - mosqpp::mosquittopp::mosquittopp
  - mosquittopp::~mosquittopp()
  - mosqpp::mosquittopp::reinitialise
  - mosqpp::mosquittopp::connect
  - mosqpp::mosquittopp::connect
  - mosqpp::mosquittopp::connect_v5
  - mosqpp::mosquittopp::connect_async
  - mosqpp::mosquittopp::connect_async
  - mosqpp::mosquittopp::reconnect
  - mosqpp::mosquittopp::reconnect_async
  - mosqpp::mosquittopp::disconnect
  - mosqpp::mosquittopp::disconnect_v5
  - mosqpp::mosquittopp::ext_auth_continue
  - mosqpp::mosquittopp::socket
  - mosqpp::mosquittopp::will_set
  - mosqpp::mosquittopp::will_set_v5
  - mosqpp::mosquittopp::will_clear
  - mosqpp::mosquittopp::username_pw_set
  - mosqpp::mosquittopp::publish
  - mosqpp::mosquittopp::publish_v5
  - mosqpp::mosquittopp::reconnect_delay_set
  - mosqpp::mosquittopp::max_inflight_messages_set
  - mosqpp::mosquittopp::message_retry_set
  - mosqpp::mosquittopp::subscribe
  - mosqpp::mosquittopp::subscribe_v5
  - mosqpp::mosquittopp::unsubscribe
  - mosqpp::mosquittopp::unsubscribe_v5
  - mosqpp::mosquittopp::loop
  - mosqpp::mosquittopp::loop_misc
  - mosqpp::mosquittopp::loop_read
  - mosqpp::mosquittopp::loop_write
  - mosqpp::mosquittopp::loop_forever
  - mosqpp::mosquittopp::loop_start
  - mosqpp::mosquittopp::loop_stop
  - mosqpp::mosquittopp::want_write
  - mosqpp::mosquittopp::opts_set
  - mosqpp::mosquittopp::int_option
  - mosqpp::mosquittopp::string_option
  - mosqpp::mosquittopp::void_option
  - mosqpp::mosquittopp::threaded_set
  - mosqpp::mosquittopp::user_data_set
  - mosqpp::mosquittopp::socks5_set
  - mosqpp::mosquittopp::tls_set
  - mosqpp::mosquittopp::tls_opts_set
  - mosqpp::mosquittopp::tls_insecure_set
  - mosqpp::mosquittopp::tls_psk_set
  source_file: /src/mosquitto/lib/cpp/mosquittopp.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pw__memcmp_const
  - pw__create_argon2id
  - pw__verify_argon2id
  - pw__decode_argon2id
  - pw__hash_sha512_pbkdf2
  - pw__create_sha512_pbkdf2
  - pw__verify_sha512_pbkdf2
  - pw__encode_sha512_pbkdf2
  - pw__decode_sha512_pbkdf2
  - pw__hash_sha512
  - pw__create_sha512
  - pw__verify_sha512
  - pw__encode_sha512
  - pw__decode_sha512
  - pw__encode
  - mosquitto_pw_new
  - mosquitto_pw_hash_encoded
  - mosquitto_pw_verify
  - mosquitto_pw_set_valid
  - mosquitto_pw_is_valid
  - mosquitto_pw_decode
  - mosquitto_pw_get_encoded
  - mosquitto_pw_set_param
  - mosquitto_pw_cleanup
  source_file: /src/mosquitto/libcommon/password_common.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HASH_LEN
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/mosquitto/libcommon/password_common.c
      type_or_value: EVP_MAX_MD_SIZE
    - item_type: preproc_def
      name: HASH_LEN
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/mosquitto/libcommon/password_common.c
      type_or_value: EVP_MAX_MD_SIZE
    - item_type: preproc_def
      name: HASH_LEN
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/mosquitto/libcommon/password_common.c
      type_or_value: '64'
    - item_type: preproc_def
      name: MOSQ_ARGON2_T
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/mosquitto/libcommon/password_common.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MOSQ_ARGON2_M
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/mosquitto/libcommon/password_common.c
      type_or_value: '47104'
    - item_type: preproc_def
      name: MOSQ_ARGON2_P
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/mosquitto/libcommon/password_common.c
      type_or_value: '1'
    - item_type: preproc_def
      name: PW_DEFAULT_ITERATIONS
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/mosquitto/libcommon/password_common.c
      type_or_value: '1000'
    structs:
    - fields:
      - name: params
        type: "union {\n\t\tstruct {\n\t\t\tunsigned char password_hash[HASH_LEN];
          /* For SHA512 */\n\t\t\tunsigned char salt[HASH_LEN];\n\t\t\tsize_t salt_len;\n\t\t}
          sha512;\n\t\tstruct {\n\t\t\tunsigned char password_hash[HASH_LEN]; /* For
          SHA512 */\n\t\t\tunsigned char salt[HASH_LEN];\n\t\t\tsize_t salt_len;\n\t\t\tint
          iterations;\n\t\t} sha512_pbkdf2;\n\t\tstruct {\n\t\t\tunsigned char password_hash[HASH_LEN];\n\t\t\tunsigned
          char salt[HASH_LEN];\n\t\t\tsize_t salt_len;\n\t\t\tint iterations;\n\t\t}
          argon2id;\n\t}"
      - name: '*encoded_password'
        type: char
      - name: hashtype
        type: enum mosquitto_pwhash_type
      - name: valid
        type: bool
      item_type: struct
      name: mosquitto_pw
      pos:
        line_end: 72
        line_start: 49
        source_file: /src/mosquitto/libcommon/password_common.c
    typedefs: []
    union: []
- function_names:
  - mosquitto_validate_utf8
  source_file: /src/mosquitto/libcommon/utf8_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_time_init
  - mosquitto_time
  - mosquitto_time_ns
  - mosquitto_time_cmp
  source_file: /src/mosquitto/libcommon/time_common.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _WIN32_WINNT
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/mosquitto/libcommon/time_common.c
      type_or_value: _WIN32_WINNT_VISTA
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_properties_to_json
  source_file: /src/mosquitto/libcommon/cjson_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_getrandom
  source_file: /src/mosquitto/libcommon/random_common.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAVE_GETRANDOM
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/mosquitto/libcommon/random_common.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_pub_topic_check
  - mosquitto_pub_topic_check2
  - mosquitto_sub_topic_check
  - mosquitto_sub_topic_check2
  - topic_matches_sub
  - sub_matches_acl
  - mosquitto_sub_matches_acl
  - mosquitto_sub_matches_acl_with_pattern
  - mosquitto_topic_matches_sub
  - mosquitto_topic_matches_sub_with_pattern
  - mosquitto_topic_matches_sub2
  - mosquitto_sub_topic_tokenise
  - mosquitto_sub_topic_tokens_free
  source_file: /src/mosquitto/libcommon/topic_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - libcommon_printf
  - mosquitto_fopen
  - mosquitto_trimblanks
  - mosquitto_fgets
  - INVOKE_LOG_FN
  - mosquitto_write_file
  - mosquitto_read_file
  source_file: /src/mosquitto/libcommon/file_common.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PATH_MAX
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/mosquitto/libcommon/file_common.c
      type_or_value: MAX_PATH
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_memory_set_limit
  - mosquitto_memory_used
  - mosquitto_max_memory_used
  - mosq__get_dummy_counter
  - set_alloc_marker
  - check_alloc_marker
  - trigger_alloc_mismatch
  - free
  - set_alloc_marker
  - mosquitto_malloc
  - mosquitto_realloc
  - mosquitto_free
  - mosquitto_malloc
  - mosquitto_realloc
  - mosquitto_free
  - mosquitto_calloc
  - mosquitto_strdup
  - mosquitto_strndup
  source_file: /src/mosquitto/libcommon/memory_common.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: malloc_usable_size
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/mosquitto/libcommon/memory_common.c
      type_or_value: malloc_size
    - item_type: preproc_def
      name: ALLOC_MARKER_SIZE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/mosquitto/libcommon/memory_common.c
      type_or_value: '8'
    - item_type: preproc_def
      name: ALLOC_MARKER_SIZE
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/mosquitto/libcommon/memory_common.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_base64_encode
  - mosquitto_base64_decode
  source_file: /src/mosquitto/libcommon/base64_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_strerror
  - mosquitto_connack_string
  - mosquitto_reason_string
  - mosquitto_string_to_command
  source_file: /src/mosquitto/libcommon/strings_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mosquitto_varint_bytes
  source_file: /src/mosquitto/libcommon/mqtt_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/libcommon/property_common.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*v'
        type: char
      - name: len
        type: uint16_t
      item_type: struct
      name: mqtt__string
      pos:
        line_end: 28
        line_start: 25
        source_file: /src/mosquitto/libcommon/property_common.h
    - fields:
      - name: '*next'
        type: struct mqtt5__property
      - name: value
        type: "union {\n\t\tuint8_t i8;\n\t\tuint16_t i16;\n\t\tuint32_t i32;\n\t\tuint32_t
          varint;\n\t\tstruct mqtt__string bin;\n\t\tstruct mqtt__string s;\n\t}"
      - name: name
        type: struct mqtt__string
      - name: identifier
        type: int32_t
      - name: property_type
        type: uint8_t
      - name: client_generated
        type: bool
      item_type: struct
      name: mqtt5__property
      pos:
        line_end: 44
        line_start: 30
        source_file: /src/mosquitto/libcommon/property_common.h
    typedefs: []
    union: []
- function_names:
  - mosquitto_property_free
  - mosquitto_property_free_all
  - mosquitto_property_get_length
  - mosquitto_property_get_length_all
  - mosquitto_property_check_command
  - mosquitto_property_identifier_to_string
  - mosquitto_string_to_property_info
  - property__add
  - mosquitto_property_add_byte
  - mosquitto_property_add_int16
  - mosquitto_property_add_int32
  - mosquitto_property_add_varint
  - mosquitto_property_add_binary
  - mosquitto_property_add_string
  - mosquitto_property_add_string_pair
  - mosquitto_property_check_all
  - property__get_property
  - mosquitto_property_identifier
  - mosquitto_property_type
  - mosquitto_property *mosquitto_property_next(const mosquitto_property *proplist)
  - mosquitto_property *mosquitto_property_read_byte(const mosquitto_property *proplist,
    int identifier, uint8_t *value, bool skip_first)
  - mosquitto_property *mosquitto_property_read_int16(const mosquitto_property *proplist,
    int identifier, uint16_t *value, bool skip_first)
  - mosquitto_property *mosquitto_property_read_int32(const mosquitto_property *proplist,
    int identifier, uint32_t *value, bool skip_first)
  - mosquitto_property *mosquitto_property_read_varint(const mosquitto_property *proplist,
    int identifier, uint32_t *value, bool skip_first)
  - mosquitto_property *mosquitto_property_read_binary(const mosquitto_property *proplist,
    int identifier, void **value, uint16_t *len, bool skip_first)
  - mosquitto_property *mosquitto_property_read_string(const mosquitto_property *proplist,
    int identifier, char **value, bool skip_first)
  - mosquitto_property *mosquitto_property_read_string_pair(const mosquitto_property
    *proplist, int identifier, char **name, char **value, bool skip_first)
  - mosquitto_property_remove
  - mosquitto_property_copy_all
  - mosquitto_property_byte_value
  - mosquitto_property_int16_value
  - mosquitto_property_int32_value
  - mosquitto_property_varint_value
  - mosquitto_property_binary_value
  - mosquitto_property_binary_value_length
  - mosquitto_property_string_value
  - mosquitto_property_string_value_length
  - mosquitto_property_string_name
  - mosquitto_property_string_name_length
  - mosquitto_property_get_remaining_length
  source_file: /src/mosquitto/libcommon/property_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_connect
  - on_subscribe
  - on_message
  - main
  source_file: /src/mosquitto/examples/subscribe/basic-1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - UNUSED
  - on_connect
  - on_publish
  - get_temperature
  - publish_sensor_data
  - main
  source_file: /src/mosquitto/examples/publish/basic-websockets-1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - UNUSED
  - on_connect
  - on_publish
  - get_temperature
  - publish_sensor_data
  - main
  source_file: /src/mosquitto/examples/publish/basic-1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/examples/temperature_conversion/temperature_conversion.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mqtt_tempconv::mqtt_tempconv
  - mqtt_tempconv::~mqtt_tempconv()
  - mqtt_tempconv::on_connect
  - mqtt_tempconv::on_message
  - mqtt_tempconv::on_subscribe
  source_file: /src/mosquitto/examples/temperature_conversion/temperature_conversion.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/mosquitto/examples/temperature_conversion/main.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_message
  - main
  source_file: /src/mosquitto/examples/subscribe_simple/callback.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/mosquitto/examples/subscribe_simple/multiple.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: COUNT
      pos:
        line_end: 5
        line_start: 4
        source_file: /src/mosquitto/examples/subscribe_simple/multiple.c
      type_or_value: '3'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/mosquitto/examples/subscribe_simple/single.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle_signal
  - connect_callback
  - message_callback
  - main
  source_file: /src/mosquitto/examples/mysql_log/mysql_log.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/mosquitto/examples/mysql_log/mysql_log.c
      type_or_value: sprintf_s
    - item_type: preproc_def
      name: db_host
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/mosquitto/examples/mysql_log/mysql_log.c
      type_or_value: '"localhost"'
    - item_type: preproc_def
      name: db_username
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/mosquitto/examples/mysql_log/mysql_log.c
      type_or_value: '"mqtt_log"'
    - item_type: preproc_def
      name: db_password
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/mosquitto/examples/mysql_log/mysql_log.c
      type_or_value: '"password"'
    - item_type: preproc_def
      name: db_database
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/mosquitto/examples/mysql_log/mysql_log.c
      type_or_value: '"mqtt_log"'
    - item_type: preproc_def
      name: db_port
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/mosquitto/examples/mysql_log/mysql_log.c
      type_or_value: '3306'
    - item_type: preproc_def
      name: db_query
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/mosquitto/examples/mysql_log/mysql_log.c
      type_or_value: '"INSERT INTO mqtt_log (topic, payload) VALUES (?,?)"'
    - item_type: preproc_def
      name: mqtt_host
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/mosquitto/examples/mysql_log/mysql_log.c
      type_or_value: '"localhost"'
    - item_type: preproc_def
      name: mqtt_port
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/mosquitto/examples/mysql_log/mysql_log.c
      type_or_value: '1883'
    structs: []
    typedefs: []
    union: []
- function_names:
  - run_mosquitto_passwd
  - LLVMFuzzerTestOneInput
  source_file: /src/mosquitto/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - run_db_dump
  - LLVMFuzzerTestOneInput
  source_file: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_stats.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - run_db_dump
  - LLVMFuzzerTestOneInput
  source_file: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - run_db_dump
  - LLVMFuzzerTestOneInput
  source_file: /src/mosquitto/fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - run_dynsec
  - LLVMFuzzerTestOneInput
  source_file: /src/mosquitto/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/mosquitto/fuzzing/libcommon/libcommon_fuzz_pub_topic_check2.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/mosquitto/fuzzing/libcommon/libcommon_fuzz_topic_tokenise.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/mosquitto/fuzzing/libcommon/libcommon_fuzz_sub_topic_check2.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/mosquitto/fuzzing/libcommon/libcommon_fuzz_utf8.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fuzz_packet_read_init
  - fuzz_packet_read_cleanup
  - LLVMFuzzerTestOneInput
  source_file: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: kMaxInputLength
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_auth.cpp
      type_or_value: '100000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - fuzz_basic_auth
  - fuzz_packet_read_init
  - fuzz_packet_read_cleanup
  - LLVMFuzzerTestOneInput
  source_file: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: kMaxInputLength
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_connect.cpp
      type_or_value: '100000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/mosquitto/fuzzing/broker/broker_fuzz_password_file.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fuzz_packet_read_init
  - fuzz_packet_read_cleanup
  - LLVMFuzzerTestOneInput
  source_file: /src/mosquitto/fuzzing/broker/broker_fuzz_read_handle.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fuzz_acl_check
  - fuzz_packet_read_init
  - fuzz_packet_read_cleanup
  - LLVMFuzzerTestOneInput
  source_file: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: kMaxInputLength
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_unsubscribe.cpp
      type_or_value: '100000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/mosquitto/fuzzing/broker/broker_fuzz_psk_file.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/fuzzing/broker/broker_fuzz.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: kMinInputLength
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/mosquitto/fuzzing/broker/broker_fuzz.h
      type_or_value: '5'
    - item_type: preproc_def
      name: kMaxInputLength
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/mosquitto/fuzzing/broker/broker_fuzz.h
      type_or_value: '10000'
    structs:
    - fields:
      - name: '*data'
        type: uint8_t
      - name: size
        type: size_t
      - name: port
        type: uint16_t
      item_type: struct
      name: fuzz_data
      pos:
        line_end: 27
        line_start: 23
        source_file: /src/mosquitto/fuzzing/broker/broker_fuzz.h
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/mosquitto/fuzzing/broker/broker_fuzz_acl_file.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fuzz_acl_check
  - fuzz_packet_read_init
  - fuzz_packet_read_cleanup
  - LLVMFuzzerTestOneInput
  source_file: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_publish.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fuzz_packet_read_base
  source_file: /src/mosquitto/fuzzing/broker/fuzz_packet_read_base.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: kMinInputLength
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/mosquitto/fuzzing/broker/fuzz_packet_read_base.c
      type_or_value: '3'
    - item_type: preproc_def
      name: kMaxInputLength
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/mosquitto/fuzzing/broker/fuzz_packet_read_base.c
      type_or_value: 268435455U
    structs: []
    typedefs: []
    union: []
- function_names:
  - fuzz_acl_check
  - fuzz_packet_read_init
  - fuzz_packet_read_cleanup
  - LLVMFuzzerTestOneInput
  source_file: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: kMaxInputLength
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/mosquitto/fuzzing/broker/broker_fuzz_handle_subscribe.cpp
      type_or_value: '100000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - run_broker
  - LLVMFuzzerTestOneInput
  source_file: /src/mosquitto/fuzzing/broker/broker_fuzz_test_config.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/mosquitto/fuzzing/broker/broker_fuzz_queue_msg.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/fuzzing/broker/fuzz_packet_read_base.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: kMinInputLength
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/mosquitto/fuzzing/broker/fuzz_packet_read_base.h
      type_or_value: '3'
    - item_type: preproc_def
      name: kMaxInputLength
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/mosquitto/fuzzing/broker/fuzz_packet_read_base.h
      type_or_value: 268435455U
    structs: []
    typedefs: []
    union: []
- function_names:
  - run_broker
  - recv_timeout
  - connect_retrying
  - initialise
  - deinitialise
  - LLVMFuzzerTestOneInput
  source_file: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PORT
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/mosquitto/fuzzing/broker/broker_fuzz_with_init.cpp
      type_or_value: '1883'
    structs: []
    typedefs: []
    union: []
- function_names:
  - run_broker
  - recv_timeout
  - connect_retrying
  - LLVMFuzzerTestOneInput
  source_file: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PORT
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/mosquitto/fuzzing/broker/broker_fuzz.cpp
      type_or_value: '1883'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/client/sub_client_output.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_signal_handler
  - my_publish
  - my_message_callback
  - my_connect_callback
  - my_subscribe_callback
  - print_version
  - print_usage
  - report_latency
  - main
  source_file: /src/mosquitto/client/rr_client.c
  types:
    enum:
    - enumerators:
      - name: rr_s_new
      - name: rr_s_ready_to_publish
      - name: rr_s_subscribed
      - name: rr_s_wait_for_response
      - name: rr_s_connected
      - name: rr_s_disconnect
      item_type: enum
      name: rr__state
      pos:
        line_end: 46
        line_start: 39
        source_file: /src/mosquitto/client/rr_client.c
    preproc_defs:
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/mosquitto/client/rr_client.c
      type_or_value: sprintf_s
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/client/pub_shared.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STATUS_CONNECTING
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/mosquitto/client/pub_shared.h
      type_or_value: '0'
    - item_type: preproc_def
      name: STATUS_CONNACK_RECVD
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/mosquitto/client/pub_shared.h
      type_or_value: '1'
    - item_type: preproc_def
      name: STATUS_WAITING
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/mosquitto/client/pub_shared.h
      type_or_value: '2'
    - item_type: preproc_def
      name: STATUS_DISCONNECTING
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/mosquitto/client/pub_shared.h
      type_or_value: '3'
    - item_type: preproc_def
      name: STATUS_DISCONNECTED
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/mosquitto/client/pub_shared.h
      type_or_value: '4'
    - item_type: preproc_def
      name: STATUS_NOHOPE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/mosquitto/client/pub_shared.h
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - timeout_cb
  - my_signal_handler
  - my_message_callback
  - my_connect_callback
  - my_subscribe_callback
  - my_log_callback
  - print_version
  - print_usage
  - main
  source_file: /src/mosquitto/client/sub_client.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/mosquitto/client/sub_client.c
      type_or_value: sprintf_s
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/mosquitto/client/client_shared.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MSGMODE_NONE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/mosquitto/client/client_shared.h
      type_or_value: '0'
    - item_type: preproc_def
      name: MSGMODE_CMD
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/mosquitto/client/client_shared.h
      type_or_value: '1'
    - item_type: preproc_def
      name: MSGMODE_STDIN_LINE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/mosquitto/client/client_shared.h
      type_or_value: '2'
    - item_type: preproc_def
      name: MSGMODE_STDIN_FILE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/mosquitto/client/client_shared.h
      type_or_value: '3'
    - item_type: preproc_def
      name: MSGMODE_FILE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/mosquitto/client/client_shared.h
      type_or_value: '4'
    - item_type: preproc_def
      name: MSGMODE_NULL
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/mosquitto/client/client_shared.h
      type_or_value: '5'
    - item_type: preproc_def
      name: CLIENT_PUB
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/mosquitto/client/client_shared.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CLIENT_SUB
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/mosquitto/client/client_shared.h
      type_or_value: '2'
    - item_type: preproc_def
      name: CLIENT_RR
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/mosquitto/client/client_shared.h
      type_or_value: '3'
    - item_type: preproc_def
      name: CLIENT_RESPONSE_TOPIC
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/mosquitto/client/client_shared.h
      type_or_value: '4'
    - item_type: preproc_def
      name: PORT_UNDEFINED
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/mosquitto/client/client_shared.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: PORT_UNIX
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/mosquitto/client/client_shared.h
      type_or_value: '0'
    structs:
    - fields:
      - name: '*id'
        type: char
      - name: '*id_prefix'
        type: char
      - name: protocol_version
        type: int
      - name: keepalive
        type: int
      - name: '*host'
        type: char
      - name: port
        type: int
      - name: qos
        type: int
      - name: retain
        type: bool
      - name: pub_mode
        type: int
      - name: '*file_input'
        type: char
      - name: '*message'
        type: char
      - name: msglen
        type: int
      - name: '*topic'
        type: char
      - name: '*bind_address'
        type: char
      - name: repeat_count
        type: int
      - name: repeat_delay
        type: struct timeval
      - name: debug
        type: bool
      - name: quiet
        type: bool
      - name: max_inflight
        type: unsigned int
      - name: '*username'
        type: char
      - name: '*password'
        type: char
      - name: '*will_topic'
        type: char
      - name: '*will_payload'
        type: char
      - name: will_payloadlen
        type: int
      - name: will_qos
        type: int
      - name: will_retain
        type: bool
      - name: clean_session
        type: bool
      - name: '**topics'
        type: char
      - name: topic_count
        type: int
      - name: exit_after_sub
        type: bool
      - name: no_retain
        type: bool
      - name: retained_only
        type: bool
      - name: remove_retained
        type: bool
      - name: '**filter_outs'
        type: char
      - name: filter_out_count
        type: int
      - name: '**unsub_topics'
        type: char
      - name: unsub_topic_count
        type: int
      - name: verbose
        type: bool
      - name: eol
        type: bool
      - name: msg_count
        type: int
      - name: '*format'
        type: char
      - name: pretty
        type: bool
      - name: timeout
        type: unsigned int
      - name: sub_opts
        type: int
      - name: session_expiry_interval
        type: long
      - name: random_filter
        type: int
      - name: transport
        type: int
      - name: '*connect_props'
        type: mosquitto_property
      - name: '*publish_props'
        type: mosquitto_property
      - name: '*subscribe_props'
        type: mosquitto_property
      - name: '*unsubscribe_props'
        type: mosquitto_property
      - name: '*disconnect_props'
        type: mosquitto_property
      - name: '*will_props'
        type: mosquitto_property
      - name: '*response_topic'
        type: char
      - name: '*options_file'
        type: char
      - name: have_topic_alias
        type: bool
      - name: tcp_nodelay
        type: bool
      - name: no_tls
        type: bool
      - name: message_rate
        type: bool
      - name: measure_latency
        type: bool
      item_type: struct
      name: mosq_config
      pos:
        line_end: 146
        line_start: 53
        source_file: /src/mosquitto/client/client_shared.h
    typedefs: []
    union: []
- function_names:
  - set_repeat_time
  - check_repeat_time
  - set_repeat_time
  - check_repeat_time
  - my_disconnect_callback
  - my_publish
  - my_connect_callback
  - my_publish_callback
  - pub_shared_init
  - pub_stdin_line_loop
  - pub_other_loop
  - pub_shared_loop
  - pub_shared_cleanup
  - print_version
  - print_usage
  - main
  source_file: /src/mosquitto/client/pub_client.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/mosquitto/client/pub_client.c
      type_or_value: sprintf_s
    structs: []
    typedefs: []
    union: []
- function_names:
  - cfg_parse_property
  source_file: /src/mosquitto/client/client_props.c
  types:
    enum:
    - enumerators:
      - name: PROP_TYPE_BYTE
      - name: PROP_TYPE_INT16
      - name: PROP_TYPE_INT32
      - name: PROP_TYPE_BINARY
      - name: PROP_TYPE_STRING
      - name: PROP_TYPE_STRING_PAIR
      item_type: enum
      name: prop_type
      pos:
        line_end: 45
        line_start: 38
        source_file: /src/mosquitto/client/client_props.c
    preproc_defs:
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/mosquitto/client/client_props.c
      type_or_value: sprintf_s
    - item_type: preproc_def
      name: strncasecmp
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/mosquitto/client/client_props.c
      type_or_value: _strnicmp
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_time
  - hexsep
  - write_payload
  - json_print_properties
  - format_time_8601
  - json_print
  - formatted_print_blank
  - formatted_print_float
  - formatted_print_int
  - formatted_print_str
  - formatted_print_percent
  - formatted_print
  - rand_init
  - watch_print
  - print_message
  - output_init
  source_file: /src/mosquitto/client/sub_client_output.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/mosquitto/client/sub_client_output.c
      type_or_value: sprintf_s
    structs:
    - fields:
      - name: field_width
        type: int
      - name: precision
        type: int
      - name: hexsepchar
        type: char
      - name: align
        type: char
      - name: pad
        type: char
      item_type: struct
      name: fieldoptions
      pos:
        line_end: 63
        line_start: 57
        source_file: /src/mosquitto/client/sub_client_output.c
    - fields:
      - name: hh
        type: UT_hash_handle
      - name: '*topic'
        type: char
      - name: line
        type: int
      item_type: struct
      name: watch_topic
      pos:
        line_end: 69
        line_start: 65
        source_file: /src/mosquitto/client/sub_client_output.c
    typedefs: []
    union: []
- function_names:
  - check_format
  - init_config
  - client_config_cleanup
  - client_config_options_file
  - client_config_load
  - cfg_add_topic
  - client_config_line_proc
  - client_tls_opts_set
  - client_opts_set
  - clientid_generate
  - client_connect
  - mosquitto__urldecode
  - mosquitto__parse_socks_url
  - err_printf
  - tls_keylog_callback
  source_file: /src/mosquitto/client/client_shared.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/mosquitto/client/client_shared.c
      type_or_value: sprintf_s
    - item_type: preproc_def
      name: strncasecmp
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/mosquitto/client/client_shared.c
      type_or_value: _strnicmp
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_log_callback
  - load_stdin
  - load_file
  source_file: /src/mosquitto/client/pub_shared.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/mosquitto/client/pub_shared.c
      type_or_value: sprintf_s
    structs: []
    typedefs: []
    union: []
